xref: /llvm-project/llvm/test/MC/CSKY/jsri.s (revision 62c4dce5b4b9eef0608635aef12aac85f3ab9596)
1# RUN: llvm-mc -filetype=obj -triple=csky -mattr=+2e3  < %s \
2# RUN:     | llvm-objdump --mattr=+2e3 --no-show-raw-insn -M no-aliases -d -r - | FileCheck %s
3
4
5.data
6sec:
7    .long 0x77
8.text
9tstart:
10    jsri lnk
11    jsri lnk - 4
12    jsri lnk + 4
13    .short 0x1C00
14    jsri sec
15    jsri sec - 4
16    jsri sec + 4
17
18.J1:
19    jsri .J1
20.J2:
21    jsri .J2 - 0x1000
22.J3:
23    jsri .J3 + 0x1000
24
25    jsri 0x01020304
26    jsri 0xFFFFFFFE
27
28
29# CHECK:         0:      	jsri32  0x30
30# CHECK-NEXT:    4:      	jsri32	0x34
31# CHECK-NEXT:    8:      	jsri32	0x38
32
33# CHECK:         c:	        00 1c	.short	0x1c00
34
35# CHECK:         e:      	jsri32	0x3c
36# CHECK-NEXT:   12:         jsri32	0x40
37# CHECK-NEXT:   16:         jsri32	0x44
38
39
40
41# CHECK:    <.J1>:
42# CHECK-NEXT:   1a:         bsr32	0x1a
43
44# CHECK:    <.J2>:
45# CHECK-NEXT:   1e:         bsr32	0xfffff01e
46
47# CHECK:    <.J3>:
48# CHECK-NEXT:   22:         bsr32	0x1022
49# CHECK-NEXT:   26:         jsri32	0x54
50# CHECK-NEXT:   2a:         jsri32	0x58
51# CHECK-NEXT:   2e:         bkpt
52
53
54# CHECK:        30:      00 00 00 00     .word	0x0
55# CHECK-NEXT:   			        00000030:  R_CKCORE_ADDR32	lnk
56# CHECK-NEXT:   34:      00 00 00 00     .word	0x0
57# CHECK-NEXT:   			        00000034:  R_CKCORE_ADDR32	lnk-0x4
58# CHECK-NEXT:   38:      00 00 00 00     .word	0x0
59# CHECK-NEXT:   			        00000038:  R_CKCORE_ADDR32	lnk+0x4
60# CHECK-NEXT:   3c:      00 00 00 00     .word	0x0
61# CHECK-NEXT:   			        0000003c:  R_CKCORE_ADDR32	.data
62# CHECK-NEXT:   40:      00 00 00 00     .word	0x0
63# CHECK-NEXT:   			        00000040:  R_CKCORE_ADDR32	.data-0x4
64# CHECK-NEXT:   44:      00 00 00 00     .word	0x0
65# CHECK-NEXT:   			        00000044:  R_CKCORE_ADDR32	.data+0x4
66# CHECK-NEXT:   48:      00 00 00 00     .word	0x0
67# CHECK-NEXT:   			        00000048:  R_CKCORE_ADDR32	.text+0x1a
68# CHECK-NEXT:   4c:      00 00 00 00     .word	0x0
69# CHECK-NEXT:   			        0000004c:  R_CKCORE_ADDR32	.text-0xfe2
70# CHECK-NEXT:   50:      00 00 00 00     .word	0x0
71# CHECK-NEXT:   			        00000050:  R_CKCORE_ADDR32	.text+0x1022
72# CHECK-NEXT:   54:      04 03 02 01	 .word	0x01020304
73# CHECK-NEXT:   58:      fe ff ff ff     .word	0xfffffffe
74