1 // RUN: llvm-mc -arch=aarch64 -filetype=obj %s -o - | \ 2 // RUN: elf-dump | FileCheck -check-prefix=OBJ %s 3 4 movz x0, #:abs_g0:some_label 5 movk x0, #:abs_g0_nc:some_label 6 7 movz x3, #:abs_g1:some_label 8 movk x5, #:abs_g1_nc:some_label 9 10 movz x3, #:abs_g2:some_label 11 movk x5, #:abs_g2_nc:some_label 12 13 movz x7, #:abs_g3:some_label 14 movk x11, #:abs_g3:some_label 15 16 movz x13, #:abs_g0_s:some_label 17 movn x17, #:abs_g0_s:some_label 18 19 movz x19, #:abs_g1_s:some_label 20 movn x19, #:abs_g1_s:some_label 21 22 movz x19, #:abs_g2_s:some_label 23 movn x19, #:abs_g2_s:some_label 24 // OBJ: .rela.text 25 26 // :abs_g0: => R_AARCH64_MOVW_UABS_G0 27 // OBJ: 'r_offset', 0x0000000000000000 28 // OBJ: 'r_sym', 0x00000005 29 // OBJ-NEXT: 'r_type', 0x00000107 30 31 // :abs_g0_nc: => R_AARCH64_MOVW_UABS_G0_NC 32 // OBJ: 'r_offset', 0x0000000000000004 33 // OBJ: 'r_sym', 0x00000005 34 // OBJ-NEXT: 'r_type', 0x00000108 35 36 // :abs_g1: => R_AARCH64_MOVW_UABS_G1 37 // OBJ: 'r_offset', 0x0000000000000008 38 // OBJ: 'r_sym', 0x00000005 39 // OBJ-NEXT: 'r_type', 0x00000109 40 41 // :abs_g1_nc: => R_AARCH64_MOVW_UABS_G1_NC 42 // OBJ: 'r_offset', 0x000000000000000c 43 // OBJ: 'r_sym', 0x00000005 44 // OBJ-NEXT: 'r_type', 0x0000010a 45 46 // :abs_g2: => R_AARCH64_MOVW_UABS_G2 47 // OBJ: 'r_offset', 0x0000000000000010 48 // OBJ: 'r_sym', 0x00000005 49 // OBJ-NEXT: 'r_type', 0x0000010b 50 51 // :abs_g2_nc: => R_AARCH64_MOVW_UABS_G2_NC 52 // OBJ: 'r_offset', 0x0000000000000014 53 // OBJ: 'r_sym', 0x00000005 54 // OBJ-NEXT: 'r_type', 0x0000010c 55 56 // :abs_g3: => R_AARCH64_MOVW_UABS_G3 57 // OBJ: 'r_offset', 0x0000000000000018 58 // OBJ: 'r_sym', 0x00000005 59 // OBJ-NEXT: 'r_type', 0x0000010d 60 61 // :abs_g3: => R_AARCH64_MOVW_UABS_G3 62 // OBJ: 'r_offset', 0x000000000000001c 63 // OBJ: 'r_sym', 0x00000005 64 // OBJ-NEXT: 'r_type', 0x0000010d 65 66 // :abs_g0_s: => R_AARCH64_MOVW_SABS_G0 67 // OBJ: 'r_offset', 0x0000000000000020 68 // OBJ: 'r_sym', 0x00000005 69 // OBJ-NEXT: 'r_type', 0x0000010e 70 71 // :abs_g0_s: => R_AARCH64_MOVW_SABS_G0 72 // OBJ: 'r_offset', 0x0000000000000024 73 // OBJ: 'r_sym', 0x00000005 74 // OBJ-NEXT: 'r_type', 0x0000010e 75 76 // :abs_g1_s: => R_AARCH64_MOVW_SABS_G1 77 // OBJ: 'r_offset', 0x0000000000000028 78 // OBJ: 'r_sym', 0x00000005 79 // OBJ-NEXT: 'r_type', 0x0000010f 80 81 // :abs_g1_s: => R_AARCH64_MOVW_SABS_G1 82 // OBJ: 'r_offset', 0x000000000000002c 83 // OBJ: 'r_sym', 0x00000005 84 // OBJ-NEXT: 'r_type', 0x0000010f 85 86 // :abs_g2_s: => R_AARCH64_MOVW_SABS_G2 87 // OBJ: 'r_offset', 0x0000000000000030 88 // OBJ: 'r_sym', 0x00000005 89 // OBJ-NEXT: 'r_type', 0x00000110 90 91 // :abs_g2_s: => R_AARCH64_MOVW_SABS_G2 92 // OBJ: 'r_offset', 0x0000000000000034 93 // OBJ: 'r_sym', 0x00000005 94 // OBJ-NEXT: 'r_type', 0x00000110 95 96 // OBJ: .symtab 97 // OBJ: Symbol 5 98 // OBJ-NEXT: some_label 99