1*f6a8eb98SJun Wang// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck --check-prefixes=GFX1010,GFX10 --implicit-check-not=error: %s 2*f6a8eb98SJun Wang// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1030 %s 2>&1 | FileCheck --check-prefixes=GFX1030,GFX10 --implicit-check-not=error: %s 3*f6a8eb98SJun Wang 4*f6a8eb98SJun Wangglobal_atomic_add v2, v4, null 5*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 6*f6a8eb98SJun Wang 7*f6a8eb98SJun Wangglobal_atomic_add v0, v2, v4, null glc 8*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 9*f6a8eb98SJun Wang 10*f6a8eb98SJun Wangglobal_atomic_add_x2 v2, v[4:5], null 11*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 12*f6a8eb98SJun Wang 13*f6a8eb98SJun Wangglobal_atomic_add_x2 v[0:1], v2, v[4:5], null 14*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:42: error: invalid operand for instruction 15*f6a8eb98SJun Wang 16*f6a8eb98SJun Wangglobal_atomic_and v2, v4, null 17*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 18*f6a8eb98SJun Wang 19*f6a8eb98SJun Wangglobal_atomic_and v0, v2, v4, null 20*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 21*f6a8eb98SJun Wang 22*f6a8eb98SJun Wangglobal_atomic_and_x2 v2, v[4:5], null 23*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 24*f6a8eb98SJun Wang 25*f6a8eb98SJun Wangglobal_atomic_and_x2 v0, v2, v[4:5], null 26*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 27*f6a8eb98SJun Wang 28*f6a8eb98SJun Wangglobal_atomic_cmpswap v2, v[4:5], null 29*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 30*f6a8eb98SJun Wang 31*f6a8eb98SJun Wangglobal_atomic_cmpswap v0, v2, v[4:5], null 32*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:39: error: invalid operand for instruction 33*f6a8eb98SJun Wang 34*f6a8eb98SJun Wangglobal_atomic_cmpswap_x2 v2, v[4:7], null 35*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:38: error: invalid operand for instruction 36*f6a8eb98SJun Wang 37*f6a8eb98SJun Wangglobal_atomic_cmpswap_x2 v[0:1], v2, v[4:7], null 38*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:46: error: invalid operand for instruction 39*f6a8eb98SJun Wang 40*f6a8eb98SJun Wangglobal_atomic_csub v2, v4, null 41*f6a8eb98SJun Wang// GFX1010: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 42*f6a8eb98SJun Wang// GFX1030: :[[@LINE-2]]:28: error: invalid operand for instruction 43*f6a8eb98SJun Wang 44*f6a8eb98SJun Wangglobal_atomic_csub v0, v2, v4, null 45*f6a8eb98SJun Wang// GFX1010: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 46*f6a8eb98SJun Wang// GFX1030: :[[@LINE-2]]:32: error: invalid operand for instruction 47*f6a8eb98SJun Wang 48*f6a8eb98SJun Wangglobal_atomic_dec v2, v4, null 49*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 50*f6a8eb98SJun Wang 51*f6a8eb98SJun Wangglobal_atomic_dec v0, v2, v4, null 52*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 53*f6a8eb98SJun Wang 54*f6a8eb98SJun Wangglobal_atomic_dec_x2 v2, v[4:5], null 55*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 56*f6a8eb98SJun Wang 57*f6a8eb98SJun Wangglobal_atomic_dec_x2 v[0:1], v2, v[4:5], null 58*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:42: error: invalid operand for instruction 59*f6a8eb98SJun Wang 60*f6a8eb98SJun Wangglobal_atomic_fcmpswap v2, v[4:5], null 61*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:36: error: invalid operand for instruction 62*f6a8eb98SJun Wang 63*f6a8eb98SJun Wangglobal_atomic_fcmpswap v0, v2, v[4:5], null 64*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:40: error: invalid operand for instruction 65*f6a8eb98SJun Wang 66*f6a8eb98SJun Wangglobal_atomic_fcmpswap_x2 v2, v[4:7], null 67*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:39: error: invalid operand for instruction 68*f6a8eb98SJun Wang 69*f6a8eb98SJun Wangglobal_atomic_fcmpswap_x2 v[0:1], v2, v[4:7], null 70*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:47: error: invalid operand for instruction 71*f6a8eb98SJun Wang 72*f6a8eb98SJun Wangglobal_atomic_fmax v2, v4, null 73*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 74*f6a8eb98SJun Wang 75*f6a8eb98SJun Wangglobal_atomic_fmax v0, v2, v4, null 76*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 77*f6a8eb98SJun Wang 78*f6a8eb98SJun Wangglobal_atomic_fmax_x2 v2, v[4:5], null 79*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 80*f6a8eb98SJun Wang 81*f6a8eb98SJun Wangglobal_atomic_fmax_x2 v[0:1], v2, v[4:5], null 82*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 83*f6a8eb98SJun Wang 84*f6a8eb98SJun Wangglobal_atomic_fmin v2, v4, null 85*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 86*f6a8eb98SJun Wang 87*f6a8eb98SJun Wangglobal_atomic_fmin v0, v2, v4, null 88*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 89*f6a8eb98SJun Wang 90*f6a8eb98SJun Wangglobal_atomic_fmin_x2 v2, v[4:5], null 91*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 92*f6a8eb98SJun Wang 93*f6a8eb98SJun Wangglobal_atomic_fmin_x2 v[0:1], v2, v[4:5], null 94*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 95*f6a8eb98SJun Wang 96*f6a8eb98SJun Wangglobal_atomic_inc v2, v4, null 97*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 98*f6a8eb98SJun Wang 99*f6a8eb98SJun Wangglobal_atomic_inc v0, v2, v4, null 100*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 101*f6a8eb98SJun Wang 102*f6a8eb98SJun Wangglobal_atomic_inc_x2 v2, v[4:5], null 103*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 104*f6a8eb98SJun Wang 105*f6a8eb98SJun Wangglobal_atomic_inc_x2 v[0:1], v2, v[4:5], null 106*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:42: error: invalid operand for instruction 107*f6a8eb98SJun Wang 108*f6a8eb98SJun Wangglobal_atomic_or v2, v4, null 109*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:26: error: invalid operand for instruction 110*f6a8eb98SJun Wang 111*f6a8eb98SJun Wangglobal_atomic_or v0, v2, v4, null 112*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:30: error: invalid operand for instruction 113*f6a8eb98SJun Wang 114*f6a8eb98SJun Wangglobal_atomic_or_x2 v2, v[4:5], null 115*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:33: error: invalid operand for instruction 116*f6a8eb98SJun Wang 117*f6a8eb98SJun Wangglobal_atomic_or_x2 v[0:1], v2, v[4:5], null 118*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:41: error: invalid operand for instruction 119*f6a8eb98SJun Wang 120*f6a8eb98SJun Wangglobal_atomic_smax v2, v4, null 121*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 122*f6a8eb98SJun Wang 123*f6a8eb98SJun Wangglobal_atomic_smax v0, v2, v4, null 124*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 125*f6a8eb98SJun Wang 126*f6a8eb98SJun Wangglobal_atomic_smax_x2 v2, v[4:5], null 127*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 128*f6a8eb98SJun Wang 129*f6a8eb98SJun Wangglobal_atomic_smax_x2 v[0:1], v2, v[4:5], null 130*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 131*f6a8eb98SJun Wang 132*f6a8eb98SJun Wangglobal_atomic_smin v2, v4, null 133*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 134*f6a8eb98SJun Wang 135*f6a8eb98SJun Wangglobal_atomic_smin v0, v2, v4, null 136*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 137*f6a8eb98SJun Wang 138*f6a8eb98SJun Wangglobal_atomic_smin_x2 v2, v[4:5], null 139*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 140*f6a8eb98SJun Wang 141*f6a8eb98SJun Wangglobal_atomic_smin_x2 v[0:1], v2, v[4:5], null 142*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 143*f6a8eb98SJun Wang 144*f6a8eb98SJun Wangglobal_atomic_sub v2, v4, null 145*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 146*f6a8eb98SJun Wang 147*f6a8eb98SJun Wangglobal_atomic_sub v0, v2, v4, null 148*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 149*f6a8eb98SJun Wang 150*f6a8eb98SJun Wangglobal_atomic_sub_x2 v2, v[4:5], null 151*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 152*f6a8eb98SJun Wang 153*f6a8eb98SJun Wangglobal_atomic_sub_x2 v[0:1], v2, v[4:5], null 154*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:42: error: invalid operand for instruction 155*f6a8eb98SJun Wang 156*f6a8eb98SJun Wangglobal_atomic_swap v2, v4, null 157*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 158*f6a8eb98SJun Wang 159*f6a8eb98SJun Wangglobal_atomic_swap v0, v2, v4, null 160*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 161*f6a8eb98SJun Wang 162*f6a8eb98SJun Wangglobal_atomic_swap_x2 v2, v[4:5], null 163*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 164*f6a8eb98SJun Wang 165*f6a8eb98SJun Wangglobal_atomic_swap_x2 v[0:1], v2, v[4:5], null 166*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 167*f6a8eb98SJun Wang 168*f6a8eb98SJun Wangglobal_atomic_umax v2, v4, null 169*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 170*f6a8eb98SJun Wang 171*f6a8eb98SJun Wangglobal_atomic_umax v0, v2, v4, null 172*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 173*f6a8eb98SJun Wang 174*f6a8eb98SJun Wangglobal_atomic_umax_x2 v2, v[4:5], null 175*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 176*f6a8eb98SJun Wang 177*f6a8eb98SJun Wangglobal_atomic_umax_x2 v[0:1], v2, v[4:5], null 178*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 179*f6a8eb98SJun Wang 180*f6a8eb98SJun Wangglobal_atomic_umin v2, v4, null 181*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 182*f6a8eb98SJun Wang 183*f6a8eb98SJun Wangglobal_atomic_umin v0, v2, v4, null 184*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:32: error: invalid operand for instruction 185*f6a8eb98SJun Wang 186*f6a8eb98SJun Wangglobal_atomic_umin_x2 v2, v[4:5], null 187*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 188*f6a8eb98SJun Wang 189*f6a8eb98SJun Wangglobal_atomic_umin_x2 v[0:1], v2, v[4:5], null 190*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:43: error: invalid operand for instruction 191*f6a8eb98SJun Wang 192*f6a8eb98SJun Wangglobal_atomic_xor v2, v4, null 193*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 194*f6a8eb98SJun Wang 195*f6a8eb98SJun Wangglobal_atomic_xor v0, v2, v4, null 196*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 197*f6a8eb98SJun Wang 198*f6a8eb98SJun Wangglobal_atomic_xor_x2 v2, v[4:5], null 199*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 200*f6a8eb98SJun Wang 201*f6a8eb98SJun Wangglobal_atomic_xor_x2 v[0:1], v2, v[4:5], null 202*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:42: error: invalid operand for instruction 203*f6a8eb98SJun Wang 204*f6a8eb98SJun Wangglobal_load_dword v0, v4, null 205*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 206*f6a8eb98SJun Wang 207*f6a8eb98SJun Wangglobal_load_dwordx2 v[0:1], v4, null 208*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:33: error: invalid operand for instruction 209*f6a8eb98SJun Wang 210*f6a8eb98SJun Wangglobal_load_dwordx3 v[0:2], v4, null 211*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:33: error: invalid operand for instruction 212*f6a8eb98SJun Wang 213*f6a8eb98SJun Wangglobal_load_dwordx4 v[0:3], v4, null 214*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:33: error: invalid operand for instruction 215*f6a8eb98SJun Wang 216*f6a8eb98SJun Wangglobal_load_sbyte v0, v2, null 217*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 218*f6a8eb98SJun Wang 219*f6a8eb98SJun Wangglobal_load_sbyte_d16 v0, v2, null 220*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 221*f6a8eb98SJun Wang 222*f6a8eb98SJun Wangglobal_load_sbyte_d16_hi v0, v2, null 223*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 224*f6a8eb98SJun Wang 225*f6a8eb98SJun Wangglobal_load_short_d16 v0, v2, null 226*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 227*f6a8eb98SJun Wang 228*f6a8eb98SJun Wangglobal_load_short_d16_hi v0, v2, null 229*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 230*f6a8eb98SJun Wang 231*f6a8eb98SJun Wangglobal_load_sshort v0, v2, null 232*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 233*f6a8eb98SJun Wang 234*f6a8eb98SJun Wangglobal_load_ubyte v0, v2, null 235*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 236*f6a8eb98SJun Wang 237*f6a8eb98SJun Wangglobal_load_ubyte_d16 v0, v2, null 238*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:31: error: invalid operand for instruction 239*f6a8eb98SJun Wang 240*f6a8eb98SJun Wangglobal_load_ubyte_d16_hi v0, v2, null 241*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 242*f6a8eb98SJun Wang 243*f6a8eb98SJun Wangglobal_load_ushort v0, v2, null 244*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 245*f6a8eb98SJun Wang 246*f6a8eb98SJun Wangglobal_store_byte v0, v2, null 247*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:27: error: invalid operand for instruction 248*f6a8eb98SJun Wang 249*f6a8eb98SJun Wangglobal_store_byte_d16_hi v0, v2, null 250*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 251*f6a8eb98SJun Wang 252*f6a8eb98SJun Wangglobal_store_dword v0, v2, null 253*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 254*f6a8eb98SJun Wang 255*f6a8eb98SJun Wangglobal_store_dwordx2 v0, v[2:3], null 256*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 257*f6a8eb98SJun Wang 258*f6a8eb98SJun Wangglobal_store_dwordx3 v0, v[2:4], null 259*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 260*f6a8eb98SJun Wang 261*f6a8eb98SJun Wangglobal_store_dwordx4 v0, v[2:5], null 262*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:34: error: invalid operand for instruction 263*f6a8eb98SJun Wang 264*f6a8eb98SJun Wangglobal_store_short v0, v2, null 265*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:28: error: invalid operand for instruction 266*f6a8eb98SJun Wang 267*f6a8eb98SJun Wangglobal_store_short_d16_hi v0, v2, null 268*f6a8eb98SJun Wang// GFX10: :[[@LINE-1]]:35: error: invalid operand for instruction 269