xref: /llvm-project/llvm/test/MC/CSKY/lrw.s (revision 62c4dce5b4b9eef0608635aef12aac85f3ab9596)
1# RUN: llvm-mc -filetype=obj -triple=csky -mattr=+e2 < %s \
2# RUN:     | llvm-objdump --mattr=+e2  --no-show-raw-insn -M no-aliases -d -r - | FileCheck %s
3
4
5.data
6sec:
7    .long 0x77
8.text
9tstart:
10    lrw r0,lnk
11    lrw r0,lnk - 4
12    lrw r0,lnk + 4
13    .short 0x1C00
14    lrw r0,sec
15    lrw r0,sec - 4
16    lrw r0,sec + 4
17    lrw r0,0
18    lrw r0,0xFFFF
19    lrw r31,0
20.L1:
21    lrw r31,.L1
22.L2:
23    lrw r0, .L2
24.L3:
25    lrw r0, .L3 - 64*1024
26.L4:
27    lrw r0, .L4 + 64*1024 - 2
28
29    lrw r0,0x01020304
30    lrw r0,0xFFFFFFFE
31
32# CHECK:        0:      	lrw16	r0, 0x28
33# CHECK-NEXT:   2:      	lrw16	r0, 0x2c
34# CHECK-NEXT:   4:      	lrw16	r0, 0x30
35
36# CHECK:        6:	        00 1c	.short	0x1c00
37
38# CHECK:        8:      	lrw16	r0, 0x34
39# CHECK-NEXT:   a:      	lrw16	r0, 0x38
40# CHECK-NEXT:   c:      	lrw16	r0, 0x3c
41# CHECK-NEXT:   e:      	movi16	r0, 0
42# CHECK-NEXT:  10:      	movi32	r0, 65535
43# CHECK-NEXT:  14:      	movi32	r31, 0
44# CHECK-NEXT:  18:              lrw32	r31, 0x40
45# CHECK-NEXT:  1c:              lrw16	r0,  0x44
46# CHECK-NEXT:  1e:              lrw16	r0,  0x48
47# CHECK-NEXT:  20:              lrw16	r0,  0x4c
48# CHECK-NEXT:  22:              lrw16	r0,  0x50
49# CHECK-NEXT:  24:              lrw16	r0,  0x54
50
51# CHECK:       28:	    00 00 00 00	.word	0x00000000
52# CHECK-NEXT:       	      00000028:  R_CKCORE_ADDR32	lnk
53# CHECK-NEXT:  2c:	    00 00 00 00	.word	0x00000000
54# CHECK-NEXT:       	      0000002c:  R_CKCORE_ADDR32	lnk-0x4
55# CHECK-NEXT:  30:	    00 00 00 00	.word	0x00000000
56# CHECK-NEXT:       	      00000030:  R_CKCORE_ADDR32	lnk+0x4
57# CHECK-NEXT:  34:	    00 00 00 00	.word	0x00000000
58# CHECK-NEXT:       	      00000034:  R_CKCORE_ADDR32	.data
59# CHECK-NEXT:  38:	    00 00 00 00	.word	0x00000000
60# CHECK-NEXT:       	      00000038:  R_CKCORE_ADDR32	.data-0x4
61# CHECK-NEXT:  3c:	    00 00 00 00	.word	0x00000000
62# CHECK-NEXT:       	      0000003c:  R_CKCORE_ADDR32	.data+0x4
63# CHECK-NEXT:  40:	    00 00 00 00	.word	0x00000000
64# CHECK-NEXT:       	     00000040:  R_CKCORE_ADDR32	.text+0x18
65# CHECK-NEXT:  44:	    00 00 00 00	.word	0x00000000
66# CHECK-NEXT:       	     00000044:  R_CKCORE_ADDR32	.text+0x1c
67# CHECK-NEXT:  48:	    00 00 00 00	.word	0x00000000
68# CHECK-NEXT:       	     00000048:  R_CKCORE_ADDR32	.text-0xffe2
69# CHECK-NEXT:  4c:	    00 00 00 00	.word	0x00000000
70# CHECK-NEXT:       	     0000004c:  R_CKCORE_ADDR32	.text+0x1001e
71# CHECK-NEXT:  50:	    04 03 02 01	.word	0x01020304
72# CHECK-NEXT:  54:	    fe ff ff ff	.word	0xfffffffe
73
74