Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 1 | // RUN: not llvm-mc -arch=amdgcn -show-encoding %s 2>&1 | FileCheck --check-prefix=GCN --check-prefix=SICI %s |
Matt Arsenault | 36b4b0b | 2017-08-07 18:30:35 +0000 | [diff] [blame] | 2 | // RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s 2>&1 | FileCheck --check-prefix=GCN --check-prefix=SICI %s |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 3 | // RUN: not llvm-mc -arch=amdgcn -mcpu=fiji -show-encoding %s 2>&1 | FileCheck --check-prefix=GCN --check-prefix=VI %s |
| 4 | |
| 5 | s_sendmsg sendmsg(11) |
| 6 | // GCN: error: invalid/unsupported code of message |
| 7 | |
| 8 | s_sendmsg sendmsg(MSG_INTERRUPTX) |
| 9 | // GCN: error: invalid/unsupported symbolic name of message |
| 10 | |
| 11 | s_sendmsg sendmsg(MSG_INTERRUPT, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 12 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 13 | |
| 14 | s_sendmsg sendmsg(MSG_GS) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 15 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 16 | |
| 17 | s_sendmsg sendmsg(MSG_GS, GS_OP_NOP) |
| 18 | // GCN: error: invalid GS_OP: NOP is for GS_DONE only |
| 19 | |
| 20 | s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 0, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 21 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 22 | |
| 23 | s_sendmsg sendmsg(MSG_GSX, GS_OP_CUT, 0) |
| 24 | // GCN: error: invalid/unsupported symbolic name of message |
| 25 | |
| 26 | s_sendmsg sendmsg(MSG_GS, GS_OP_CUTX, 0) |
| 27 | // GCN: error: invalid symbolic name of GS_OP |
| 28 | |
| 29 | s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 4) |
| 30 | // GCN: error: invalid stream id: only 2-bit values are legal |
| 31 | |
| 32 | s_sendmsg sendmsg(2) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 33 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 34 | |
| 35 | s_sendmsg sendmsg(2, 0) |
| 36 | // GCN: error: invalid GS_OP: NOP is for GS_DONE only |
| 37 | |
| 38 | s_sendmsg sendmsg(2, 3, 0, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 39 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 40 | |
| 41 | s_sendmsg sendmsg(2, 4, 1) |
| 42 | // GCN: error: invalid code of GS_OP: only 2-bit values are legal |
| 43 | |
| 44 | s_sendmsg sendmsg(2, 2, 4) |
| 45 | // GCN: error: invalid stream id: only 2-bit values are legal |
| 46 | |
| 47 | s_sendmsg sendmsg(2, 2, 0, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 48 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 49 | |
| 50 | s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_NOP, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 51 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 52 | |
| 53 | s_sendmsg sendmsg(15) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 54 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 55 | |
| 56 | s_sendmsg sendmsg(15, 1, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 57 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 58 | |
| 59 | s_sendmsg sendmsg(15, 0) |
| 60 | // GCN: error: invalid/unsupported code of SYSMSG_OP |
| 61 | |
| 62 | s_sendmsg sendmsg(15, 5) |
| 63 | // GCN: error: invalid/unsupported code of SYSMSG_OP |
| 64 | |
| 65 | s_sendmsg sendmsg(MSG_SYSMSG) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 66 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 67 | |
| 68 | s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_ECC_ERR_INTERRUPT, 0) |
Artem Tamazov | 6edc135 | 2016-05-26 17:00:33 +0000 | [diff] [blame] | 69 | // GCN: error: failed parsing operand |
Artem Tamazov | ebe71ce | 2016-05-06 17:48:48 +0000 | [diff] [blame] | 70 | |
| 71 | s_sendmsg sendmsg(MSG_SYSMSG, 0) |
| 72 | // GCN: error: invalid/unsupported code of SYSMSG_OP |
| 73 | |
| 74 | s_sendmsg sendmsg(MSG_SYSMSG, 5) |
| 75 | // GCN: error: invalid/unsupported code of SYSMSG_OP |
Dmitry Preobrazhensky | 43d297e | 2017-04-26 17:55:50 +0000 | [diff] [blame] | 76 | |
| 77 | s_waitcnt lgkmcnt(16) |
Dmitry Preobrazhensky | 5a2f881 | 2017-06-07 16:08:02 +0000 | [diff] [blame] | 78 | // GCN: error: too large value for lgkmcnt |
Dmitry Preobrazhensky | 43d297e | 2017-04-26 17:55:50 +0000 | [diff] [blame] | 79 | |
| 80 | s_waitcnt expcnt(8) |
Dmitry Preobrazhensky | 5a2f881 | 2017-06-07 16:08:02 +0000 | [diff] [blame] | 81 | // GCN: error: too large value for expcnt |
Dmitry Preobrazhensky | 43d297e | 2017-04-26 17:55:50 +0000 | [diff] [blame] | 82 | |
| 83 | s_waitcnt vmcnt(16) |
Dmitry Preobrazhensky | 5a2f881 | 2017-06-07 16:08:02 +0000 | [diff] [blame] | 84 | // GCN: error: too large value for vmcnt |
Dmitry Preobrazhensky | 43d297e | 2017-04-26 17:55:50 +0000 | [diff] [blame] | 85 | |
| 86 | s_waitcnt vmcnt(0xFFFFFFFFFFFF0000) |
Dmitry Preobrazhensky | 5a2f881 | 2017-06-07 16:08:02 +0000 | [diff] [blame] | 87 | // GCN: error: too large value for vmcnt |
Dmitry Preobrazhensky | 43d297e | 2017-04-26 17:55:50 +0000 | [diff] [blame] | 88 | |
| 89 | s_waitcnt vmcnt(0), expcnt(0), lgkmcnt(0), |
| 90 | // GCN: error: failed parsing operand |
| 91 | |
| 92 | s_waitcnt vmcnt(0) & expcnt(0) & lgkmcnt(0)& |
| 93 | // GCN: error: failed parsing operand |