1 # RUN: llvm-mc -filetype=obj -triple=hexagon %s | llvm-objdump -r - | FileCheck %s
3 # CHECK: R_HEX_B22_PCREL
7 # CHECK: R_HEX_B15_PCREL
9 { if
(p0
) jump
#undefined }
11 # CHECK: R_HEX_B7_PCREL
13 { loop1
(#undefined, #0) }
17 { r0.
l = #lo(undefined) }
21 { r0.h
= #hi(undefined) }
39 # CHECK: R_HEX_GPREL16_0
41 { r0 = memb
(gp+
#undefined) }
43 # CHECK: R_HEX_GPREL16_1
45 { r0 = memh
(gp+
#undefined) }
47 # CHECK: R_HEX_GPREL16_2
49 { r0 = memw
(gp+
#undefined) }
51 # CHECK: R_HEX_GPREL16_3
53 { r1:0 = memd
(gp+
#undefined) }
55 # CHECK: R_HEX_B13_PCREL
57 { if
(r0 != #0) jump:nt #undefined }
59 # CHECK: R_HEX_B9_PCREL
61 { r0 = #0 ; jump #undefined }
63 # CHECK: R_HEX_B32_PCREL_X
71 # CHECK: R_HEX_B22_PCREL_X
75 # CHECK: R_HEX_B15_PCREL_X
77 { if
(p0
) jump
##undefined }
79 # CHECK: R_HEX_B7_PCREL_X
81 { loop1
(##undefined, #0) }
83 # CHECK: R_HEX_32_PCREL
87 # CHECK: R_HEX_PLT_B22_PCREL
91 # CHECK: R_HEX_GOTREL_32
93 .word undefined@gotrel
104 # CHECK: R_HEX_DTPREL_32
106 .word undefined@dtprel
108 # CHECK: R_HEX_DTPREL_16
110 .half undefined@dtprel
113 # CHECK: R_HEX_GD_GOT_32
115 .word undefined@gdgot
117 # CHECK: R_HEX_GD_GOT_16
119 .half undefined@gdgot
126 # CHECK: R_HEX_IE_GOT_32
128 .word undefined@iegot
130 # CHECK: R_HEX_IE_GOT_16
132 .half undefined@iegot
135 # CHECK: R_HEX_TPREL_32
137 .word undefined@tprel
139 # CHECK: R_HEX_TPREL_16
141 r0 = #undefined@tprel
143 # CHECK: R_HEX_6_PCREL_X
145 { r0 = ##undefined@pcrel
148 # CHECK: R_HEX_GOTREL_32_6_X
150 { r0 = ##undefined@gotrel }
152 # CHECK: R_HEX_GOTREL_16_X
154 { r0 = ##undefined@gotrel }
156 # CHECK: R_HEX_GOTREL_11_X
158 { r0 = memw
(r0 + ##undefined@gotrel) }
160 # CHECK: R_HEX_GOT_32_6_X
162 { r0 = ##undefined@got }
164 # CHECK: R_HEX_GOT_16_X
166 { r0 = ##undefined@got }
168 # CHECK: R_HEX_GOT_11_X
170 { r0 = memw
(r0 + ##undefined@got) }
172 # CHECK: R_HEX_DTPREL_32_6_X
174 { r0 = ##undefined@dtprel }
176 # CHECK: R_HEX_DTPREL_16_X
178 { r0 = ##undefined@dtprel }
180 # CHECK: R_HEX_DTPREL_11_X
182 { r0 = memw
(r0 + ##undefined@dtprel) }
184 # CHECK: R_HEX_GD_GOT_32_6_X
186 { r0 = ##undefined@gdgot }
188 # CHECK: R_HEX_GD_GOT_16_X
190 { r0 = ##undefined@gdgot }
192 # CHECK: R_HEX_GD_GOT_11_X
194 { r0 = memw
(r0 + ##undefined@gdgot) }
196 # CHECK: R_HEX_IE_32_6_X
198 { r0 = ##undefined@ie }
200 # CHECK: R_HEX_IE_16_X
202 { r0 = ##undefined@ie }
204 # CHECK: R_HEX_IE_GOT_32_6_X
206 { r0 = ##undefined@iegot }
208 # CHECK: R_HEX_IE_GOT_16_X
210 { r0 = ##undefined@iegot }
212 # CHECK: R_HEX_IE_GOT_11_X
214 { r0 = memw
(r0 + ##undefined@iegot) }
216 # CHECK: R_HEX_TPREL_32_6_X
218 { r0 = ##undefined@tprel }
220 # CHECK: R_HEX_TPREL_16_X
222 { r0 = ##undefined@tprel }
224 # CHECK: R_HEX_TPREL_11_X
226 { r0 = memw
(r0 + ##undefined@tprel) }
228 # CHECK: R_HEX_LD_GOT_32
230 .word undefined@ldgot
232 # CHECK: R_HEX_LD_GOT_16
234 .half undefined@ldgot
237 # CHECK: R_HEX_LD_GOT_32_6_X
239 { r0 = ##undefined@ldgot }
241 # CHECK: R_HEX_LD_GOT_16_X
243 { r0 = ##undefined@ldgot }
245 # CHECK: R_HEX_LD_GOT_11_X
247 { r0 = memw
(r0 + ##undefined@ldgot) }