136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// RUN: llvm-mc -triple=arm64-linux-gnu -show-encoding -o - %s | FileCheck %s 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// RUN: llvm-mc -triple=arm64-linux-gnu -show-encoding -filetype=obj -o - %s | llvm-objdump -r - | FileCheck --check-prefix=CHECK-OBJ %s 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz x2, #:abs_g0:sym 536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk w3, #:abs_g0_nc:sym 6dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: movz x2, #:abs_g0:sym // encoding: [0bAAA00010,A,0b100AAAAA,0xd2] 7dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g0:sym, kind: fixup_aarch64_movw 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movk w3, #:abs_g0_nc:sym // encoding: [0bAAA00011,A,0b100AAAAA,0x72] 9dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g0_nc:sym, kind: fixup_aarch64_movw 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: 0 R_AARCH64_MOVW_UABS_G0 sym 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: 4 R_AARCH64_MOVW_UABS_G0_NC sym 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz x4, #:abs_g1:sym 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk w5, #:abs_g1_nc:sym 16dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: movz x4, #:abs_g1:sym // encoding: [0bAAA00100,A,0b101AAAAA,0xd2] 17dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g1:sym, kind: fixup_aarch64_movw 1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movk w5, #:abs_g1_nc:sym // encoding: [0bAAA00101,A,0b101AAAAA,0x72] 19dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g1_nc:sym, kind: fixup_aarch64_movw 2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: 8 R_AARCH64_MOVW_UABS_G1 sym 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: c R_AARCH64_MOVW_UABS_G1_NC sym 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz x6, #:abs_g2:sym 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movk x7, #:abs_g2_nc:sym 26dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: movz x6, #:abs_g2:sym // encoding: [0bAAA00110,A,0b110AAAAA,0xd2] 27dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g2:sym, kind: fixup_aarch64_movw 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movk x7, #:abs_g2_nc:sym // encoding: [0bAAA00111,A,0b110AAAAA,0xf2] 29dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g2_nc:sym, kind: fixup_aarch64_movw 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: 10 R_AARCH64_MOVW_UABS_G2 sym 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: 14 R_AARCH64_MOVW_UABS_G2_NC sym 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines movz x8, #:abs_g3:sym 35dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: movz x8, #:abs_g3:sym // encoding: [0bAAA01000,A,0b111AAAAA,0xd2] 36dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-NEXT: // fixup A - offset: 0, value: :abs_g3:sym, kind: fixup_aarch64_movw 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-OBJ: 18 R_AARCH64_MOVW_UABS_G3 sym 39