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