1 # RUN: llvm-mc -filetype=obj -triple=hexagon %s | llvm-objdump -r - | FileCheck %s 2 3 # CHECK: R_HEX_B22_PCREL 4 r_hex_b22_pcrel: 5 { jump #undefined } 6 7 # CHECK: R_HEX_B15_PCREL 8 r_hex_b15_pcrel: 9 { if (p0) jump #undefined } 10 11 # CHECK: R_HEX_B7_PCREL 12 r_hex_b7_pcrel: 13 { loop1 (#undefined, #0) } 14 15 # CHECK: R_HEX_LO16 16 r_hex_lo16: 17 { r0.l = #lo(undefined) } 18 19 # CHECK: R_HEX_HI16 20 r_hex_hi16: 21 { r0.h = #hi(undefined) } 22 23 # CHECK: R_HEX_32 24 r_hex_32: 25 .word undefined 26 27 # CHECK: R_HEX_16 28 r_hex_16: 29 .half undefined 30 .half 0 31 32 # CHECK: R_HEX_8 33 r_hex_8: 34 .byte undefined 35 .byte 0 36 .byte 0 37 .byte 0 38 39 # CHECK: R_HEX_GPREL16_0 40 r_hex_gprel16_0: 41 { r0 = memb (gp+#undefined) } 42 43 # CHECK: R_HEX_GPREL16_1 44 r_hex_gprel16_1: 45 { r0 = memh (gp+#undefined) } 46 47 # CHECK: R_HEX_GPREL16_2 48 r_hex_gprel16_2: 49 { r0 = memw (gp+#undefined) } 50 51 # CHECK: R_HEX_GPREL16_3 52 r_hex_gprel16_3: 53 { r1:0 = memd (gp+#undefined) } 54 55 # CHECK: R_HEX_B13_PCREL 56 r_hex_b13_pcrel: 57 { if (r0 != #0) jump:nt #undefined } 58 59 # CHECK: R_HEX_B9_PCREL 60 r_hex_b9_pcrel: 61 { r0 = #0 ; jump #undefined } 62 63 # CHECK: R_HEX_B32_PCREL_X 64 r_hex_b32_pcrel_x: 65 { jump ##undefined } 66 67 # CHECK: R_HEX_32_6_X 68 r_hex_32_6_x: 69 { r0 = ##undefined } 70 71 # CHECK: R_HEX_B22_PCREL_X 72 r_hex_b22_pcrel_x: 73 { jump ##undefined } 74 75 # CHECK: R_HEX_B15_PCREL_X 76 r_hex_b15_pcrel_x: 77 { if (p0) jump ##undefined } 78 79 # CHECK: R_HEX_B7_PCREL_X 80 r_hex_b7_pcrel_x: 81 { loop1 (##undefined, #0) } 82 83 # CHECK: R_HEX_32_PCREL 84 r_hex_32_pcrel: 85 .word undefined@pcrel 86 87 # CHECK: R_HEX_PLT_B22_PCREL 88 r_hex_plt_b22_pcrel: 89 jump undefined@plt 90 91 # CHECK: R_HEX_GOTREL_32 92 r_hex_gotrel_32: 93 .word undefined@gotrel 94 95 # CHECK: R_HEX_GOT_32 96 r_hex_got_32: 97 .word undefined@got 98 99 # CHECK: R_HEX_GOT_16 100 r_hex_got_16: 101 .half undefined@got 102 .half 0 103 104 # CHECK: R_HEX_DTPREL_32 105 r_hex_dtprel_32: 106 .word undefined@dtprel 107 108 # CHECK: R_HEX_DTPREL_16 109 r_hex_dtprel_16: 110 .half undefined@dtprel 111 .half 0 112 113 # CHECK: R_HEX_GD_GOT_32 114 r_hex_gd_got_32: 115 .word undefined@gdgot 116 117 # CHECK: R_HEX_GD_GOT_16 118 r_hex_gd_got_16: 119 .half undefined@gdgot 120 .half 0 121 122 # CHECK: R_HEX_IE_32 123 r_hex_ie_32: 124 .word undefined@ie 125 126 # CHECK: R_HEX_IE_GOT_32 127 r_hex_ie_got_32: 128 .word undefined@iegot 129 130 # CHECK: R_HEX_IE_GOT_16 131 r_hex_ie_got_16: 132 .half undefined@iegot 133 .half 0 134 135 # CHECK: R_HEX_TPREL_32 136 r_hex_tprel_32: 137 .word undefined@tprel 138 139 # CHECK: R_HEX_TPREL_16 140 r_hex_tprel_16: 141 r0 = #undefined@tprel 142 143 # CHECK: R_HEX_6_PCREL_X 144 r_hex_6_pcrel_x: 145 { r0 = ##undefined@pcrel 146 r1 = r1 } 147 148 # CHECK: R_HEX_GOTREL_32_6_X 149 r_hex_gotrel_32_6_x: 150 { r0 = ##undefined@gotrel } 151 152 # CHECK: R_HEX_GOTREL_16_X 153 r_hex_gotrel_16_x: 154 { r0 = ##undefined@gotrel } 155 156 # CHECK: R_HEX_GOTREL_11_X 157 r_hex_gotrel_11_x: 158 { r0 = memw(r0 + ##undefined@gotrel) } 159 160 # CHECK: R_HEX_GOT_32_6_X 161 r_hex_got_32_6_x: 162 { r0 = ##undefined@got } 163 164 # CHECK: R_HEX_GOT_16_X 165 r_hex_got_16_x: 166 { r0 = ##undefined@got } 167 168 # CHECK: R_HEX_GOT_11_X 169 r_hex_got_11_x: 170 { r0 = memw(r0 + ##undefined@got) } 171 172 # CHECK: R_HEX_DTPREL_32_6_X 173 r_hex_dtprel_32_6_x: 174 { r0 = ##undefined@dtprel } 175 176 # CHECK: R_HEX_DTPREL_16_X 177 r_hex_dtprel_16_x: 178 { r0 = ##undefined@dtprel } 179 180 # CHECK: R_HEX_DTPREL_11_X 181 r_hex_dtprel_11_x: 182 { r0 = memw(r0 + ##undefined@dtprel) } 183 184 # CHECK: R_HEX_GD_GOT_32_6_X 185 r_hex_gd_got_32_6_x: 186 { r0 = ##undefined@gdgot } 187 188 # CHECK: R_HEX_GD_GOT_16_X 189 r_hex_gd_got_16_x: 190 { r0 = ##undefined@gdgot } 191 192 # CHECK: R_HEX_GD_GOT_11_X 193 r_hex_gd_got_11_x: 194 { r0 = memw(r0 + ##undefined@gdgot) } 195 196 # CHECK: R_HEX_IE_32_6_X 197 r_hex_ie_32_6_x: 198 { r0 = ##undefined@ie } 199 200 # CHECK: R_HEX_IE_16_X 201 r_hex_ie_16_x: 202 { r0 = ##undefined@ie } 203 204 # CHECK: R_HEX_IE_GOT_32_6_X 205 r_hex_ie_got_32_6_x: 206 { r0 = ##undefined@iegot } 207 208 # CHECK: R_HEX_IE_GOT_16_X 209 r_hex_ie_got_16_x: 210 { r0 = ##undefined@iegot } 211 212 # CHECK: R_HEX_IE_GOT_11_X 213 r_hex_ie_got_11_x: 214 { r0 = memw(r0 + ##undefined@iegot) } 215 216 # CHECK: R_HEX_TPREL_32_6_X 217 r_hex_tprel_32_6_x: 218 { r0 = ##undefined@tprel } 219 220 # CHECK: R_HEX_TPREL_16_X 221 r_hex_tprel_16_x: 222 { r0 = ##undefined@tprel } 223 224 # CHECK: R_HEX_TPREL_11_X 225 r_hex_tprel_11_x: 226 { r0 = memw(r0 + ##undefined@tprel) } 227 228 # CHECK: R_HEX_LD_GOT_32 229 r_hex_ld_got_32: 230 .word undefined@ldgot 231 232 # CHECK: R_HEX_LD_GOT_16 233 r_hex_ld_got_16: 234 .half undefined@ldgot 235 .half 0 236 237 # CHECK: R_HEX_LD_GOT_32_6_X 238 r_hex_ld_got_32_6_x: 239 { r0 = ##undefined@ldgot } 240 241 # CHECK: R_HEX_LD_GOT_16_X 242 r_hex_ld_got_16_x: 243 { r0 = ##undefined@ldgot } 244 245 # CHECK: R_HEX_LD_GOT_11_X 246 r_hex_ld_got_11_x: 247 { r0 = memw(r0 + ##undefined@ldgot) } 248 249