Home | History | Annotate | Download | only in AArch64
      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