xref: /llvm-project/llvm/test/MC/M68k/Control/call-pc-rel.s (revision cf0b6df6dbf57334537f827fc8f14f2d7698c3f0)
1; RUN: llvm-mc -triple=m68k -show-encoding %s | FileCheck %s
2; RUN: llvm-mc -triple=m68k -filetype=obj < %s | \
3; RUN:     llvm-objdump -d - | FileCheck --check-prefix=CHECK-OBJ %s
4
5; CHECK-LABEL: BACKWARD:
6BACKWARD:
7	; CHECK:      nop
8	; CHECK-SAME: encoding: [0x4e,0x71]
9	nop
10	; CHECK:      rts
11	; CHECK-SAME: encoding: [0x4e,0x75]
12	rts
13
14; CHECK-LABEL: PCI:
15PCI:
16	; CHECK:     jsr  (BACKWARD,%pc,%d0)
17        ; CHECK-OBJ: jsr  (250,%pc,%d0)
18	; CHECK-SAME: encoding: [0x4e,0xbb,0x08,A]
19        ; CHECK:      fixup A - offset: 3, value: BACKWARD+1, kind: FK_PCRel_1
20	jsr	(BACKWARD,%pc,%d0)
21	; CHECK:     jsr  (FORWARD,%pc,%d0)
22        ; CHECK-OBJ: jsr  (10,%pc,%d0)
23	; CHECK-SAME: encoding: [0x4e,0xbb,0x08,A]
24        ; CHECK:      fixup A - offset: 3, value: FORWARD+1, kind: FK_PCRel_1
25	jsr	(FORWARD,%pc,%d0)
26
27; CHECK-LABEL: PCD:
28PCD:
29	; CHECK:     jsr  (BACKWARD,%pc)
30	; CHECK-OBJ: jsr  (65522,%pc)
31	; CHECK-SAME: encoding: [0x4e,0xba,A,A]
32        ; CHECK:      fixup A - offset: 2, value: BACKWARD, kind: FK_PCRel_2
33	jsr	(BACKWARD,%pc)
34	; CHECK:     jsr  (FORWARD,%pc)
35	; CHECK-OBJ: jsr  (2,%pc)
36	; CHECK-SAME: encoding: [0x4e,0xba,A,A]
37        ; CHECK:      fixup A - offset: 2, value: FORWARD, kind: FK_PCRel_2
38	jsr	(FORWARD,%pc)
39
40; CHECK-LABEL: FORWARD:
41FORWARD:
42	; CHECK:      nop
43	; CHECK-SAME: encoding: [0x4e,0x71]
44	nop
45	; CHECK:      rts
46	; CHECK-SAME: encoding: [0x4e,0x75]
47	rts
48