1
2# RUN: llvm-mc -triple s390x-unknown-unknown -mcpu=zEC12 --show-encoding %s | FileCheck %s
3
4# RUN: llvm-mc -triple s390x-unknown-unknown -mcpu=zEC12 -filetype=obj %s | \
5# RUN: llvm-readobj -r - | FileCheck %s -check-prefix=CHECK-REL
6
7# CHECK: bpp 12, branch, 0                      # encoding: [0xc7,0xc0,0x00,0x00,A,A]
8# CHECK:                                        # fixup A - offset: 4, value: branch+4, kind: FK_390_PC16DBL
9# CHECK-REL:                                    0x{{[0-9A-F]*4}} R_390_PC16DBL branch 0x4
10	.align 16
11        bpp 12, branch, 0
12
13# CHECK: bpp 12, branch@PLT, 0                  # encoding: [0xc7,0xc0,0x00,0x00,A,A]
14# CHECK:                                        # fixup A - offset: 4, value: branch@PLT+4, kind: FK_390_PC16DBL
15# CHECK-REL:                                    0x{{[0-9A-F]*4}} R_390_PLT16DBL branch 0x4
16	.align 16
17        bpp 12, branch@plt, 0
18
19# CHECK: bprp 12, branch, target                # encoding: [0xc5,0b1100AAAA,A,B,B,B]
20# CHECK-NEXT:                                   # fixup A - offset: 1, value: branch+1, kind: FK_390_PC12DBL
21# CHECK-NEXT:                                   # fixup B - offset: 3, value: target+3, kind: FK_390_PC24DBL
22# CHECK-REL:                                    0x{{[0-9A-F]*1}} R_390_PC12DBL branch 0x1
23# CHECK-REL:                                    0x{{[0-9A-F]*3}} R_390_PC24DBL target 0x3
24	.align 16
25	bprp 12, branch, target
26
27# CHECK: bprp 12, branch@PLT, target@PLT        # encoding: [0xc5,0b1100AAAA,A,B,B,B]
28# CHECK-NEXT:                                   # fixup A - offset: 1, value: branch@PLT+1, kind: FK_390_PC12DBL
29# CHECK-NEXT:                                   # fixup B - offset: 3, value: target@PLT+3, kind: FK_390_PC24DBL
30# CHECK-REL:                                    0x{{[0-9A-F]*1}} R_390_PLT12DBL branch 0x1
31# CHECK-REL:                                    0x{{[0-9A-F]*3}} R_390_PLT24DBL target 0x3
32	.align 16
33	bprp 12, branch@plt, target@plt
34
35