1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -filetype=obj -triple=hexagon %s | llvm-objdump -r - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B22_PCREL 4*9880d681SAndroid Build Coastguard Workerr_hex_b22_pcrel: 5*9880d681SAndroid Build Coastguard Worker{ jump #undefined } 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B15_PCREL 8*9880d681SAndroid Build Coastguard Workerr_hex_b15_pcrel: 9*9880d681SAndroid Build Coastguard Worker{ if (p0) jump #undefined } 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B7_PCREL 12*9880d681SAndroid Build Coastguard Workerr_hex_b7_pcrel: 13*9880d681SAndroid Build Coastguard Worker{ loop1 (#undefined, #0) } 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_32 16*9880d681SAndroid Build Coastguard Workerr_hex_32: 17*9880d681SAndroid Build Coastguard Worker.word undefined 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_16 20*9880d681SAndroid Build Coastguard Workerr_hex_16: 21*9880d681SAndroid Build Coastguard Worker.half undefined 22*9880d681SAndroid Build Coastguard Worker.half 0 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_8 25*9880d681SAndroid Build Coastguard Workerr_hex_8: 26*9880d681SAndroid Build Coastguard Worker.byte undefined 27*9880d681SAndroid Build Coastguard Worker.byte 0 28*9880d681SAndroid Build Coastguard Worker.byte 0 29*9880d681SAndroid Build Coastguard Worker.byte 0 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GPREL16_0 32*9880d681SAndroid Build Coastguard Workerr_hex_gprel16_0: 33*9880d681SAndroid Build Coastguard Worker{ r0 = memb (#undefined@gotrel) } 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GPREL16_1 36*9880d681SAndroid Build Coastguard Workerr_hex_gprel16_1: 37*9880d681SAndroid Build Coastguard Worker{ r0 = memh (#undefined@gotrel) } 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GPREL16_2 40*9880d681SAndroid Build Coastguard Workerr_hex_gprel16_2: 41*9880d681SAndroid Build Coastguard Worker{ r0 = memw (#undefined@gotrel) } 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GPREL16_3 44*9880d681SAndroid Build Coastguard Workerr_hex_gprel16_3: 45*9880d681SAndroid Build Coastguard Worker{ r1:0 = memd (#undefined@gotrel) } 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B13_PCREL 48*9880d681SAndroid Build Coastguard Workerr_hex_b13_pcrel: 49*9880d681SAndroid Build Coastguard Worker{ if (r0 != #0) jump:nt #undefined } 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B9_PCREL 52*9880d681SAndroid Build Coastguard Workerr_hex_b9_pcrel: 53*9880d681SAndroid Build Coastguard Worker{ r0 = #0 ; jump #undefined } 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B32_PCREL_X 56*9880d681SAndroid Build Coastguard Workerr_hex_b32_pcrel_x: 57*9880d681SAndroid Build Coastguard Worker{ jump ##undefined } 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_32_6_X 60*9880d681SAndroid Build Coastguard Workerr_hex_32_6_x: 61*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined } 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B22_PCREL_X 64*9880d681SAndroid Build Coastguard Workerr_hex_b22_pcrel_x: 65*9880d681SAndroid Build Coastguard Worker{ jump ##undefined } 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B15_PCREL_X 68*9880d681SAndroid Build Coastguard Workerr_hex_b15_pcrel_x: 69*9880d681SAndroid Build Coastguard Worker{ if (p0) jump ##undefined } 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B9_PCREL_X 72*9880d681SAndroid Build Coastguard Workerr_hex_b9_pcrel_x: 73*9880d681SAndroid Build Coastguard Worker{ r0 = #0 ; jump ##undefined } 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_B7_PCREL_X 76*9880d681SAndroid Build Coastguard Workerr_hex_b7_pcrel_x: 77*9880d681SAndroid Build Coastguard Worker{ loop1 (##undefined, #0) } 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_32_PCREL 80*9880d681SAndroid Build Coastguard Workerr_hex_32_pcrel: 81*9880d681SAndroid Build Coastguard Worker.word undefined@pcrel 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_PLT_B22_PCREL 84*9880d681SAndroid Build Coastguard Workerr_hex_plt_b22_pcrel: 85*9880d681SAndroid Build Coastguard Workerjump undefined@plt 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOTREL_32 88*9880d681SAndroid Build Coastguard Workerr_hex_gotrel_32: 89*9880d681SAndroid Build Coastguard Worker.word undefined@gotrel 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOT_32 92*9880d681SAndroid Build Coastguard Workerr_hex_got_32: 93*9880d681SAndroid Build Coastguard Worker.word undefined@got 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOT_16 96*9880d681SAndroid Build Coastguard Workerr_hex_got_16: 97*9880d681SAndroid Build Coastguard Worker.half undefined@got 98*9880d681SAndroid Build Coastguard Worker.half 0 99*9880d681SAndroid Build Coastguard Worker 100*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_DTPREL_32 101*9880d681SAndroid Build Coastguard Workerr_hex_dtprel_32: 102*9880d681SAndroid Build Coastguard Worker.word undefined@dtprel 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_DTPREL_16 105*9880d681SAndroid Build Coastguard Workerr_hex_dtprel_16: 106*9880d681SAndroid Build Coastguard Worker.half undefined@dtprel 107*9880d681SAndroid Build Coastguard Worker.half 0 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GD_GOT_32 110*9880d681SAndroid Build Coastguard Workerr_hex_gd_got_32: 111*9880d681SAndroid Build Coastguard Worker.word undefined@gdgot 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GD_GOT_16 114*9880d681SAndroid Build Coastguard Workerr_hex_gd_got_16: 115*9880d681SAndroid Build Coastguard Worker.half undefined@gdgot 116*9880d681SAndroid Build Coastguard Worker.half 0 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_32 119*9880d681SAndroid Build Coastguard Workerr_hex_ie_32: 120*9880d681SAndroid Build Coastguard Worker.word undefined@ie 121*9880d681SAndroid Build Coastguard Worker 122*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_GOT_32 123*9880d681SAndroid Build Coastguard Workerr_hex_ie_got_32: 124*9880d681SAndroid Build Coastguard Worker.word undefined@iegot 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_GOT_16 127*9880d681SAndroid Build Coastguard Workerr_hex_ie_got_16: 128*9880d681SAndroid Build Coastguard Worker.half undefined@iegot 129*9880d681SAndroid Build Coastguard Worker.half 0 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_TPREL_32 132*9880d681SAndroid Build Coastguard Workerr_hex_tprel_32: 133*9880d681SAndroid Build Coastguard Worker.word undefined@tprel 134*9880d681SAndroid Build Coastguard Worker 135*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_TPREL_16 136*9880d681SAndroid Build Coastguard Workerr_hex_tprel_16: 137*9880d681SAndroid Build Coastguard Workerr0 = #undefined@tprel 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_6_PCREL_X 140*9880d681SAndroid Build Coastguard Workerr_hex_6_pcrel_x: 141*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@pcrel 142*9880d681SAndroid Build Coastguard Worker r1 = r1 } 143*9880d681SAndroid Build Coastguard Worker 144*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOTREL_32_6_X 145*9880d681SAndroid Build Coastguard Workerr_hex_gotrel_32_6_x: 146*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@gotrel } 147*9880d681SAndroid Build Coastguard Worker 148*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOTREL_16_X 149*9880d681SAndroid Build Coastguard Workerr_hex_gotrel_16_x: 150*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@gotrel } 151*9880d681SAndroid Build Coastguard Worker 152*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOTREL_11_X 153*9880d681SAndroid Build Coastguard Workerr_hex_gotrel_11_x: 154*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@gotrel) } 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOT_32_6_X 157*9880d681SAndroid Build Coastguard Workerr_hex_got_32_6_x: 158*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@got } 159*9880d681SAndroid Build Coastguard Worker 160*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOT_16_X 161*9880d681SAndroid Build Coastguard Workerr_hex_got_16_x: 162*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@got } 163*9880d681SAndroid Build Coastguard Worker 164*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GOT_11_X 165*9880d681SAndroid Build Coastguard Workerr_hex_got_11_x: 166*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@got) } 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_DTPREL_32_6_X 169*9880d681SAndroid Build Coastguard Workerr_hex_dtprel_32_6_x: 170*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@dtprel } 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_DTPREL_16_X 173*9880d681SAndroid Build Coastguard Workerr_hex_dtprel_16_x: 174*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@dtprel } 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_DTPREL_11_X 177*9880d681SAndroid Build Coastguard Workerr_hex_dtprel_11_x: 178*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@dtprel) } 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GD_GOT_32_6_X 181*9880d681SAndroid Build Coastguard Workerr_hex_gd_got_32_6_x: 182*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@gdgot } 183*9880d681SAndroid Build Coastguard Worker 184*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GD_GOT_16_X 185*9880d681SAndroid Build Coastguard Workerr_hex_gd_got_16_x: 186*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@gdgot } 187*9880d681SAndroid Build Coastguard Worker 188*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_GD_GOT_11_X 189*9880d681SAndroid Build Coastguard Workerr_hex_gd_got_11_x: 190*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@gdgot) } 191*9880d681SAndroid Build Coastguard Worker 192*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_32_6_X 193*9880d681SAndroid Build Coastguard Workerr_hex_ie_32_6_x: 194*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@ie } 195*9880d681SAndroid Build Coastguard Worker 196*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_16_X 197*9880d681SAndroid Build Coastguard Workerr_hex_ie_16_x: 198*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@ie } 199*9880d681SAndroid Build Coastguard Worker 200*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_GOT_32_6_X 201*9880d681SAndroid Build Coastguard Workerr_hex_ie_got_32_6_x: 202*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@iegot } 203*9880d681SAndroid Build Coastguard Worker 204*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_GOT_16_X 205*9880d681SAndroid Build Coastguard Workerr_hex_ie_got_16_x: 206*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@iegot } 207*9880d681SAndroid Build Coastguard Worker 208*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_IE_GOT_11_X 209*9880d681SAndroid Build Coastguard Workerr_hex_ie_got_11_x: 210*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@iegot) } 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_TPREL_32_6_X 213*9880d681SAndroid Build Coastguard Workerr_hex_tprel_32_6_x: 214*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@tprel } 215*9880d681SAndroid Build Coastguard Worker 216*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_TPREL_16_X 217*9880d681SAndroid Build Coastguard Workerr_hex_tprel_16_x: 218*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@tprel } 219*9880d681SAndroid Build Coastguard Worker 220*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_TPREL_11_X 221*9880d681SAndroid Build Coastguard Workerr_hex_tprel_11_x: 222*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@tprel) } 223*9880d681SAndroid Build Coastguard Worker 224*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_LD_GOT_32 225*9880d681SAndroid Build Coastguard Workerr_hex_ld_got_32: 226*9880d681SAndroid Build Coastguard Worker.word undefined@ldgot 227*9880d681SAndroid Build Coastguard Worker 228*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_LD_GOT_16 229*9880d681SAndroid Build Coastguard Workerr_hex_ld_got_16: 230*9880d681SAndroid Build Coastguard Worker.half undefined@ldgot 231*9880d681SAndroid Build Coastguard Worker.half 0 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_LD_GOT_32_6_X 234*9880d681SAndroid Build Coastguard Workerr_hex_ld_got_32_6_x: 235*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@ldgot } 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_LD_GOT_16_X 238*9880d681SAndroid Build Coastguard Workerr_hex_ld_got_16_x: 239*9880d681SAndroid Build Coastguard Worker{ r0 = ##undefined@ldgot } 240*9880d681SAndroid Build Coastguard Worker 241*9880d681SAndroid Build Coastguard Worker# CHECK: R_HEX_LD_GOT_11_X 242*9880d681SAndroid Build Coastguard Workerr_hex_ld_got_11_x: 243*9880d681SAndroid Build Coastguard Worker{ r0 = memw(r0 + ##undefined@ldgot) } 244*9880d681SAndroid Build Coastguard Worker 245