1// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck --check-prefixes=GCN,SICI --implicit-check-not=error: %s 2// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck --check-prefixes=GCN,SICI --implicit-check-not=error: %s 3// RUN: not llvm-mc -arch=amdgcn -mcpu=fiji %s 2>&1 | FileCheck --check-prefixes=GCN,VI --implicit-check-not=error: %s 4// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck --check-prefixes=GCN,GFX10 --implicit-check-not=error: %s 5 6//===----------------------------------------------------------------------===// 7// sendmsg 8//===----------------------------------------------------------------------===// 9 10s_sendmsg sendmsg(MSG_INTERRUPTX) 11// GCN: error: expected a message name or an absolute expression 12 13s_sendmsg sendmsg(1 -) 14// GCN: error: unknown token in expression 15 16s_sendmsg sendmsg(MSG_INTERRUPT, 0) 17// GCN: error: message does not support operations 18 19s_sendmsg sendmsg(MSG_INTERRUPT, 0, 0) 20// GCN: error: message does not support operations 21 22s_sendmsg sendmsg(MSG_GS) 23// GCN: error: missing message operation 24 25s_sendmsg sendmsg(MSG_GS, GS_OP_NOP) 26// GCN: error: invalid operation id 27 28s_sendmsg sendmsg(MSG_GS, SYSMSG_OP_ECC_ERR_INTERRUPT) 29// GCN: error: expected an operation name or an absolute expression 30 31s_sendmsg sendmsg(MSG_GS, 0) 32// GCN: error: invalid operation id 33 34s_sendmsg sendmsg(MSG_GS, -1) 35// GCN: error: invalid operation id 36 37s_sendmsg sendmsg(MSG_GS, 4) 38// GCN: error: invalid operation id 39 40s_sendmsg sendmsg(MSG_GS, 8) 41// GCN: error: invalid operation id 42 43s_sendmsg sendmsg(15, -1) 44// GCN: error: invalid operation id 45 46s_sendmsg sendmsg(15, 8) 47// GCN: error: invalid operation id 48 49s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 0, 0) 50// GCN: error: expected a closing parenthesis 51 52s_sendmsg sendmsg(MSG_GSX, GS_OP_CUT, 0) 53// GCN: error: expected a message name or an absolute expression 54 55s_sendmsg sendmsg(MSG_GS, GS_OP_CUTX, 0) 56// GCN: error: expected an operation name or an absolute expression 57 58s_sendmsg sendmsg(MSG_GS, 1 -) 59// GCN: error: unknown token in expression 60 61s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 4) 62// GCN: error: invalid message stream id 63 64s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 1 -) 65// GCN: error: unknown token in expression 66 67s_sendmsg sendmsg(2, 3, 0, 0) 68// GCN: error: expected a closing parenthesis 69 70s_sendmsg sendmsg(2, 2, -1) 71// GCN: error: invalid message stream id 72 73s_sendmsg sendmsg(2, 2, 4) 74// GCN: error: invalid message stream id 75 76s_sendmsg sendmsg(2, 2, 0, 0) 77// GCN: error: expected a closing parenthesis 78 79s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_NOP, 0) 80// GCN: error: message operation does not support streams 81 82s_sendmsg sendmsg(MSG_GS_DONE, 0, 0) 83// GCN: error: message operation does not support streams 84 85s_sendmsg sendmsg(MSG_SAVEWAVE) 86// SICI: error: invalid message id 87 88s_sendmsg sendmsg(MSG_STALL_WAVE_GEN) 89// SICI: error: invalid message id 90// VI: error: invalid message id 91 92s_sendmsg sendmsg(MSG_HALT_WAVES) 93// SICI: error: invalid message id 94// VI: error: invalid message id 95 96s_sendmsg sendmsg(MSG_ORDERED_PS_DONE) 97// SICI: error: invalid message id 98// VI: error: invalid message id 99 100s_sendmsg sendmsg(MSG_EARLY_PRIM_DEALLOC) 101// SICI: error: invalid message id 102// VI: error: invalid message id 103// GFX10: error: invalid message id 104 105s_sendmsg sendmsg(MSG_GS_ALLOC_REQ) 106// VI: error: invalid message id 107// SICI: error: invalid message id 108 109s_sendmsg sendmsg(MSG_GS_ALLOC_REQ, 0) 110// VI: error: invalid message id 111// SICI: error: invalid message id 112// GFX10: error: message does not support operations 113 114s_sendmsg sendmsg(MSG_GET_DOORBELL) 115// SICI: error: invalid message id 116// VI: error: invalid message id 117 118s_sendmsg sendmsg(MSG_GET_DDID) 119// SICI: error: invalid message id 120// VI: error: invalid message id 121 122s_sendmsg sendmsg(-1) 123// VI: error: invalid message id 124// SICI: error: invalid message id 125// GFX10: error: invalid message id 126 127s_sendmsg sendmsg(16) 128// VI: error: invalid message id 129// SICI: error: invalid message id 130// GFX10: error: invalid message id 131 132s_sendmsg sendmsg(MSG_SYSMSG) 133// GCN: error: missing message operation 134 135s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_ECC_ERR_INTERRUPT, 0) 136// GCN: error: message operation does not support streams 137 138s_sendmsg sendmsg(MSG_SYSMSG, 0) 139// GCN: error: invalid operation id 140 141s_sendmsg sendmsg(MSG_SYSMSG, 5) 142// GCN: error: invalid operation id 143 144//===----------------------------------------------------------------------===// 145// waitcnt 146//===----------------------------------------------------------------------===// 147 148s_waitcnt lgkmcnt(16) 149// VI: error: too large value for lgkmcnt 150// SICI: error: too large value for lgkmcnt 151 152s_waitcnt lgkmcnt(64) 153// GCN: error: too large value for lgkmcnt 154 155s_waitcnt expcnt(8) 156// GCN: error: too large value for expcnt 157 158s_waitcnt vmcnt(16) 159// VI: error: too large value for vmcnt 160// SICI: error: too large value for vmcnt 161 162s_waitcnt vmcnt(64) 163// GFX10: error: too large value for vmcnt 164// SICI: error: too large value for vmcnt 165// VI: error: too large value for vmcnt 166 167s_waitcnt vmcnt(0xFFFFFFFFFFFF0000) 168// GCN: error: too large value for vmcnt 169 170s_waitcnt vmcnt(0), expcnt(0), lgkmcnt(0), 171// GCN: error: expected a counter name 172 173s_waitcnt vmcnt(0) & expcnt(0) & lgkmcnt(0)& 174// GCN: error: expected a counter name 175 176s_waitcnt vmcnt(0) & expcnt(0) & x 177// GCN: error: expected a left parenthesis 178 179s_waitcnt vmcnt(0) & expcnt(0) x 180// GCN: error: expected a left parenthesis 181 182s_waitcnt vmcnt(0) & expcnt(0) & 1 183// GCN: error: expected a counter name 184 185s_waitcnt vmcnt(0) & expcnt(0) 1 186// GCN: error: expected a counter name 187 188s_waitcnt vmcnt(0) & expcnt(0) x(0) 189// GCN: error: invalid counter name x 190 191s_waitcnt vmcnt(x) 192// GCN: error: expected absolute expression 193 194s_waitcnt x 195// GCN: error: expected absolute expression 196 197s_waitcnt vmcnt(0 198// GCN: error: expected a closing parenthesis 199 200s_branch 0x80000000ffff 201// GCN: error: expected a 16-bit signed jump offset 202 203s_branch 0x10000 204// GCN: error: expected a 16-bit signed jump offset 205 206s_branch -32769 207// GCN: error: expected a 16-bit signed jump offset 208 209s_branch 1.0 210// GCN: error: expected a 16-bit signed jump offset 211 212s_branch s0 213// GCN: error: invalid operand for instruction 214 215s_branch offset:1 216// GCN: error: not a valid operand 217