xref: /aosp_15_r20/external/llvm/test/MC/AArch64/arm64-large-relocs.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=arm64-linux-gnu -show-encoding -o - %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=arm64-linux-gnu -show-encoding -filetype=obj -o - %s | llvm-objdump -r - | FileCheck --check-prefix=CHECK-OBJ %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker        movz x2, #:abs_g0:sym
5*9880d681SAndroid Build Coastguard Worker        movk w3, #:abs_g0_nc:sym
6*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x2, #:abs_g0:sym        // encoding: [0bAAA00010,A,0b100AAAAA,0xd2]
7*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g0:sym, kind: fixup_aarch64_movw
8*9880d681SAndroid Build Coastguard Worker// CHECK: movk     w3, #:abs_g0_nc:sym    // encoding: [0bAAA00011,A,0b100AAAAA,0x72]
9*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g0_nc:sym, kind: fixup_aarch64_movw
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: 0 R_AARCH64_MOVW_UABS_G0 sym
12*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: 4 R_AARCH64_MOVW_UABS_G0_NC sym
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker        movz x4, #:abs_g1:sym
15*9880d681SAndroid Build Coastguard Worker        movk w5, #:abs_g1_nc:sym
16*9880d681SAndroid Build Coastguard Worker// CHECK: movz     x4, #:abs_g1:sym       // encoding: [0bAAA00100,A,0b101AAAAA,0xd2]
17*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g1:sym, kind: fixup_aarch64_movw
18*9880d681SAndroid Build Coastguard Worker// CHECK: movk     w5, #:abs_g1_nc:sym    // encoding: [0bAAA00101,A,0b101AAAAA,0x72]
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g1_nc:sym, kind: fixup_aarch64_movw
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: 8 R_AARCH64_MOVW_UABS_G1 sym
22*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: c R_AARCH64_MOVW_UABS_G1_NC sym
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker        movz x6, #:abs_g2:sym
25*9880d681SAndroid Build Coastguard Worker        movk x7, #:abs_g2_nc:sym
26*9880d681SAndroid Build Coastguard Worker// CHECK: movz     x6, #:abs_g2:sym       // encoding: [0bAAA00110,A,0b110AAAAA,0xd2]
27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g2:sym, kind: fixup_aarch64_movw
28*9880d681SAndroid Build Coastguard Worker// CHECK: movk     x7, #:abs_g2_nc:sym    // encoding: [0bAAA00111,A,0b110AAAAA,0xf2]
29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g2_nc:sym, kind: fixup_aarch64_movw
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: 10 R_AARCH64_MOVW_UABS_G2 sym
32*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: 14 R_AARCH64_MOVW_UABS_G2_NC sym
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker        movz x8, #:abs_g3:sym
35*9880d681SAndroid Build Coastguard Worker// CHECK: movz     x8, #:abs_g3:sym       // encoding: [0bAAA01000,A,0b111AAAAA,0xd2]
36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                            //   fixup A - offset: 0, value: :abs_g3:sym, kind: fixup_aarch64_movw
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker// CHECK-OBJ: 18 R_AARCH64_MOVW_UABS_G3 sym
39