Implemented identification of unsupported instructions; improved errors reporting.
See bug 42590.
Reviewers: rampitec
Differential Revision: https://reviews.llvm.org/D88211
bool isForcedDPP() const { return ForcedDPP; }
bool isForcedSDWA() const { return ForcedSDWA; }
ArrayRef<unsigned> getMatchedVariants() const;
+ StringRef getMatchedVariantName() const;
std::unique_ptr<AMDGPUOperand> parseRegister(bool RestoreOnFailure = false);
bool ParseRegister(unsigned &RegNo, SMLoc &StartLoc, SMLoc &EndLoc,
bool isInlineConstant(const MCInst &Inst, unsigned OpIdx) const;
unsigned findImplicitSGPRReadInVOP(const MCInst &Inst) const;
+ bool isSupportedMnemo(StringRef Mnemo,
+ const FeatureBitset &FBS);
+ bool isSupportedMnemo(StringRef Mnemo,
+ const FeatureBitset &FBS,
+ ArrayRef<unsigned> Variants);
+ bool checkUnsupportedInstruction(StringRef Name, const SMLoc &IDLoc);
+
bool isId(const StringRef Id) const;
bool isId(const AsmToken &Token, const StringRef Id) const;
bool isToken(const AsmToken::TokenKind Kind) const;
return Match_Success;
}
+static ArrayRef<unsigned> getAllVariants() {
+ static const unsigned Variants[] = {
+ AMDGPUAsmVariants::DEFAULT, AMDGPUAsmVariants::VOP3,
+ AMDGPUAsmVariants::SDWA, AMDGPUAsmVariants::SDWA9, AMDGPUAsmVariants::DPP
+ };
+
+ return makeArrayRef(Variants);
+}
+
// What asm variants we should check
ArrayRef<unsigned> AMDGPUAsmParser::getMatchedVariants() const {
if (getForcedEncodingSize() == 32) {
return makeArrayRef(Variants);
}
- static const unsigned Variants[] = {
- AMDGPUAsmVariants::DEFAULT, AMDGPUAsmVariants::VOP3,
- AMDGPUAsmVariants::SDWA, AMDGPUAsmVariants::SDWA9, AMDGPUAsmVariants::DPP
- };
+ return getAllVariants();
+}
- return makeArrayRef(Variants);
+StringRef AMDGPUAsmParser::getMatchedVariantName() const {
+ if (getForcedEncodingSize() == 32)
+ return "e32";
+
+ if (isForcedVOP3())
+ return "e64";
+
+ if (isForcedSDWA())
+ return "sdwa";
+
+ if (isForcedDPP())
+ return "dpp";
+
+ return "";
}
unsigned AMDGPUAsmParser::findImplicitSGPRReadInVOP(const MCInst &Inst) const {
const FeatureBitset &FBS,
unsigned VariantID = 0);
+static bool AMDGPUCheckMnemonic(StringRef Mnemonic,
+ const FeatureBitset &AvailableFeatures,
+ unsigned VariantID);
+
+bool AMDGPUAsmParser::isSupportedMnemo(StringRef Mnemo,
+ const FeatureBitset &FBS) {
+ return isSupportedMnemo(Mnemo, FBS, getAllVariants());
+}
+
+bool AMDGPUAsmParser::isSupportedMnemo(StringRef Mnemo,
+ const FeatureBitset &FBS,
+ ArrayRef<unsigned> Variants) {
+ for (auto Variant : Variants) {
+ if (AMDGPUCheckMnemonic(Mnemo, FBS, Variant))
+ return true;
+ }
+
+ return false;
+}
+
+bool AMDGPUAsmParser::checkUnsupportedInstruction(StringRef Mnemo,
+ const SMLoc &IDLoc) {
+ FeatureBitset FBS = ComputeAvailableFeatures(getSTI().getFeatureBits());
+
+ // Check if requested instruction variant is supported.
+ if (isSupportedMnemo(Mnemo, FBS, getMatchedVariants()))
+ return false;
+
+ // This instruction is not supported.
+ // Clear any other pending errors because they are no longer relevant.
+ getParser().clearPendingErrors();
+
+ // Requested instruction variant is not supported.
+ // Check if any other variants are supported.
+ StringRef VariantName = getMatchedVariantName();
+ if (!VariantName.empty() && isSupportedMnemo(Mnemo, FBS)) {
+ return Error(IDLoc,
+ Twine(VariantName,
+ " variant of this instruction is not supported"));
+ }
+
+ // Finally check if this instruction is supported on any other GPU.
+ if (isSupportedMnemo(Mnemo, FeatureBitset().set())) {
+ return Error(IDLoc, "instruction not supported on this GPU");
+ }
+
+ // Instruction not supported on any GPU. Probably a typo.
+ std::string Suggestion = AMDGPUMnemonicSpellCheck(Mnemo, FBS);
+ return Error(IDLoc, "invalid instruction" + Suggestion);
+}
+
bool AMDGPUAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
OperandVector &Operands,
MCStreamer &Out,
break;
}
- switch (Result) {
- default: break;
- case Match_Success:
+ if (Result == Match_Success) {
if (!validateInstruction(Inst, IDLoc, Operands)) {
return true;
}
Inst.setLoc(IDLoc);
Out.emitInstruction(Inst, getSTI());
return false;
+ }
+
+ StringRef Mnemo = ((AMDGPUOperand &)*Operands[0]).getToken();
+ if (checkUnsupportedInstruction(Mnemo, IDLoc)) {
+ return true;
+ }
+ switch (Result) {
+ default: break;
case Match_MissingFeature:
+ // FIXME: this case should be analyzed and error message corrected.
return Error(IDLoc, "instruction not supported on this GPU");
- case Match_MnemonicFail: {
- FeatureBitset FBS = ComputeAvailableFeatures(getSTI().getFeatureBits());
- std::string Suggestion = AMDGPUMnemonicSpellCheck(
- ((AMDGPUOperand &)*Operands[0]).getToken(), FBS);
- return Error(IDLoc, "invalid instruction" + Suggestion,
- ((AMDGPUOperand &)*Operands[0]).getLocRange());
- }
-
case Match_InvalidOperand: {
SMLoc ErrorLoc = IDLoc;
if (ErrorInfo != ~0ULL) {
case Match_PreferE32:
return Error(IDLoc, "internal error: instruction without _e64 suffix "
"should be encoded as e32");
+ case Match_MnemonicFail:
+ llvm_unreachable("Invalid instructions should have been handled already");
}
llvm_unreachable("Implement any new match types added!");
}
Parser.Lex();
if (Res != MatchOperand_Success) {
+ checkUnsupportedInstruction(Name, NameLoc);
if (!Parser.hasPendingError()) {
// FIXME: use real operand location rather than the current location.
StringRef Msg =
#define GET_REGISTER_MATCHER
#define GET_MATCHER_IMPLEMENTATION
#define GET_MNEMONIC_SPELL_CHECKER
+#define GET_MNEMONIC_CHECKER
#include "AMDGPUGenAsmMatcher.inc"
// This fuction should be defined after auto-generated include so that we have
// GFX10: v_mov_b32_dpp v0, v1 row_xmask:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x61,0x01,0x11]
v_mov_b32_dpp v0, v1 wave_shl:1 row_mask:0x1 bank_mask:0x1
-// GFX89: v0, v1 wave_shl:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x30,0x01,0x11]
+// GFX89: v_mov_b32_dpp v0, v1 wave_shl:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x30,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
v_mov_b32_dpp v0, v1 wave_shr:1 row_mask:0x1 bank_mask:0x1
-// GFX89: v0, v1 wave_shr:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x38,0x01,0x11]
+// GFX89: v_mov_b32_dpp v0, v1 wave_shr:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x38,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
v_mov_b32_dpp v0, v1 wave_rol:1 row_mask:0x1 bank_mask:0x1
-// GFX89: v0, v1 wave_rol:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x34,0x01,0x11]
+// GFX89: v_mov_b32_dpp v0, v1 wave_rol:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x34,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
v_mov_b32_dpp v0, v1 wave_ror:1 row_mask:0x1 bank_mask:0x1
-// GFX89: v0, v1 wave_ror:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x3c,0x01,0x11]
+// GFX89: v_mov_b32_dpp v0, v1 wave_ror:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x3c,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
v_mov_b32_dpp v0, v1 row_bcast:15 row_mask:0x1 bank_mask:0x1
-// GFX89: v0, v1 row_bcast:15 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x42,0x01,0x11]
+// GFX89: v_mov_b32_dpp v0, v1 row_bcast:15 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x42,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
v_mov_b32_dpp v0, v1 row_bcast:31 row_mask:0x1 bank_mask:0x1
-// GFX89: v0, v1 row_bcast:31 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x43,0x01,0x11]
+// GFX89: v_mov_b32_dpp v0, v1 row_bcast:31 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x43,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// VI: ds_add_u32 v2, v4 offset:16 ; encoding: [0x10,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
ds_add_src2_f32 v255 offset:65535
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI: ds_add_src2_f32 v255 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd9,0xff,0x00,0x00,0x00]
ds_add_src2_f32 v0 offset:4 gds
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI: ds_add_src2_f32 v0 offset:4 gds ; encoding: [0x04,0x00,0x2b,0xd9,0x00,0x00,0x00,0x00]
//===----------------------------------------------------------------------===//
global_load_ubyte v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x20,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_sbyte v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x24,0xdc,0x03,0x00,0x7d,0x01]
global_load_sbyte v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x24,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_ushort v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x28,0xdc,0x03,0x00,0x7d,0x01]
global_load_ushort v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x28,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_sshort v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x2c,0xdc,0x03,0x00,0x7d,0x01]
global_load_sshort v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x2c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x7d,0x01]
global_load_dword v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_dwordx2 v[1:2], v[3:4], off
// GFX10: encoding: [0x00,0x80,0x34,0xdc,0x03,0x00,0x7d,0x01]
global_load_dwordx2 v[1:2], v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x34,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_dwordx3 v[1:3], v[3:4], off
// GFX10: encoding: [0x00,0x80,0x3c,0xdc,0x03,0x00,0x7d,0x01]
global_load_dwordx3 v[1:3], v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x3c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_load_dwordx4 v[1:4], v[3:4], off
// GFX10: encoding: [0x00,0x80,0x38,0xdc,0x03,0x00,0x7d,0x01]
global_load_dwordx4 v[1:4], v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x38,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
// FIXME: VI error should be instruction nto supported
global_load_dword v1, v[3:4], off offset:0
// GFX10: encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dword v1, v[3:4], off ; encoding: [0x00,0x80,0x50,0xdc,0x03,0x00,0x7f,0x01]
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:4095
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX9: global_load_dword v1, v[3:4], off offset:4095 ; encoding: [0xff,0x8f,0x50,0xdc,0x03,0x00,0x7f,0x01]
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:-1
// GFX10: encoding: [0xff,0x8f,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dword v1, v[3:4], off offset:-1 ; encoding: [0xff,0x9f,0x50,0xdc,0x03,0x00,0x7f,0x01]
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:-4096
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX9: global_load_dword v1, v[3:4], off offset:-4096 ; encoding: [0x00,0x90,0x50,0xdc,0x03,0x00,0x7f,0x01]
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:4096
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX9-ERR: :35: error: expected a 13-bit signed offset
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4] off, offset:-4097
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX9-ERR: :35: error: expected a 13-bit signed offset
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_store_byte v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x60,0xdc,0x03,0x01,0x7d,0x00]
global_store_byte v[3:4], v1, off dlc
// GFX10: encoding: [0x00,0x90,0x60,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_store_short v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x68,0xdc,0x03,0x01,0x7d,0x00]
global_store_short v[3:4], v1, off dlc
// GFX10: encoding: [0x00,0x90,0x68,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_store_dword v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00]
global_store_dword v[3:4], v1, off dlc
// GFX10: encoding: [0x00,0x90,0x70,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_store_dwordx2 v[3:4], v[1:2], off
// GFX10: encoding: [0x00,0x80,0x74,0xdc,0x03,0x01,0x7d,0x00]
global_store_dwordx2 v[3:4], v[1:2], off dlc
// GFX10: encoding: [0x00,0x90,0x74,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_store_dwordx3 v[3:4], v[1:3], off
// GFX10: encoding: [0x00,0x80,0x7c,0xdc,0x03,0x01,0x7d,0x00]
global_store_dwordx3 v[3:4], v[1:3], off dlc
// GFX10: encoding: [0x00,0x90,0x7c,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_store_dwordx4 v[3:4], v[1:4], off
// GFX10: encoding: [0x00,0x80,0x78,0xdc,0x03,0x01,0x7d,0x00]
global_store_dwordx4 v[3:4], v[1:4], off dlc
// GFX10: encoding: [0x00,0x90,0x78,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
global_store_dword v[3:4], v1, off offset:12
// GFX10: encoding: [0x0c,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_dword v[3:4], v1, off offset:12 ; encoding: [0x0c,0x80,0x70,0xdc,0x03,0x01,0x7f,0x00]
-// VI-ERR: :36: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v3, s[2:3]
// GFX10: encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x02,0x01]
global_load_dword v1, v3, s[2:3] offset:24
// GFX10: encoding: [0x18,0x80,0x30,0xdc,0x03,0x00,0x02,0x01]
// GFX9: global_load_dword v1, v3, s[2:3] offset:24 ; encoding: [0x18,0x80,0x50,0xdc,0x03,0x00,0x02,0x01]
-// VI-ERR: :34: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v3, s[2:3] offset:-8
// GFX10: encoding: [0xf8,0x8f,0x30,0xdc,0x03,0x00,0x02,0x01]
// GFX9: global_load_dword v1, v3, s[2:3] offset:-8 ; encoding: [0xf8,0x9f,0x50,0xdc,0x03,0x00,0x02,0x01]
-// VI-ERR: :34: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_store_dword v3, v1, s[2:3]
// GFX10: encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
global_store_dword v3, v1, s[2:3] offset:24
// GFX10: encoding: [0x18,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
// GFX9: global_store_dword v3, v1, s[2:3] offset:24 ; encoding: [0x18,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_store_dword v3, v1, s[2:3] offset:-8
// GFX10: encoding: [0xf8,0x8f,0x70,0xdc,0x03,0x01,0x02,0x00]
// GFX9: global_store_dword v3, v1, s[2:3] offset:-8 ; encoding: [0xf8,0x9f,0x70,0xdc,0x03,0x01,0x02,0x00]
-// VI-ERR: :35: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
// XXX: Is this valid?
global_store_dword v3, v1, exec
global_load_dword v1, v[3:4], s2
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: :31: error: invalid operand for instruction
-// VI-ERR: :31: error: invalid operand for instruction
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: :31: error: invalid operand for instruction
-// VI-ERR: :31: error: invalid operand for instruction
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_cmpswap v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0xc4,0xdc,0x03,0x05,0x7d,0x00]
global_atomic_cmpswap v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xc4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_cmpswap v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x04,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :43: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[3:4], v[5:8], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x44,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_cmpswap_x2 v[3:4], v[5:8], off offset:-16 ; encoding: [0xf0,0x9f,0x84,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :46: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_swap v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xc0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_swap v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x00,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :36: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_swap_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x40,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_swap_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x80,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :43: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_add v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xc8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_add v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x08,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :35: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_sub v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xcc,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_sub v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x0c,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :35: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_smin v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xd4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smin v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x10,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :36: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_umin v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xd8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umin v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x14,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :36: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_smax v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xdc,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smax v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x18,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :36: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_umax v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xe0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umax v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x1c,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :36: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_and v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xe4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_and v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x20,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :35: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_or v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xe8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_or v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x24,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :34: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_xor v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xec,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_xor v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x28,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :35: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_inc v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xf0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_inc v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x2c,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :35: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_dec v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xf4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_dec v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x30,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :35: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_add_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x48,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_add_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x88,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :42: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_sub_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x4c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_sub_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x8c,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :42: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_smin_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x54,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smin_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x90,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :43: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_umin_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x58,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umin_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x94,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :43: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_smax_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x5c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smax_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x98,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :43: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_umax_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x60,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umax_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x9c,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :43: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_and_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x64,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_and_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xa0,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :42: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_or_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x68,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_or_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xa4,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :41: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_xor_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x6c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_xor_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xa8,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :42: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_inc_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x70,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_inc_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xac,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :42: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_atomic_dec_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x74,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_dec_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xb0,0xdd,0x03,0x05,0x7f,0x00]
-// VI-ERR: :42: error: not a valid operand
+// VI-ERR: :1: error: instruction not supported on this GPU
global_load_ubyte_d16 v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x80,0xdc,0x03,0x00,0x7d,0x01]
global_atomic_add v0, v[1:2], v2, off glc slc
// GFX10: global_atomic_add v0, v[1:2], v2, off glc slc ; encoding: [0x00,0x80,0xcb,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: global_atomic_add v0, v[1:2], v2, off glc slc ; encoding: [0x00,0x80,0x0b,0xdd,0x01,0x02,0x7f,0x00]
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_ubyte v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x20,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_sbyte v1, v2, off
// GFX10: encoding: [0x00,0x40,0x24,0xdc,0x02,0x00,0x7d,0x01]
scratch_load_sbyte v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x24,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_ushort v1, v2, off
// GFX10: encoding: [0x00,0x40,0x28,0xdc,0x02,0x00,0x7d,0x01]
scratch_load_ushort v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x28,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_sshort v1, v2, off
// GFX10: encoding: [0x00,0x40,0x2c,0xdc,0x02,0x00,0x7d,0x01]
scratch_load_sshort v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x2c,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0x01]
scratch_load_dword v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dwordx2 v[1:2], v3, off
// GFX10: encoding: [0x00,0x40,0x34,0xdc,0x03,0x00,0x7d,0x01]
scratch_load_dwordx2 v[1:2], v3, off dlc
// GFX10: encoding: [0x00,0x50,0x34,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dwordx3 v[1:3], v4, off
// GFX10: encoding: [0x00,0x40,0x3c,0xdc,0x04,0x00,0x7d,0x01]
scratch_load_dwordx3 v[1:3], v4, off dlc
// GFX10: encoding: [0x00,0x50,0x3c,0xdc,0x04,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dwordx4 v[1:4], v5, off
// GFX10: encoding: [0x00,0x40,0x38,0xdc,0x05,0x00,0x7d,0x01]
scratch_load_dwordx4 v[1:4], v5, off dlc
// GFX10: encoding: [0x00,0x50,0x38,0xdc,0x05,0x00,0x7d,0x01]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:0
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_dword v1, v2, off ; encoding: [0x00,0x40,0x50,0xdc,0x02,0x00,0x7f,0x01]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:4095
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v1, v2, off offset:4095 ; encoding: [0xff,0x4f,0x50,0xdc,0x02,0x00,0x7f,0x01]
-// VI-ERR: :32: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:-1
// GFX10: encoding: [0xff,0x4f,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_dword v1, v2, off offset:-1 ; encoding: [0xff,0x5f,0x50,0xdc,0x02,0x00,0x7f,0x01]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:-4096
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v1, v2, off offset:-4096 ; encoding: [0x00,0x50,0x50,0xdc,0x02,0x00,0x7f,0x01]
-// VI-ERR: :32: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:4096
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9-ERR: :32: error: expected a 13-bit signed offset
-// VI-ERR: :32: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:-4097
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9-ERR: :32: error: expected a 13-bit signed offset
-// VI-ERR: :32: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v0, v1, off offset:-2049 glc slc
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v0, v1, off offset:-2049 glc slc ; encoding: [0xff,0x57,0x53,0xdc,0x01,0x00,0x7f,0x00]
-// VI-ERR: :32: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v0, v1, off offset:-2048 glc slc
// GFX10: scratch_load_dword v0, v1, off offset:-2048 glc slc ; encoding: [0x00,0x48,0x33,0xdc,0x01,0x00,0x7d,0x00]
// GFX9: scratch_load_dword v0, v1, off offset:-2048 glc slc ; encoding: [0x00,0x58,0x53,0xdc,0x01,0x00,0x7f,0x00]
-// VI-ERR: :32: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v255, off, s1 offset:2047
// GFX10: scratch_load_dword v255, off, s1 offset:2047 ; encoding: [0xff,0x47,0x30,0xdc,0x00,0x00,0x01,0xff]
// GFX9: scratch_load_dword v255, off, s1 offset:2047 ; encoding: [0xff,0x47,0x50,0xdc,0x00,0x00,0x01,0xff]
-// VI-ERR: :34: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_load_dword v255, off, s0 offset:2048
// GFX10-ERR: :34: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v255, off, s0 offset:2048 ; encoding: [0x00,0x48,0x50,0xdc,0x00,0x00,0x00,0xff]
-// VI-ERR: :34: error: not a valid operand.
+// VI-ERR: :1: error: instruction not supported on this GPU
scratch_store_byte v1, v2, off
// GFX10: encoding: [0x00,0x40,0x60,0xdc,0x01,0x02,0x7d,0x00]
scratch_store_byte v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x60,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_short v1, v2, off
// GFX10: encoding: [0x00,0x40,0x68,0xdc,0x01,0x02,0x7d,0x00]
scratch_store_short v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x68,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dword v1, v2, off
// GFX10: encoding: [0x00,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00]
scratch_store_dword v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x70,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dwordx2 v1, v[2:3], off
// GFX10: encoding: [0x00,0x40,0x74,0xdc,0x01,0x02,0x7d,0x00]
scratch_store_dwordx2 v1, v[2:3], off dlc
// GFX10: encoding: [0x00,0x50,0x74,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dwordx3 v1, v[2:4], off
// GFX10: encoding: [0x00,0x40,0x7c,0xdc,0x01,0x02,0x7d,0x00]
scratch_store_dwordx3 v1, v[2:4], off dlc
// GFX10: encoding: [0x00,0x50,0x7c,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dwordx4 v1, v[2:5], off
// GFX10: encoding: [0x00,0x40,0x78,0xdc,0x01,0x02,0x7d,0x00]
scratch_store_dwordx4 v1, v[2:5], off dlc
// GFX10: encoding: [0x00,0x50,0x78,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: failed parsing operand
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dword v1, v2, off offset:12
// GFX10: encoding: [0x0c,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_dword v1, v2, off offset:12 ; encoding: [0x0c,0x40,0x70,0xdc,0x01,0x02,0x7f,0x00]
-// VI-ERR: error: not a valid operand
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, off, s1
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x01,0x01]
scratch_load_dword v1, off, s1 offset:32
// GFX10: encoding: [0x20,0x40,0x30,0xdc,0x00,0x00,0x01,0x01]
// GFX9: scratch_load_dword v1, off, s1 offset:32 ; encoding: [0x20,0x40,0x50,0xdc,0x00,0x00,0x01,0x01]
-// VI-ERR: error: not a valid operand
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dword off, v2, s1
// GFX10: encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
scratch_store_dword off, v2, s1 offset:12
// GFX10: encoding: [0x0c,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
// GFX9: scratch_store_dword off, v2, s1 offset:12 ; encoding: [0x0c,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
-// VI-ERR: error: not a valid operand
+// VI-ERR: error: instruction not supported on this GPU
// FIXME: Should error about multiple offsets
scratch_load_dword v1, v2, s1
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, v2, s1 offset:32
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
-// VI-ERR: error: not a valid operand
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dword v1, v2, s1
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dword v1, v2, s1 offset:32
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
-// VI-ERR: error: not a valid operand
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, off, exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_store_dword off, v2, exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
-// VI-ERR: error: invalid operand for instruction
+// VI-ERR: error: instruction not supported on this GPU
scratch_load_dword v1, off, exec_lo
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7e,0x01]
// VI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x50,0xdc,0x03,0x00,0x00,0x01]
flat_load_dword v1, v[3:4] glc
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
// CI: flat_load_dword v1, v[3:4] glc ; encoding: [0x00,0x00,0x31,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dword v1, v[3:4] glc ; encoding: [0x00,0x00,0x51,0xdc,0x03,0x00,0x00,0x01]
flat_load_dword v1, v[3:4] glc slc
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
// CI: flat_load_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x53,0xdc,0x03,0x00,0x00,0x01]
// CIVI: flat_store_dword v[3:4], v1 ; encoding: [0x00,0x00,0x70,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1 glc
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 glc ; encoding: [0x00,0x00,0x71,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1 glc slc
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 glc slc ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1 slc
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 slc ; encoding: [0x00,0x00,0x72,0xdc,0x03,0x01,0x00,0x00]
// FIXME: For atomic instructions, glc must be placed immediately following
// flat_atomic_add v1, v[3:4], v5 slc glc
flat_atomic_add v1, v[3:4], v5 offset:0 glc slc
-// NOSI: error: not a valid operand.
+// NOSI: error: instruction not supported on this GPU
// CI: flat_atomic_add v1, v[3:4], v5 glc slc ; encoding: [0x00,0x00,0xcb,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_add v1, v[3:4], v5 glc slc ; encoding: [0x00,0x00,0x0b,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_add v[3:4], v5 slc
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
// CI: flat_atomic_add v[3:4], v5 slc ; encoding: [0x00,0x00,0xca,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_add v[3:4], v5 slc ; encoding: [0x00,0x00,0x0a,0xdd,0x03,0x05,0x00,0x00]
v_fma_mix_f32 v0, abs(v1), v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, |v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// FIXME: Improve error messages
v_fma_mix_f32 v0, v1, abs(v2), v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, |v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, abs(v3)
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, |v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, -v1, v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, -v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x24]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, -v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, -v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x44]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, -v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, -v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x84]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, -abs(v1), v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, -|v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x24]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, -abs(v2), v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, -|v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x44]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, -abs(v3)
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, -|v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x84]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3)
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, |v1|, -v2, |v3| ; encoding: [0x00,0x05,0xa1,0xd3,0x01,0x05,0x0e,0x44]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, -v1, |v2|, -|v3| ; encoding: [0x00,0x06,0xa2,0xd3,0x01,0x05,0x0e,0xa4]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, v1, v2, v3 clamp
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa1,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: invalid operand for instruction
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, v1, v2, v3 clamp
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa2,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: invalid operand for instruction
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
//
// op_sel with non-packed instructions
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// FIXME: Improve error messages
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0] ; encoding: [0x00,0x08,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0] ; encoding: [0x00,0x10,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1] ; encoding: [0x00,0x20,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1] ; encoding: [0x00,0x38,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x0c]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x14]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x1c]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa1,0xd3,0x01,0x05,0x0e,0x0c]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa2,0xd3,0x01,0x05,0x0e,0x0c]
-// GFX9-MADMIX-ERR: error: not a valid operand.
+// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
s_getreg_b32 s2, hwreg(HW_REG_SHADER_CYCLES)
// GFX10: error: specified hardware register is not supported on this GPU
// GFX10: error: instruction not supported on this GPU
image_bvh_intersect_ray v[4:7], v[9:16], s[4:7] a16
-// GFX10: error: invalid operand
+// GFX10: error: instruction not supported on this GPU
image_bvh64_intersect_ray v[4:7], v[9:24], s[4:7]
// GFX10: error: instruction not supported on this GPU
image_bvh64_intersect_ray v[4:7], v[9:24], s[4:7] a16
-// GFX10: error: invalid operand
+// GFX10: error: instruction not supported on this GPU
image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D glc
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
image_msaa_load v5, v[1:2], s[8:15] dmask:0x1 dim:SQ_RSRC_IMG_2D d16
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
image_msaa_load v14, [v204,v11,v14,v19], s[40:47] dmask:0x1 dim:SQ_RSRC_IMG_2D_MSAA_ARRAY
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
s_get_waveid_in_workgroup s0
// GFX10: error: instruction not supported on this GPU
// GFX10: error: instruction not supported on this GPU
ds_add_src2_u32 v1 offset:65535 gds
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_add_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_add_src2_f32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_sub_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_rsub_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_inc_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_dec_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_min_src2_i32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_max_src2_i32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_min_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_max_src2_u32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_and_src2_b32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_or_src2_b32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_xor_src2_b32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_min_src2_f32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_max_src2_f32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_add_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_sub_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_rsub_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_inc_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_dec_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_min_src2_i64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_max_src2_i64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_min_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_max_src2_u64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_and_src2_b64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_or_src2_b64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_xor_src2_b64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_min_src2_f64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_max_src2_f64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_write_src2_b32 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
ds_write_src2_b64 v1 offset:65535
-// GFX10: error: not a valid operand.
+// GFX10: error: instruction not supported on this GPU
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx601 %s 2>&1 | FileCheck --check-prefixes=GFX6-7,GFX6-8,GFX6-9 --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx701 %s 2>&1 | FileCheck --check-prefixes=GFX6-7,GFX6-8,GFX6-9 --implicit-check-not=error: %s
-// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx801 %s 2>&1 | FileCheck --check-prefixes=GFX6-8,GFX6-9 --implicit-check-not=error: %s
-// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck --check-prefixes=GFX6-9 --implicit-check-not=error: %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx801 %s 2>&1 | FileCheck --check-prefixes=GFX6-8,GFX6-9,GFX8-9 --implicit-check-not=error: %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck --check-prefixes=GFX6-9,GFX8-9 --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 %s 2>&1 | FileCheck --check-prefixes=GFX10 --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 %s 2>&1 | FileCheck --check-prefixes=GFX10 --implicit-check-not=error: %s
//===----------------------------------------------------------------------===//
v_mov_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
-// GFX6-9: error: not a valid operand
+// GFX6-7: error: dpp variant of this instruction is not supported
+// GFX8-9: error: not a valid operand
--- /dev/null
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 %s 2>&1 | FileCheck --implicit-check-not=error: %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 %s 2>&1 | FileCheck --implicit-check-not=error: %s
+
+//===----------------------------------------------------------------------===//
+// Unsupported instructions.
+//===----------------------------------------------------------------------===//
+
+buffer_atomic_add_f32 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_pk_add_f16 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_lds_dword s[4:7], s0 lds
+// CHECK: error: instruction not supported on this GPU
+
+buffer_wbinvl1_vol
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add_f32 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_pk_add_f16 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+s_cbranch_g_fork -1, s[4:5]
+// CHECK: error: instruction not supported on this GPU
+
+s_cbranch_i_fork exec, 12609
+// CHECK: error: instruction not supported on this GPU
+
+s_cbranch_join 1
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_inv_vol
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_wb_vol
+// CHECK: error: instruction not supported on this GPU
+
+s_rfe_restore_b64 -1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_idx -1
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_mode 0
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_off
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_on -1, 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_setvskip -1, s2
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_read_b32 a0, a0
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_write_b32 a0, 65
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i32 lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i32_e32 v0, vcc, 0.5, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i32_e64 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16 v0, (i1+100)*2, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16_sdwa v0, scc, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32 v0, execz, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_e32 v1, s1, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_e64 v0, scc, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32 v0, vcc, shared_base, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_e32 v3, vcc, 12345, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32 v0, vcc, exec_hi, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_e32 v1, -1, v2, v3, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_e64 v0, s[0:1], s0, s0, s[0:1]
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_i16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_u16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_i16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_u16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_pkaccum_u8_f32 v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_pkaccum_u8_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_legacy_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_f32_f16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_i32_i16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_u32_u16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_i32_i8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_u32_u8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_i32_i4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_u32_u4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_legacy_f32 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_legacy_f16_e64 v5, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_interp_p2_legacy_f16 v255, v2, attr0.x, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_log_clamp_f32 v1, 0.5
+// CHECK: error: instruction not supported on this GPU
+
+v_log_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_log_legacy_f32 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_log_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_log_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_log_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16_e64 v0, -4.0, flat_scratch_lo
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_i16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_i16_e64 v5, 0, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_u16_e64 v5, 0, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mix_f32 v0, -abs(v1), v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mixlo_f16 v0, abs(v1), -v2, abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_madak_f16 v0, src_lds_direct, v0, 0x1121
+// CHECK: error: instruction not supported on this GPU
+
+v_madmk_f16 v0, src_lds_direct, 0x1121, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_max_legacy_f32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x1f32 a[0:31], 1, v1, a[1:32]
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_legacy_f32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_legacy_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_legacy_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_e64 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_sdwa v5, v1 src0_sel:BYTE_0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i32 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32 v1, 4.0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_e32 v1, s1, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32 v1, s[0:1], v2, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32 v0, vcc, src_lds_direct, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32 v1, s[0:1], v2, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_i32 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_i32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_e32 v1, s1, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// Unsupported e32 variants.
+//===----------------------------------------------------------------------===//
+
+v_add_co_u32_e32 v2, vcc, s0, v2
+// CHECK: error: e32 variant of this instruction is not supported
+
+v_sub_co_u32_e32 v2, vcc, s0, v2
+// CHECK: error: e32 variant of this instruction is not supported
+
+v_subrev_co_u32_e32 v2, vcc, s0, v2
+// CHECK: error: e32 variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported e64 variants.
+//===----------------------------------------------------------------------===//
+
+v_swap_b32_e64 v1, v2
+// CHECK: error: e64 variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported dpp variants.
+//===----------------------------------------------------------------------===//
+
+v_add_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_ashrrev_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_lshlrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_lshrrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_max_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_max_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_min_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_min_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_lo_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_sub_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_subrev_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported sdwa variants.
+//===----------------------------------------------------------------------===//
+
+v_add_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_ashrrev_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_lshlrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_lshrrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mac_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_max_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_max_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_min_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_min_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_lo_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_sub_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_subrev_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: error: sdwa variant of this instruction is not supported
--- /dev/null
+// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck --implicit-check-not=error: %s
+
+//===----------------------------------------------------------------------===//
+// Unsupported instructions.
+//===----------------------------------------------------------------------===//
+
+buffer_atomic_add_f32 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_pk_add_f16 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_gl0_inv
+// CHECK: error: instruction not supported on this GPU
+
+buffer_gl1_inv
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_format_d16_hi_x v5, off, s[8:11], s3
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_format_d16_x v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_format_d16_xy v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_format_d16_xyz v[1:2], off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_format_d16_xyzw v[1:2], off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_sbyte_d16 v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_sbyte_d16_hi v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_short_d16 v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_short_d16_hi v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_ubyte_d16 v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_ubyte_d16_hi v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_byte_d16_hi v1, off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 glc
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_format_d16_x v1, off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_format_d16_xy v1, off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_format_d16_xyz v[1:2], off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_format_d16_xyzw v[1:2], off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_lds_dword s[4:7], s0 lds
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_short_d16_hi v1, off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+ds_add_f32 v0, v1
+// CHECK: error: instruction not supported on this GPU
+
+ds_add_rtn_f32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+ds_add_src2_f32 v0 offset:4 gds
+// CHECK: error: instruction not supported on this GPU
+
+ds_bpermute_b32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+ds_permute_b32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_addtid_b32 v255 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_i8_d16 v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_i8_d16_hi v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u16_d16 v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u16_d16_hi v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u8_d16 v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u8_d16_hi v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_write_addtid_b32 v255 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_write_b16_d16_hi v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+ds_write_b8_d16_hi v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_sbyte_d16 v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_sbyte_d16_hi v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_short_d16 v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_short_d16_hi v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_ubyte_d16 v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_ubyte_d16_hi v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_store_byte_d16_hi v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+flat_store_short_d16_hi v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add v0, v[1:2], v2, off glc slc
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add_f32 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_and v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_and_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_cmpswap v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_cmpswap_x2 v[1:2], v[252:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_dec v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_dec_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_inc v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_inc_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_or v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_or_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_pk_add_f16 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smax v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smax_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smin v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smin_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_sub v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_sub_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_swap v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_swap_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umax v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umax_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umin v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umin_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_xor v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_xor_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dword v1, v3, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dwordx2 v[1:2], v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dwordx3 v[1:3], v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dwordx4 v[1:4], v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sbyte v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sbyte_d16 v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sbyte_d16_hi v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_short_d16 v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_short_d16_hi v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sshort v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ubyte v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ubyte_d16 v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ubyte_d16_hi v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ushort v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_byte v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_byte_d16_hi v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dword v254, v1, s[2:3] offset:16
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dwordx2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dwordx3 v[1:2], v[253:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dwordx4 v[1:2], v[252:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_store_short v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_short_d16_hi v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+s_and_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_saveexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_atc_probe 0x0, s[4:5], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atc_probe_buffer 0x0, s[8:11], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_add s5, s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_add_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_and s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_and_x2 s[10:11], s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_cmpswap s[10:11], s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_dec s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_dec_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_inc s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_inc_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_or s5, s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_or_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smax s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smax_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smin s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smin_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_sub s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_sub_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_swap s5, s[2:3], -1
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_swap_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umax s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umax_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umin s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umin_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_xor s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_xor_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_bitreplicate_b64_b32 exec, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_add s5, s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_add_x2 s[10:11], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_and s101, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_and_x2 s[10:11], s[8:11], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_dec s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_inc s101, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_or s5, s[8:11], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_or_x2 s[10:11], s[96:99], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smax s5, s[4:7], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smin s5, s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_sub s5, s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_swap s5, s[4:7], -1
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umax s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umin s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_xor s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_store_dword exec_hi, s[0:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_store_dwordx2 exec, s[0:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_store_dwordx4 s[4:7], s[12:15], m0
+// CHECK: error: instruction not supported on this GPU
+
+s_call_b64 exec, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_clause 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_cmp_eq_u64 -1, s[4:5]
+// CHECK: error: instruction not supported on this GPU
+
+s_cmp_lg_u64 -1, s[4:5]
+// CHECK: error: instruction not supported on this GPU
+
+s_code_end
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_discard s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_discard_x2 s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_wb
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_wb_vol
+// CHECK: error: instruction not supported on this GPU
+
+s_denorm_mode 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_endpgm_ordered_ps_done
+// CHECK: error: instruction not supported on this GPU
+
+s_endpgm_saved
+// CHECK: error: instruction not supported on this GPU
+
+s_get_waveid_in_workgroup s0
+// CHECK: error: instruction not supported on this GPU
+
+s_gl1_inv
+// CHECK: error: instruction not supported on this GPU
+
+s_inst_prefetch 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl1_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl2_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl3_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl4_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_memrealtime exec
+// CHECK: error: instruction not supported on this GPU
+
+s_movrelsd_2_b32 s0, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_mul_hi_i32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_mul_hi_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_nand_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_nor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_or_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_orn2_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_pack_hh_b32_b16 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_pack_lh_b32_b16 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_pack_ll_b32_b16 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_rfe_restore_b64 -1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_round_mode 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_load_dword s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_load_dwordx2 s[100:101], s[2:3], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_load_dwordx4 s[20:23], s[4:5], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_store_dword s1, s[4:5], 0x123 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_idx -1
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_mode 0
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_off
+// CHECK: error: instruction not supported on this GPU
+
+s_set_gpr_idx_on -1, 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_store_dword exec_hi, s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_store_dwordx2 exec, s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_store_dwordx4 s[4:7], flat_scratch, m0
+// CHECK: error: instruction not supported on this GPU
+
+s_subvector_loop_begin exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_subvector_loop_end exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_ttracedata_imm 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_version 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_expcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_lgkmcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_vmcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_vscnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_wakeup
+// CHECK: error: instruction not supported on this GPU
+
+s_xnor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_xor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dword v0, v1, off offset:-2048 glc slc
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dwordx2 v[1:2], v3, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dwordx3 v[1:3], v4, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dwordx4 v[1:4], v5, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sbyte v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sbyte_d16 v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sbyte_d16_hi v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_short_d16 v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_short_d16_hi v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sshort v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ubyte v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ubyte_d16 v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ubyte_d16_hi v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ushort v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_byte off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_byte_d16_hi off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dword off, v2, exec_hi
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dwordx2 off, v[254:255], s3 offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dwordx3 off, v[253:255], s3 offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dwordx4 off, v[252:255], s3 offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_short off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_short_d16_hi off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_load_format_d16_x v0, off, s[0:3]
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_load_format_d16_xy v0, off, s[0:3], format:22, 0
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_load_format_d16_xyz v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_load_format_d16_xyzw v[0:1], off, s[0:3], format:22, 0
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_store_format_d16_x v0, v1, s[4:7], format:33, 0 idxen
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_store_format_d16_xy v0, v1, s[4:7], format:33, 0 idxen
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_store_format_d16_xyz v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
+// CHECK: error: instruction not supported on this GPU
+
+tbuffer_store_format_d16_xyzw v[0:1], v2, s[4:7], format:33, 0 idxen
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_read_b32 a0, a0
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_write_b32 a0, 65
+// CHECK: error: instruction not supported on this GPU
+
+v_add3_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32 v1, sext(v1), sext(v4) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_e32 v255, vcc, v1, v2, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_f16 v0, s[0:1], v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_f16_e32 v1, 64.0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_f16_e64 v0, 0x3456, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_lshl_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16 v0, (i1+100)*2, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u16_sdwa v0, scc, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32 v0, execz, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_e32 v1, s1, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_e64 v0, scc, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32 v0, vcc, shared_base, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_e32 v3, vcc, 12345, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_and_or_b32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_ashrrev_i16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_ashrrev_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_ashrrev_i16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashrrev_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_ashrrev_i64 v[0:1], 0x100, s[0:1]
+// CHECK: error: instruction not supported on this GPU
+
+v_ceil_f16 v0, -0.5
+// CHECK: error: instruction not supported on this GPU
+
+v_ceil_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_ceil_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_ceil_f16_e64 v0, -|v1|
+// CHECK: error: instruction not supported on this GPU
+
+v_ceil_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_class_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_class_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_class_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_f16 vcc, -1, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_eq_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_f_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ge_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_gt_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_le_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lg_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lg_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lg_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_lt_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ne_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ne_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ne_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ne_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ne_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ne_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_neq_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_neq_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_neq_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nge_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nge_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nge_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ngt_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ngt_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_ngt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nle_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nle_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nle_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nlg_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nlg_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nlg_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nlt_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nlt_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_nlt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_o_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_o_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_o_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_i16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_u16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_t_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_tru_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_tru_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_tru_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_u_f16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_u_f16_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmp_u_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_class_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_class_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_class_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_i16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_i16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_i16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_u16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_u16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_eq_u16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_i16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_u16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_f_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_i16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_i16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_i16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_u16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_u16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ge_u16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_i16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_i16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_i16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_u16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_u16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_gt_u16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_i16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_i16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_i16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_u16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_u16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_le_u16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lg_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lg_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lg_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_i16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_i16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_i16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_u16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_u16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_lt_u16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ne_i16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ne_i16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ne_i16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ne_u16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ne_u16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ne_u16_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_neq_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_neq_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_neq_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nge_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nge_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nge_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ngt_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ngt_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_ngt_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nle_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nle_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nle_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nlg_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nlg_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nlg_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nlt_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nlt_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_nlt_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_o_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_o_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_o_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_i16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_i16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_u16 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_u16_e64 exec, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_t_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_tru_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_tru_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_tru_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_u_f16 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_u_f16_e64 -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpx_u_f16_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cos_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_cos_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cos_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cos_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cos_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_i16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_i16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_i16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_i16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_i16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_u16 v0, src_lds_direct
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_u16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_u16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_u16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_f16_u16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_i16_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_i16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_i16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16 v5, -4.0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16 v5, s101
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_pknorm_i16_f16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_pknorm_u16_f16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_u16_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_u16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_u16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_u16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_u16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_legacy_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_f32_f16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_i32_i16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_u32_u16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_i32_i8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_u32_u8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_i32_i4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_u32_u4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_exp_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_floor_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_floor_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_floor_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_floor_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_floor_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_f16_e64 v5, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_legacy_f16_e64 v5, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mix_f32 v0, -abs(v1), v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_fmaak_f32 v255, v1, v2, 0x1121
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16 v5, 0x1234, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmamk_f32 v255, v1, 0x1121, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fract_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_fract_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fract_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_fract_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_fract_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_exp_i16_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_exp_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_exp_i16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_exp_i16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_exp_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_mant_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_mant_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_mant_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_mant_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_frexp_mant_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_interp_p1ll_f16 v255, v2, attr0.x
+// CHECK: error: instruction not supported on this GPU
+
+v_interp_p1lv_f16 v255, v2, attr0.x, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_interp_p2_f16 v255, v2, attr0.x, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_interp_p2_legacy_f16 v255, v2, attr0.x, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_ldexp_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_ldexp_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_ldexp_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ldexp_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ldexp_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_log_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_log_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_log_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_log_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_log_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_add_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_or_b32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_lshlrev_b16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_lshlrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_lshlrev_b16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshlrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_lshlrev_b64 v[254:255], v1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_lshrrev_b16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_lshrrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_lshrrev_b16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshrrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_lshrrev_b64 v[254:255], v1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16_e64 v0, -4.0, flat_scratch_lo
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_i16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_i16_e64 v5, -1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_i32_i16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_i16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_i16_e64 v5, 0, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_u16_e64 v5, 0, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mix_f32 v0, -abs(v1), v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mixlo_f16 v0, abs(v1), -v2, abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_u16_e64 v5, -1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_u32_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_madak_f16 v0, src_lds_direct, v0, 0x1121
+// CHECK: error: instruction not supported on this GPU
+
+v_madmk_f16 v0, src_lds_direct, 0x1121, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_max3_f16 v0, src_lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_max3_i16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_max3_u16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_max_f16 v0, execz, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_max_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_max_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_max_i16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_max_i16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_max_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_max_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_med3_f16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_med3_i16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_med3_u16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x1f32 a[0:31], 1, v1, a[1:32]
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_min3_f16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_min3_i16 v0, src_lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_min3_u16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_min_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_min_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_min_i16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_min_i16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_min_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_min_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32 v0, v255 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_dpp v0, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_e32 v5, 1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_sdwa v0, 0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_lo_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_lo_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_lo_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mul_lo_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_or3_b32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_pack_b32_f16 v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_perm_b32 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_permlane16_b32 v0, lds_direct, s0, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_permlanex16_b32 v0, lds_direct, s0, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_pipeflush
+// CHECK: error: instruction not supported on this GPU
+
+v_pipeflush_e64
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_add_f16 v0, execz, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_add_i16 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_add_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_ashrrev_i16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_fma_f16 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_fmac_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_lshlrev_b16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_lshrrev_b16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mad_i16 v0, src_lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mad_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_max_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_max_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_max_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_min_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_min_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_min_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mul_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mul_lo_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_sub_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_sub_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_rndne_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_rndne_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_rndne_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rndne_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rndne_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16_e64 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_e64 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_sdwa v5, v1 src0_sel:BYTE_0
+// CHECK: error: instruction not supported on this GPU
+
+v_sin_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_sin_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sin_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sin_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sin_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sqrt_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_sqrt_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sqrt_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sqrt_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sqrt_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_e32 v255, vcc, v1, v2, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32 v1, 4.0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_e32 v1, s1, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32 v0, vcc, src_lds_direct, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32 v0, vcc_lo, src_lds_direct, v0, vcc_lo
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_e32 v1, 0, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_f16 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_e32 v1, s1, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_swap_b32 v1, 1
+// CHECK: error: instruction not supported on this GPU
+
+v_swap_b32_e32 v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_swaprel_b32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_trunc_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: instruction not supported on this GPU
+
+v_trunc_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_trunc_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_trunc_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_trunc_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_xad_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_xor3_b32 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// Unsupported e64 variants.
+//===----------------------------------------------------------------------===//
+
+v_interp_mov_f32_e64 v255, p10, attr0.x
+// CHECK: error: e64 variant of this instruction is not supported
+
+v_interp_p1_f32_e64 v255, v2, attr0.x
+// CHECK: error: e64 variant of this instruction is not supported
+
+v_interp_p2_f32_e64 v255, v2, attr0.x
+// CHECK: error: e64 variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported dpp variants.
+//===----------------------------------------------------------------------===//
+
+v_add_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_addc_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_and_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_ashrrev_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_bfrev_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_ceil_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cos_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f16_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_i32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_u32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_ubyte0_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_ubyte1_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_ubyte2_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_f32_ubyte3_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_flr_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_off_f32_i4_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_rpi_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_cvt_u32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_exp_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_exp_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_ffbh_i32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_ffbh_u32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_ffbl_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_floor_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_fract_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_frexp_exp_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_frexp_mant_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_log_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_log_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_lshlrev_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_lshrrev_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mac_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_max_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_max_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_max_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_min_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_min_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_min_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mov_b32_dpp v0, v1 row_bcast:15 row_mask:0x1 bank_mask:0x1
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_movreld_b32_dpp v1, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_movrels_b32_dpp v1, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_movrelsd_b32_dpp v0, v255 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_hi_i32_i24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_hi_u32_u24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_i32_i24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_legacy_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_mul_u32_u24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_not_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_or_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_rcp_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_rcp_iflag_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_rndne_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_rsq_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_sin_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_sqrt_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_sub_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_subb_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_subbrev_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_subrev_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_trunc_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_xor_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported sdwa variants.
+//===----------------------------------------------------------------------===//
+
+v_add_f32_sdwa v0, v0, v0 dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_addc_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_and_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_ashrrev_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_bfrev_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_ceil_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_class_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_eq_f32_sdwa exec, s2, v2 src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_eq_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_eq_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_f_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_f_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_f_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_ge_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_ge_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_ge_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_gt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_gt_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_gt_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_le_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_le_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_le_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_lg_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_lt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_lt_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_lt_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_ne_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_ne_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_neq_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_nge_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_ngt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_nle_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_nlg_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_nlt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_o_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_t_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_t_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_tru_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmp_u_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_class_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_eq_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_eq_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_eq_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_f_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_f_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_f_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_ge_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_ge_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_ge_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_gt_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_gt_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_gt_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_le_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_le_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_le_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_lg_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_lt_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_lt_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_lt_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_ne_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_ne_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_neq_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_nge_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_ngt_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_nle_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_nlg_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_nlt_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_o_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_t_i32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_t_u32_sdwa exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_tru_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cmpx_u_f32_sdwa -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cos_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f16_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_i32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_u32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_ubyte0_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_ubyte1_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_ubyte2_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_f32_ubyte3_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_flr_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_off_f32_i4_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_rpi_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_cvt_u32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_exp_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_exp_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_ffbh_i32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_ffbh_u32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_ffbl_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_floor_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_fract_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_frexp_exp_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_frexp_mant_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_log_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_log_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_lshlrev_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_lshrrev_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mac_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_max_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_max_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_max_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_min_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_min_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_min_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mov_b32_sdwa v1, sext(-2+i1)
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_movreld_b32_sdwa v0, 64 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_movrels_b32_sdwa v0, 1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_movrelsd_b32_sdwa v0, 1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_hi_i32_i24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_hi_u32_u24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_i32_i24_sdwa v1, v2, v3 clamp
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_legacy_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mul_u32_u24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_nop_sdwa
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_not_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_or_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_rcp_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_rcp_iflag_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_rndne_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_rsq_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_sin_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_sqrt_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_sub_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_subb_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_subbrev_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_subrev_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_trunc_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_xor_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
--- /dev/null
+// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck --implicit-check-not=error: %s
+
+//===----------------------------------------------------------------------===//
+// Unsupported instructions.
+//===----------------------------------------------------------------------===//
+
+buffer_atomic_add_f32 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fcmpswap v[0:1], off, s[0:3], s0 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fcmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmax v0, off, s[0:3], s0 offset:4095 glc
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmin v0, off, s[0:3], s0
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_pk_add_f16 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_gl0_inv
+// CHECK: error: instruction not supported on this GPU
+
+buffer_gl1_inv
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_format_d16_hi_x v5, off, s[8:11], s3
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_sbyte_d16 v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_sbyte_d16_hi v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_short_d16 v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_short_d16_hi v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_ubyte_d16 v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_load_ubyte_d16_hi v1, off, s[4:7], s1
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_byte_d16_hi v1, off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 glc
+// CHECK: error: instruction not supported on this GPU
+
+buffer_store_short_d16_hi v1, off, s[12:15], -1 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_addtid_b32 v255 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_i8_d16 v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_i8_d16_hi v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u16_d16 v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u16_d16_hi v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u8_d16 v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_read_u8_d16_hi v255, v1 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_write_addtid_b32 v255 offset:65535
+// CHECK: error: instruction not supported on this GPU
+
+ds_write_b16_d16_hi v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+ds_write_b8_d16_hi v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fcmpswap v0, v[1:2], v[2:3] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fcmpswap_x2 v[0:1], v[1:2], v[2:5] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmax v0, v[1:2], v2 glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmax_x2 v[0:1], v[1:2], v[2:3] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmin v0, v[1:2], v2 glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmin_x2 v[0:1], v[1:2], v[2:3] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_sbyte_d16 v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_sbyte_d16_hi v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_short_d16 v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_short_d16_hi v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_ubyte_d16 v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_load_ubyte_d16_hi v1, v[3:4]
+// CHECK: error: instruction not supported on this GPU
+
+flat_store_byte_d16_hi v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+flat_store_short_d16_hi v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add v0, v[1:2], v2, off glc slc
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add_f32 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_and v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_and_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_cmpswap v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_cmpswap_x2 v[1:2], v[252:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_dec v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_dec_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_inc v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_inc_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_or v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_or_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_pk_add_f16 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smax v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smax_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smin v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_smin_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_sub v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_sub_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_swap v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_swap_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umax v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umax_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umin v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_umin_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_xor v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_xor_x2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dword v1, v3, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dwordx2 v[1:2], v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dwordx3 v[1:3], v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_dwordx4 v[1:4], v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sbyte v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sbyte_d16 v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sbyte_d16_hi v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_short_d16 v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_short_d16_hi v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_sshort v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ubyte v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ubyte_d16 v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ubyte_d16_hi v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_load_ushort v1, v[3:4], off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_byte v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_byte_d16_hi v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dword v254, v1, s[2:3] offset:16
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dwordx2 v[1:2], v[254:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dwordx3 v[1:2], v[253:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_store_dwordx4 v[1:2], v[252:255], off offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+global_store_short v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_store_short_d16_hi v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+s_and_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_saveexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_add s5, s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_add_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_and s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_and_x2 s[10:11], s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_cmpswap s[10:11], s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_dec s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_dec_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_inc s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_inc_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_or s5, s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_or_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smax s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smax_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smin s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_smin_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_sub s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_sub_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_swap s5, s[2:3], -1
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_swap_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umax s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umax_x2 s[10:11], s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umin s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_umin_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_xor s5, s[2:3], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_atomic_xor_x2 s[10:11], s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_bitreplicate_b64_b32 exec, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_add s5, s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_add_x2 s[10:11], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_and s101, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_and_x2 s[10:11], s[8:11], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_dec s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_inc s101, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_or s5, s[8:11], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_or_x2 s[10:11], s[96:99], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smax s5, s[4:7], s101
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smin s5, s[4:7], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_sub s5, s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_swap s5, s[4:7], -1
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umax s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umin s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_xor s5, s[4:7], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_call_b64 exec, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_clause 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_code_end
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_discard s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_dcache_discard_x2 s[2:3], 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_denorm_mode 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_endpgm_ordered_ps_done
+// CHECK: error: instruction not supported on this GPU
+
+s_get_waveid_in_workgroup s0
+// CHECK: error: instruction not supported on this GPU
+
+s_gl1_inv
+// CHECK: error: instruction not supported on this GPU
+
+s_inst_prefetch 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl1_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl2_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl3_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_lshl4_add_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_movrelsd_2_b32 s0, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_mul_hi_i32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_mul_hi_u32 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_nand_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_nor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_or_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b64 exec, s[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+s_orn2_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_pack_hh_b32_b16 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_pack_lh_b32_b16 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_pack_ll_b32_b16 exec_hi, s1, s2
+// CHECK: error: instruction not supported on this GPU
+
+s_round_mode 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_load_dword s5, s[2:3], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_load_dwordx2 s[100:101], s[2:3], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_load_dwordx4 s[20:23], s[4:5], s0
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_store_dword s1, s[4:5], 0x123 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc
+// CHECK: error: instruction not supported on this GPU
+
+s_subvector_loop_begin exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_subvector_loop_end exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_ttracedata_imm 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_version 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_expcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_lgkmcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_vmcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_vscnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_xnor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_xor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dword v0, v1, off offset:-2048 glc slc
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dwordx2 v[1:2], v3, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dwordx3 v[1:3], v4, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_dwordx4 v[1:4], v5, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sbyte v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sbyte_d16 v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sbyte_d16_hi v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_short_d16 v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_short_d16_hi v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_sshort v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ubyte v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ubyte_d16 v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ubyte_d16_hi v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_load_ushort v1, v2, off
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_byte off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_byte_d16_hi off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dword off, v2, exec_hi
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dwordx2 off, v[254:255], s3 offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dwordx3 off, v[253:255], s3 offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_dwordx4 off, v[252:255], s3 offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_short off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+scratch_store_short_d16_hi off, v2, flat_scratch_hi offset:-1
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_read_b32 a0, a0
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_write_b32 a0, 65
+// CHECK: error: instruction not supported on this GPU
+
+v_add3_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32 v1, sext(v1), sext(v4) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_e32 v255, vcc, v1, v2, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_u32 v0, exec, v0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_u32_e32 v2, vcc, s0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_u32_e64 v0, s0, v0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i32 lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i32_e32 v0, vcc, 0.5, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_add_i32_e64 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_add_lshl_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32 v0, vcc, shared_base, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_e32 v3, vcc, 12345, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_and_or_b32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16 v5, -4.0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16 v5, s101
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_e32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_norm_u16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_pknorm_i16_f16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cvt_pknorm_u16_f16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_div_fixup_legacy_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_f32_f16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_i32_i16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_u32_u16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_i32_i8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_u32_u8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_i32_i4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_u32_u4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_legacy_f16_e64 v5, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mix_f32 v0, -abs(v1), v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_fmaak_f32 v255, v1, v2, 0x1121
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16 v5, 0x1234, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmamk_f32 v255, v1, 0x1121, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_interp_p2_legacy_f16 v255, v2, attr0.x, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_log_clamp_f32 v1, 0.5
+// CHECK: error: instruction not supported on this GPU
+
+v_log_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_add_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_or_b32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_legacy_f32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_legacy_f32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_i32_i16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_f16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_f16_e64 v5, 0.5, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_i16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_i16_e64 v5, 0, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_legacy_u16_e64 v5, 0, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mix_f32 v0, -abs(v1), v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_mixlo_f16 v0, abs(v1), -v2, abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_mad_u32_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_max3_f16 v0, src_lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_max3_i16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_max3_u16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_max_legacy_f32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_med3_f16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_med3_i16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_med3_u16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x1f32 a[0:31], 1, v1, a[1:32]
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_min3_f16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_min3_i16 v0, src_lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_min3_u16 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_min_legacy_f32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32 v0, v255 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_dpp v0, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_e32 v5, 1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_sdwa v0, 0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_mullit_f32 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_or3_b32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_pack_b32_f16 v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_permlane16_b32 v0, lds_direct, s0, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_permlanex16_b32 v0, lds_direct, s0, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_pipeflush
+// CHECK: error: instruction not supported on this GPU
+
+v_pipeflush_e64
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_add_f16 v0, execz, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_add_i16 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_add_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_ashrrev_i16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_fma_f16 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_fmac_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_lshlrev_b16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_lshrrev_b16 v0, lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mad_i16 v0, src_lds_direct, v0, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mad_u16 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_max_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_max_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_max_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_min_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_min_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_min_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mul_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_mul_lo_u16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_sub_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_sub_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_legacy_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_legacy_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16_e64 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_sat_pk_u8_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_e64 v5, -1
+// CHECK: error: instruction not supported on this GPU
+
+v_screen_partition_4se_b32_sdwa v5, v1 src0_sel:BYTE_0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_e32 v255, vcc, v1, v2, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_u32 v0, s0, v0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_u32_e32 v2, vcc, s0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_u32_e64 v0, s0, v0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i32 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_i32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32 v0, vcc, src_lds_direct, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32 v0, vcc_lo, src_lds_direct, v0, vcc_lo
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_e32 v1, 0, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_u32 v0, s0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_u32_e32 v2, vcc, s0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_u32_e64 v0, s0, v0, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_i32 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_i32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_swap_b32 v1, 1
+// CHECK: error: instruction not supported on this GPU
+
+v_swap_b32_e32 v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_swaprel_b32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_xad_u32 v1, v2, v3, v4
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_xor3_b32 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// Unsupported e32 variants.
+//===----------------------------------------------------------------------===//
+
+v_cvt_pkrtz_f16_f32_e32 v255, v1, v2
+// CHECK: error: e32 variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported dpp variants.
+//===----------------------------------------------------------------------===//
+
+v_movreld_b32_dpp v1, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_movrels_b32_dpp v1, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// CHECK: error: dpp variant of this instruction is not supported
+
+v_movrelsd_b32_dpp v0, v255 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: dpp variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported sdwa variants.
+//===----------------------------------------------------------------------===//
+
+v_movreld_b32_sdwa v0, 64 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_movrels_b32_sdwa v0, 1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_movrelsd_b32_sdwa v0, 1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
--- /dev/null
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck --implicit-check-not=error: %s
+
+//===----------------------------------------------------------------------===//
+// Unsupported instructions.
+//===----------------------------------------------------------------------===//
+
+buffer_atomic_add_f32 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fcmpswap v[0:1], off, s[0:3], s0 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fcmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmax v0, off, s[0:3], s0 offset:4095 glc
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmin v0, off, s[0:3], s0
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_fmin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc
+// CHECK: error: instruction not supported on this GPU
+
+buffer_atomic_pk_add_f16 v255, off, s[8:11], s3 offset:4095
+// CHECK: error: instruction not supported on this GPU
+
+buffer_gl0_inv
+// CHECK: error: instruction not supported on this GPU
+
+buffer_gl1_inv
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fcmpswap v0, v[1:2], v[2:3] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fcmpswap_x2 v[0:1], v[1:2], v[2:5] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmax v0, v[1:2], v2 glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmax_x2 v[0:1], v[1:2], v[2:3] glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmin v0, v[1:2], v2 glc
+// CHECK: error: instruction not supported on this GPU
+
+flat_atomic_fmin_x2 v[0:1], v[1:2], v[2:3] glc
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_add_f32 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+global_atomic_pk_add_f16 v[1:2], v2, off
+// CHECK: error: instruction not supported on this GPU
+
+s_and_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_clause 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_code_end
+// CHECK: error: instruction not supported on this GPU
+
+s_denorm_mode 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_get_waveid_in_workgroup s0
+// CHECK: error: instruction not supported on this GPU
+
+s_gl1_inv
+// CHECK: error: instruction not supported on this GPU
+
+s_inst_prefetch 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_movrelsd_2_b32 s0, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_nand_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_nor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_or_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_orn2_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_round_mode 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_subvector_loop_begin exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_subvector_loop_end exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_ttracedata_imm 0x0
+// CHECK: error: instruction not supported on this GPU
+
+s_version 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_expcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_lgkmcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_vmcnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_waitcnt_vscnt exec_hi, 0x1234
+// CHECK: error: instruction not supported on this GPU
+
+s_xnor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+s_xor_saveexec_b32 exec_hi, s1
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_read_b32 a0, a0
+// CHECK: error: instruction not supported on this GPU
+
+v_accvgpr_write_b32 a0, 65
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32 v1, sext(v1), sext(v4) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_e32 v255, vcc, v1, v2, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_add_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32 v0, vcc, exec_hi, v0, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_e32 v1, -1, v2, v3, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_e64 v0, s[0:1], s0, s0, s[0:1]
+// CHECK: error: instruction not supported on this GPU
+
+v_addc_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_ashr_i64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmps_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f32 vcc, -1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f64 vcc, -1, v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_cmpsx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_f32_f16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_i32_i16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2_u32_u16 v0, -v1, -v2, -v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_f32_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot2c_i32_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_i32_i8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4_u32_u8 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_dot4c_i32_i8_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_i32_i4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8_u32_u4 v0, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_dot8c_i32_i4_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mix_f32 v0, -abs(v1), v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3)
+// CHECK: error: instruction not supported on this GPU
+
+v_fmaak_f32 v255, v1, v2, 0x1121
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16 v5, 0x1234, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f16_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmac_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_fmamk_f32 v255, v1, 0x1121, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_log_clamp_f32 v1, 0.5
+// CHECK: error: instruction not supported on this GPU
+
+v_log_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshl_b64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_lshr_b64 v[254:255], v[1:2], v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_legacy_f32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_legacy_f32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mac_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_legacy_f32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_max_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x1f32 a[0:31], 1, v1, a[1:32]
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_legacy_f32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_min_legacy_f32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_movreld_b32 v0, 123
+// CHECK: error: instruction not supported on this GPU
+
+v_movreld_b32_dpp v1, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_movreld_b32_e32 v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_movreld_b32_e64 v0, flat_scratch_hi
+// CHECK: error: instruction not supported on this GPU
+
+v_movreld_b32_sdwa v0, 64 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_movrels_b32 v0, v2 dpp8:[0,0,0,0,0,0,0,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_movrels_b32_dpp v1, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrels_b32_e32 v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_movrels_b32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrels_b32_sdwa v0, 1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32 v0, v255 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_dpp v0, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_e32 v5, 1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_2_b32_sdwa v0, 0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_b32 v0, v2 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_b32_dpp v0, v255 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_b32_e32 v1, s2
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_b32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_movrelsd_b32_sdwa v0, 1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_mullit_f32 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_permlane16_b32 v0, lds_direct, s0, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_permlanex16_b32 v0, lds_direct, s0, s0
+// CHECK: error: instruction not supported on this GPU
+
+v_pipeflush
+// CHECK: error: instruction not supported on this GPU
+
+v_pipeflush_e64
+// CHECK: error: instruction not supported on this GPU
+
+v_pk_fmac_f16 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_legacy_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rcp_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_legacy_f32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_rsq_legacy_f32_e64 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_e32 v255, vcc, v1, v2, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_i16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_i32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u16 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_sub_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32 v1, s[0:1], v2, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subb_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32 v1, s[0:1], v2, v3, vcc
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: error: instruction not supported on this GPU
+
+v_subbrev_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32 v0, vcc_lo, src_lds_direct, v0, vcc_lo
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0]
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_e32 v1, 0, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_e64 v255, s12, v1, v2, s6
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_i32 v1, s[0:1], v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_i32_e64 v255, s[12:13], v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32 v0, src_lds_direct, v0
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_subrev_nc_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_swaprel_b32 v255, v1
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32 v0, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_e32 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_e64 v255, v1, v2
+// CHECK: error: instruction not supported on this GPU
+
+v_xnor_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: instruction not supported on this GPU
+
+v_xor3_b32 v255, v1, v2, v3
+// CHECK: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// Unsupported e32 variants.
+//===----------------------------------------------------------------------===//
+
+v_add_i32_e32 v0, vcc, 0.5, v0
+// CHECK: error: e32 variant of this instruction is not supported
+
+v_cvt_pkrtz_f16_f32_e32 v255, v1, v2
+// CHECK: error: e32 variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported e64 variants.
+//===----------------------------------------------------------------------===//
+
+v_swap_b32_e64 v1, v2
+// CHECK: error: e64 variant of this instruction is not supported
+
+//===----------------------------------------------------------------------===//
+// Unsupported sdwa variants.
+//===----------------------------------------------------------------------===//
+
+v_mac_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
+
+v_mac_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: error: sdwa variant of this instruction is not supported
-# RUN: not llvm-mc -triple amdgcn < %s 2>&1 | FileCheck %s
+# RUN: not llvm-mc -triple amdgcn < %s 2>&1 | FileCheck --strict-whitespace %s
# This tests the mnemonic spell checker.
v2, v4, v6
-# CHECK: unknown token in expression
-# CHECK-NEXT: v2, v4, v6
-# CHECK-NEXT: ^
+# CHECK: error: invalid instruction
+# CHECK-NEXT:{{^}}v2, v4, v6
+# CHECK-NEXT:{{^}}^
# We don't want to see a suggestion here; the edit distance is too large to
# give sensible suggestions:
aaaaaaaaaaaaaaa v1, v2, v3
# CHECK: error: invalid instruction
-# CHECK-NEXT: aaaaaaaaaaaaaaa v1, v2, v3
-# CHECK-NEXT: ^
+# CHECK-NEXT:{{^}}aaaaaaaaaaaaaaa v1, v2, v3
+# CHECK-NEXT:{{^}}^
# Check that we get one suggestion: 'dsc_write_src2_b64' is 1 edit away, i.e. an deletion.
dsc_write_src2_b64 v1, v2, v3
# CHECK: error: invalid instruction, did you mean: ds_write_src2_b64?
-# CHECK-NEXT: dsc_write_src2_b64 v1, v2, v3
-# CHECK-NEXT: ^
+# CHECK-NEXT:{{^}}dsc_write_src2_b64 v1, v2, v3
+# CHECK-NEXT:{{^}}^
# Check edit distance 1 and 2, just insertions:
s_mov_b v1, v2
# CHECK: error: invalid instruction, did you mean: s_mov_b32, s_mov_b64?
-# CHECK-NEXT: s_mov_b v1, v2
-# CHECK-NEXT: ^
+# CHECK-NEXT:{{^}}s_mov_b v1, v2
+# CHECK-NEXT:{{^}}^
# Check an instruction that is 2 edits away, and also has a lot of candidates:
s_load_dwordx v1, v2, v3
# CHECK: error: invalid instruction, did you mean: s_load_dword, s_load_dwordx16, s_load_dwordx2, s_load_dwordx4, s_load_dwordx8?
-# CHECK-NEXT: s_load_dwordx v1, v2, v3
-# CHECK-NEXT: ^
+# CHECK-NEXT:{{^}}s_load_dwordx v1, v2, v3
+# CHECK-NEXT:{{^}}^
// NOGCN: error: invalid operand for instruction
s_mov_b64 s[0:1], 0x1000000fff
-// NOGCN: error: invalid operand for instruction
+// NOGFX89: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
+// NOCIVI: error: invalid operand for instruction
v_trunc_f64 v[0:1], 0x1fffffffff0
-// NOGCN: error: invalid operand for instruction
+// NOGFX89: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
+// NOCIVI: error: invalid operand for instruction
v_trunc_f64 v[0:1], 0x100000001
-// NOGCN: error: invalid operand for instruction
+// NOGFX89: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
+// NOCIVI: error: invalid operand for instruction
v_trunc_f64 v[0:1], 0x1fffffff000
//---------------------------------------------------------------------------//
// GFX89: v_add_u16_e32 v0, src_vccz, v0 ; encoding: [0xfb,0x00,0x00,0x4c]
v_add_u16 v0, vccz, v0
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_add_u16_sdwa v0, src_scc, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0xfd,0x06,0x86,0x06]
v_add_u16_sdwa v0, scc, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_add_u16_sdwa v0, v0, src_scc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfa,0x01,0x4c,0x00,0x06,0x06,0x86]
v_add_u16_sdwa v0, v0, scc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// GFX9: v_pk_add_f16 v0, src_execz, v0 ; encoding: [0x00,0x00,0x8f,0xd3,0xfc,0x00,0x02,0x18]
v_pk_add_f16 v0, execz, v0
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_ceil_f16_e64 v0, -src_vccz ; encoding: [0x00,0x00,0x85,0xd1,0xfb,0x00,0x00,0x20]
v_ceil_f16 v0, neg(vccz)
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_ceil_f16_e64 v0, |src_scc| ; encoding: [0x00,0x01,0x85,0xd1,0xfd,0x00,0x00,0x00]
v_ceil_f16 v0, abs(scc)
-// NOSI: error: not a valid operand
+// NOSI: error: instruction not supported on this GPU
// CI: v_ceil_f64_e64 v[5:6], |src_execz| ; encoding: [0x05,0x01,0x30,0xd3,0xfc,0x00,0x00,0x00]
// GFX89: v_ceil_f64_e64 v[5:6], |src_execz| ; encoding: [0x05,0x01,0x58,0xd1,0xfc,0x00,0x00,0x00]
v_ceil_f64 v[5:6], |execz|
-// NOSI: error: not a valid operand
+// NOSI: error: instruction not supported on this GPU
// CI: v_ceil_f64_e64 v[5:6], -vcc ; encoding: [0x05,0x00,0x30,0xd3,0x6a,0x00,0x00,0x20]
// GFX89: v_ceil_f64_e64 v[5:6], -vcc ; encoding: [0x05,0x00,0x58,0xd1,0x6a,0x00,0x00,0x20]
v_ceil_f64 v[5:6], -vcc
// GFX89: v_ceil_f32_e64 v0, |src_execz| ; encoding: [0x00,0x01,0x5d,0xd1,0xfc,0x00,0x00,0x00]
v_ceil_f32 v0, |execz|
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_ceil_f16_sdwa v5, |src_vccz| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xfb,0x16,0xa6,0x00]
v_ceil_f16_sdwa v5, |vccz| dst_sel:DWORD dst_unused:UNUSED_PRESERVE
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_ceil_f16_sdwa v5, -src_scc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xfd,0x16,0x96,0x00]
v_ceil_f16_sdwa v5, -scc dst_sel:DWORD dst_unused:UNUSED_PRESERVE
-// NOSICIVI: error: invalid operand for instruction
// GFX9: v_ceil_f32_sdwa v5, src_vccz dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xfb,0x16,0x86,0x00]
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOVI: error: invalid operand for instruction
v_ceil_f32_sdwa v5, vccz dst_sel:DWORD src0_sel:DWORD
-// NOSICIVI: error: invalid operand for instruction
// GFX9: v_ceil_f32_sdwa v5, |src_execz| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xfc,0x16,0xa6,0x00]
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOVI: error: invalid operand for instruction
v_ceil_f32_sdwa v5, |execz| dst_sel:DWORD src0_sel:DWORD
//---------------------------------------------------------------------------//
// GFX9: s_add_i32 s0, src_shared_base, s0 ; encoding: [0xeb,0x00,0x00,0x81]
s_add_i32 s0, src_shared_base, s0
-
-
-
-
-
-
// NOSICIVI: error: register not available on this GPU
// GFX9: s_add_i32 s0, src_shared_limit, s0 ; encoding: [0xec,0x00,0x00,0x81]
s_add_i32 s0, src_shared_limit, s0
// GFX9: s_and_b64 s[0:1], s[0:1], src_pops_exiting_wave_id ; encoding: [0x00,0xef,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_pops_exiting_wave_id
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_add_u16_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x4c]
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_add_u16 v0, src_shared_base, v0
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_add_u16_sdwa v0, src_shared_base, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0xeb,0x06,0x86,0x06]
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_add_u16_sdwa v0, src_shared_base, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_add_u16_sdwa v0, v0, src_shared_base dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xd6,0x01,0x4c,0x00,0x06,0x06,0x86]
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_add_u16_sdwa v0, v0, src_shared_base dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_add_u32_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x68]
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_add_u32 v0, src_shared_base, v0
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_add_u32_e64 v0, src_shared_base, v0 ; encoding: [0x00,0x00,0x34,0xd1,0xeb,0x00,0x02,0x00]
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_add_u32_e64 v0, src_shared_base, v0
// NOSICIVI: error: register not available on this GPU
// GFX9: v_cmp_eq_i64_e32 vcc, src_shared_base, v[0:1] ; encoding: [0xeb,0x00,0xc4,0x7d]
v_cmp_eq_i64 vcc, src_shared_base, v[0:1]
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_max_f16_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x5a]
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_max_f16 v0, src_shared_base, v0
// NOSICIVI: error: register not available on this GPU
// GFX9: v_max_f64 v[0:1], src_shared_base, v[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xeb,0x00,0x02,0x00]
v_max_f64 v[0:1], src_shared_base, v[0:1]
-// NOSICIVI: error: register not available on this GPU
+// NOSICIVI: error: instruction not supported on this GPU
// GFX9: v_pk_add_f16 v0, src_shared_base, v0 ; encoding: [0x00,0x00,0x8f,0xd3,0xeb,0x00,0x02,0x18]
v_pk_add_f16 v0, src_shared_base, v0
// GFX9: v_ceil_f16_e64 v0, -src_shared_base ; encoding: [0x00,0x00,0x85,0xd1,0xeb,0x00,0x00,0x20]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
v_ceil_f16 v0, neg(src_shared_base)
// GFX9: v_ceil_f16_e64 v0, |src_shared_base| ; encoding: [0x00,0x01,0x85,0xd1,0xeb,0x00,0x00,0x00]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
v_ceil_f16 v0, abs(src_shared_base)
// GFX9: v_ceil_f64_e64 v[5:6], |src_shared_base| ; encoding: [0x05,0x01,0x58,0xd1,0xeb,0x00,0x00,0x00]
-// NOSI: error: not a valid operand.
+// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: register not available on this GPU
// NOVI: error: register not available on this GPU
v_ceil_f64 v[5:6], |src_shared_base|
// GFX9: v_ceil_f64_e64 v[5:6], -src_shared_base ; encoding: [0x05,0x00,0x58,0xd1,0xeb,0x00,0x00,0x20]
-// NOSI: error: not a valid operand.
+// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: register not available on this GPU
// NOVI: error: register not available on this GPU
v_ceil_f64 v[5:6], -src_shared_base
v_ceil_f32 v0, |src_shared_base|
// GFX9: v_ceil_f16_sdwa v5, |src_shared_base| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xeb,0x16,0xa6,0x00]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
v_ceil_f16_sdwa v5, |src_shared_base| dst_sel:DWORD dst_unused:UNUSED_PRESERVE
// GFX9: v_ceil_f16_sdwa v5, -src_shared_base dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xeb,0x16,0x96,0x00]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
v_ceil_f16_sdwa v5, -src_shared_base dst_sel:DWORD dst_unused:UNUSED_PRESERVE
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_ceil_f32_sdwa v5, src_shared_base dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xeb,0x16,0x86,0x00]
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOVI: error: register not available on this GPU
v_ceil_f32_sdwa v5, src_shared_base dst_sel:DWORD src0_sel:DWORD
-// NOSICIVI: error: register not available on this GPU
// GFX9: v_ceil_f32_sdwa v5, |src_shared_base| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xeb,0x16,0xa6,0x00]
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOVI: error: register not available on this GPU
v_ceil_f32_sdwa v5, |src_shared_base| dst_sel:DWORD src0_sel:DWORD
//---------------------------------------------------------------------------//
// named inline values compete with other scalars for constant bus access
//---------------------------------------------------------------------------//
-// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: register not available on this GPU
v_add_u32 v0, private_base, s0
// NOSICIVI: error: instruction not supported on this GPU
v_div_fmas_f32 v0, v0, v1, vccz
// v_addc_co_u32 implicitly reads VCC (VOP2)
-// NOSICIVI: error: register not available on this GPU
+// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
v_addc_co_u32 v0, vcc, shared_base, v0, vcc
// NOGCN: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32 s[0:1], execz, s0
-// NOSICIVI: error: register not available on this GPU
+// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
v_pk_add_f16 v255, private_base, private_limit
v_mad_mix_f32 v0, abs(v1), v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, |v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// FIXME: Improve diagnistics
v_mad_mix_f32 v0, v1, abs(v2), v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, |v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, abs(v3)
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, |v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, -v1, v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, -v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x24]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, -v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, -v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x44]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, -v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, -v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x84]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, -abs(v1), v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, -|v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x24]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, -abs(v2), v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, -|v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x44]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, -abs(v3)
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, -|v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x84]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, abs(v1), -v2, abs(v3)
// GFX9-MADMIX: v_mad_mixlo_f16 v0, |v1|, -v2, |v3| ; encoding: [0x00,0x05,0xa1,0xd3,0x01,0x05,0x0e,0x44]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
// GFX9-MADMIX: v_mad_mixhi_f16 v0, -v1, |v2|, -|v3| ; encoding: [0x00,0x06,0xa2,0xd3,0x01,0x05,0x0e,0xa4]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, v1, v2, v3 clamp
// GFX9-MADMIX: v_mad_mixlo_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa1,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: invalid operand for instruction
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, v1, v2, v3 clamp
// GFX9-MADMIX: v_mad_mixhi_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa2,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: invalid operand for instruction
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
//
// op_sel with non-packed instructions
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,0,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// FIXME: Improve diagnistics
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0] ; encoding: [0x00,0x08,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0] ; encoding: [0x00,0x10,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1] ; encoding: [0x00,0x20,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1] ; encoding: [0x00,0x38,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x0c]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x14]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x04]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x1c]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-MADMIX: v_mad_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa1,0xd3,0x01,0x05,0x0e,0x0c]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-MADMIX: v_mad_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa2,0xd3,0x01,0x05,0x0e,0x0c]
-// GFX9-FMAMIX-ERR: error: not a valid operand.
+// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
v_accvgpr_read_b32 v0, v0
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_read_b32 a0, a0
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_read_b32 v0, 1
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_read_b32 v0, s0
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_read_b32 v0, a0
// GFX900: error: instruction not supported on this GPU
v_accvgpr_write_b32 v0, v0
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_write_b32 a0, a0
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_write_b32 a0, s0
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_write_b32 a0, 65
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_accvgpr_write_b32 a0, v0
// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 v[0:31], v0, v1, a[1:32]
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, v[1:32]
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], s0, v1, a[1:32]
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], 1, v1, a[1:32]
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 65
// GFX908: error: invalid operand for instruction
-// GFX900: error: invalid operand for instruction
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 0
// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2
// GFX908: error: invalid literal operand
v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
// GFX908: error: invalid literal operand
v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
// GFX908: error: invalid literal operand
-// GFX900: error: not a valid operand.
+// GFX900: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe0,0x00,0x05,0x02,0x03]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 idxen offset:4095
// GFX9: buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x98,0xe0,0x00,0x05,0x02,0x03]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 offen offset:4095
// GFX9: buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x98,0xe0,0x00,0x05,0x02,0x03]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 glc
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x98,0xe0,0x00,0x05,0x02,0x03]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 slc
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x9a,0xe0,0x00,0x05,0x02,0x03]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v255, off, s[12:15], s4
// GFX9: buffer_store_format_d16_hi_x v255, off, s[12:15], s4 ; encoding: [0x00,0x00,0x9c,0xe0,0x00,0xff,0x03,0x04]
buffer_store_format_d16_hi_x v255, off, s[12:15], s4 offset:4095
// GFX9: buffer_store_format_d16_hi_x v255, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe0,0x00,0xff,0x03,0x04]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 idxen offset:4095
// GFX9: buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x9c,0xe0,0x00,0x01,0x03,0x04]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 offen offset:4095
// GFX9: buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x9c,0xe0,0x00,0x01,0x03,0x04]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 glc
// GFX9: buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x9c,0xe0,0x00,0x01,0x03,0x04]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 slc
// GFX9: buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x9e,0xe0,0x00,0x01,0x03,0x04]
-// VI-ERR: error: not a valid operand.
+// VI-ERR: error: instruction not supported on this GPU
buffer_atomic_fcmpswap v[0:1], off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fcmpswap v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xf8,0xe0,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fcmpswap v[0:1], v[0:1], s[0:3], s0 addr64 offset:4095
// SICI: buffer_atomic_fcmpswap v[0:1], v[0:1], s[0:3], s0 addr64 offset:4095 ; encoding: [0xff,0x8f,0xf8,0xe0,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fcmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fcmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe1,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fcmpswap_x2 v[0:3], v0, s[0:3], s0 idxen offset:4095
// SICI: buffer_atomic_fcmpswap_x2 v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x78,0xe1,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmax v1, off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fmax v1, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x01,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmax v0, off, s[0:3], s0 offset:7
// SICI: buffer_atomic_fmax v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x00,0xe1,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmax v0, off, s[0:3], s0 offset:4095 glc
// SICI: buffer_atomic_fmax v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x00,0xe1,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmax_x2 v[5:6], off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fmax_x2 v[5:6], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095
// SICI: buffer_atomic_fmax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x80,0xe1,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmin v0, v[0:1], s[0:3], s0 addr64 offset:4095
// SICI: buffer_atomic_fmin v0, v[0:1], s[0:3], s0 addr64 offset:4095 ; encoding: [0xff,0x8f,0xfc,0xe0,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmin v0, off, s[0:3], s0
// SICI: buffer_atomic_fmin v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
buffer_atomic_fmin v0, off, s[0:3], s0 offset:0
// SICI: buffer_atomic_fmin v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc
// SICI: buffer_atomic_fmin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x7c,0xe1,0x00,0x00,0x40,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
buffer_atomic_fmin_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095
// SICI: buffer_atomic_fmin_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x7c,0xe1,0x00,0x00,0x00,0x00]
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// Lds support
// VI: buffer_store_lds_dword s[4:7], s0 lds ; encoding: [0x00,0x00,0xf5,0xe0,0x00,0x00,0x01,0x00]
buffer_store_lds_dword s[4:7], s0 offset:4095 lds
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI: buffer_store_lds_dword s[4:7], s0 offset:4095 lds ; encoding: [0xff,0x0f,0xf5,0xe0,0x00,0x00,0x01,0x00]
buffer_store_lds_dword s[4:7], s8 offset:4 lds glc slc
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI: buffer_store_lds_dword s[4:7], s8 offset:4 lds glc slc ; encoding: [0x04,0x40,0xf7,0xe0,0x00,0x00,0x01,0x08]
buffer_load_dwordx2 v[1:2], off, s[4:7], s1 lds
// NOSICIVI: error: invalid operand for instruction
buffer_store_lds_dword s[4:7], s8 offset:4 lds tfe
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
buffer_store_lds_dword s[4:7], s8 offset:4 tfe lds
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck -check-prefixes=GCN-ERR,SICIVI9-ERR,SIVICI-ERR,SI-ERR --implicit-check-not=error: %s
-// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefixes=GCN-ERR,SICIVI9-ERR,SIVICI-ERR,CIVI9-ERR --implicit-check-not=error: %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefixes=GCN-ERR,SICIVI9-ERR,SIVICI-ERR,CIVI9-ERR,VI-ERR --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck -check-prefixes=GCN-ERR,GFX9-ERR,SICIVI9-ERR,CIVI9-ERR --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck -check-prefixes=GCN-ERR,GFX10-ERR --implicit-check-not=error: %s
// GFX10: s_add_i32 s105, s0, s1 ; encoding:
v_add_i32 v256, v0, v1
-// GCN-ERR: error: register index is out of range
+// GFX10-ERR: error: instruction not supported on this GPU
+// GFX9-ERR: error: register index is out of range
+// SI-ERR: error: register index is out of range
+// VI-ERR: error: instruction not supported on this GPU
v_add_i32 v257, v0, v1
-// GCN-ERR: error: register index is out of range
+// GFX10-ERR: error: instruction not supported on this GPU
+// GFX9-ERR: error: register index is out of range
+// SI-ERR: error: register index is out of range
+// VI-ERR: error: instruction not supported on this GPU
s_mov_b64 s[0:17], -1
// GCN-ERR: error: invalid or unsupported register size
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOSICIVI -check-prefix=NOVI -check-prefix=NOSICIVIGFX10 -check-prefix=NOSICIVIGFX1030 --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck -check-prefix=NOGFX9 -check-prefix=NOGFX9GFX1012 --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1012 %s 2>&1 | FileCheck -check-prefix=NOSICIGFX10 -check-prefix=NOGFX9 -check-prefix=NOGFX9GFX1012 --implicit-check-not=error: %s
-// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1030 %s 2>&1 | FileCheck -check-prefix=NOSICIGFX1030 -check-prefix=NOSICIVIGFX10 -check-prefix=NOSICIVIGFX1030 -check-prefix=NOSICIGFX10 -check-prefix=NOGFX9 --implicit-check-not=error: %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1030 %s 2>&1 | FileCheck -check-prefix=NOSICIGFX1030 -check-prefix=NOSICIVIGFX10 -check-prefix=NOSICIVIGFX1030 -check-prefix=NOSICIGFX10 -check-prefix=NOGFX9 -check-prefix=NOGFX1030 --implicit-check-not=error: %s
s_dcache_wb
// GFX89: s_dcache_wb ; encoding: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00]
s_store_dword s1, s[2:3], 0xfc glc
// GFX89: s_store_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x43,0xc0,0xfc,0x00,0x00,0x00]
// GFX1012: s_store_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x41,0xf4,0xfc,0x00,0x00,0xfa]
-// NOSICIGFX1030: error: invalid operand for instruction
+// NOSICIGFX1030: error: instruction not supported on this GPU
s_store_dword s1, s[2:3], s4
// GFX89: s_store_dword s1, s[2:3], s4 ; encoding: [0x41,0x00,0x40,0xc0,0x04,0x00,0x00,0x00]
s_store_dword s1, s[2:3], s4 glc
// GFX89: s_store_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x41,0xc0,0x04,0x00,0x00,0x00]
// GFX1012: s_store_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x41,0xf4,0x00,0x00,0x00,0x08]
-// NOSICIGFX1030: error: invalid operand for instruction
+// NOSICIGFX1030: error: instruction not supported on this GPU
s_store_dword tba_lo, s[2:3], s4
// VI: s_store_dword tba_lo, s[2:3], s4 ; encoding: [0x01,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_store_dword tba_hi, s[2:3], s4
// VI: s_store_dword tba_hi, s[2:3], s4 ; encoding: [0x41,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_store_dword tma_lo, s[2:3], s4
// VI: s_store_dword tma_lo, s[2:3], s4 ; encoding: [0x81,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_store_dword tma_hi, s[2:3], s4
// VI: s_store_dword tma_hi, s[2:3], s4 ; encoding: [0xc1,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
// FIXME: Should error on SI instead of silently ignoring glc
s_load_dword s1, s[2:3], 0xfc glc
s_load_dword s1, s[2:3], s4 glc
// GFX89: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x01,0xc0,0x04,0x00,0x00,0x00]
// GFX10: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x01,0xf4,0x00,0x00,0x00,0x08]
+// SICI: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x04,0x82,0x00,0xc0]
s_buffer_store_dword s10, s[92:95], m0
// GFX89: s_buffer_store_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x60,0xc0,0x7c,0x00,0x00,0x00]
s_buffer_store_dword tba_lo, s[92:95], m0
// VI: s_buffer_store_dword tba_lo, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_buffer_store_dword tba_hi, s[92:95], m0
// VI: s_buffer_store_dword tba_hi, s[92:95], m0 ; encoding: [0x6e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_buffer_store_dword tma_lo, s[92:95], m0
// VI: s_buffer_store_dword tma_lo, s[92:95], m0 ; encoding: [0xae,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_buffer_store_dword tma_hi, s[92:95], m0
// VI: s_buffer_store_dword tma_hi, s[92:95], m0 ; encoding: [0xee,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
-// NOGFX9: error: register not available on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_buffer_store_dword ttmp0, s[92:95], m0
// VI: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1c,0x60,0xc0,0x7c,0x00,0x00,0x00]
s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc
// GFX89: s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x69,0xc0,0x7c,0x00,0x00,0x00]
-// NOSICIGFX1030: error: invalid operand for instruction
+// NOSICIGFX1030: error: instruction not supported on this GPU
// GFX1012: s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x69,0xf4,0x00,0x00,0x00,0xf8]
s_buffer_store_dwordx2 tba, s[92:95], m0 glc
// VI: s_buffer_store_dwordx2 tba, s[92:95], m0 glc ; encoding: [0x2e,0x1b,0x65,0xc0,0x7c,0x00,0x00,0x00]
-// NOSICI: error: invalid operand for instruction
-// NOGFX9: error: register not available on this GPU
+// NOSICI: error: instruction not supported on this GPU
+// NOGFX9GFX1012: error: register not available on this GPU
+// NOGFX1030: error: instruction not supported on this GPU
s_buffer_load_dword s10, s[92:95], m0
// GFX89: s_buffer_load_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x20,0xc0,0x7c,0x00,0x00,0x00]
s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc
// GFX89: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x29,0xc0,0x7c,0x00,0x00,0x00]
// GFX10: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x29,0xf4,0x00,0x00,0x00,0xf8]
+// SICI: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x7c,0x5c,0x84,0xc2]
//===----------------------------------------------------------------------===//
// s_scratch instructions
s_scratch_load_dword s5, s[2:3], s0 glc
// GFX9: s_scratch_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x15,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x15,0xf4,0x00,0x00,0x00,0x00]
-// NOSICIVIGFX1030: error: invalid operand for instruction
+// NOSICIVIGFX1030: error: instruction not supported on this GPU
s_scratch_load_dwordx2 s[100:101], s[2:3], s0
// GFX9: s_scratch_load_dwordx2 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x18,0xc0,0x00,0x00,0x00,0x00]
s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc
// GFX9: s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc ; encoding: [0x81,0x02,0x1b,0xc0,0x01,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc ; encoding: [0x81,0x02,0x19,0xf4,0x01,0x00,0x00,0xfa]
-// NOSICIVIGFX1030: error: invalid operand for instruction
+// NOSICIVIGFX1030: error: instruction not supported on this GPU
s_scratch_load_dwordx4 s[20:23], s[4:5], s0
// GFX9: s_scratch_load_dwordx4 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x1c,0xc0,0x00,0x00,0x00,0x00]
s_scratch_store_dword s1, s[4:5], 0x123 glc
// GFX9: s_scratch_store_dword s1, s[4:5], 0x123 glc ; encoding: [0x42,0x00,0x57,0xc0,0x23,0x01,0x00,0x00]
// GFX1012: s_scratch_store_dword s1, s[4:5], 0x123 glc ; encoding: [0x42,0x00,0x55,0xf4,0x23,0x01,0x00,0xfa]
-// NOSICIVIGFX1030: error: invalid operand for instruction
+// NOSICIVIGFX1030: error: instruction not supported on this GPU
s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc
// GFX9: s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc ; encoding: [0x82,0x00,0x59,0xc0,0x65,0x00,0x00,0x00]
// GFX1012: s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc ; encoding: [0x82,0x00,0x59,0xf4,0x00,0x00,0x00,0xca]
-// NOSICIVIGFX1030: error: invalid operand for instruction
+// NOSICIVIGFX1030: error: instruction not supported on this GPU
s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc
// GFX9: s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x5d,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x5d,0xf4,0x00,0x00,0x00,0x00]
-// NOSICIVIGFX1030: error: invalid operand for instruction
+// NOSICIVIGFX1030: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// s_dcache_discard instructions
s_cbranch_join 1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// GFX10-ERR: error: instruction not supported on this GPU
s_cbranch_join 100
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// GFX10-ERR: error: instruction not supported on this GPU
s_abs_i32 s1, s2
// SICI: s_abs_i32 s1, s2 ; encoding: [0x02,0x34,0x81,0xbe]
gpr_idx = 1
s_set_gpr_idx_on s0, gpr_idx
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
gpr_idx_mode = 10
s_set_gpr_idx_on s0, gpr_idx_mode + 5
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 0
// VI: s_set_gpr_idx_on s0, gpr_idx() ; encoding: [0x00,0x00,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx()
// VI: s_set_gpr_idx_on s0, gpr_idx() ; encoding: [0x00,0x00,0x11,0xbf]
-// NOSICI: error: unknown token in expression
-// GFX10-ERR: error: unknown token in expression
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 1
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx(SRC0)
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 3
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1) ; encoding: [0x00,0x03,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx(SRC1,SRC0)
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1) ; encoding: [0x00,0x03,0x11,0xbf]
-// NOSICI: error: expected ')' in parentheses expression
-// GFX10-ERR: error: expected ')' in parentheses expression
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 15
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf]
-// NOSICI: error: invalid operand for instruction
-// GFX10-ERR: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC2,SRC1)
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf]
-// NOSICI: error: expected ')' in parentheses expression
-// GFX10-ERR: error: expected ')' in parentheses expression
+// NOSICI: error: instruction not supported on this GPU
+// GFX10-ERR: error: instruction not supported on this GPU
s_call_b64 null, 12609
// GFX10: s_call_b64 null, 12609 ; encoding: [0x41,0x31,0x7d,0xbb]
-// NOSICIVI: error: 'null' operand is not supported on this GPU
+// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: 'null' operand is not supported on this GPU
s_call_b64 s[12:13], 12609
s_set_gpr_idx_mode 0
// VI: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
s_set_gpr_idx_mode gpr_idx()
// VI: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf]
-// NOSICI: error: unknown token in expression
+// NOSICI: error: instruction not supported on this GPU
s_set_gpr_idx_mode 15
// VI: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
s_set_gpr_idx_mode gpr_idx(SRC2,SRC1,SRC0,DST)
// VI: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf]
-// NOSICI: error: expected ')' in parentheses expression
+// NOSICI: error: instruction not supported on this GPU
s_endpgm_saved
// VI: s_endpgm_saved ; encoding: [0x00,0x00,0x9b,0xbf]
// RUN: not llvm-mc -arch=amdgcn -mcpu=hawaii %s 2>&1 | FileCheck -check-prefixes=GCN,CI --implicit-check-not=error: %s
v_swap_b32 v1, 1
-// GCN: :16: error: invalid operand for instruction
+// CI: error: instruction not supported on this GPU
+// GFX9: error: invalid operand for instruction
+// VI: error: instruction not supported on this GPU
v_swap_b32 v1, s0
-// GCN: :16: error: invalid operand for instruction
+// CI: error: instruction not supported on this GPU
+// GFX9: error: invalid operand for instruction
+// VI: error: instruction not supported on this GPU
// FIXME: Better error for it requiring VOP1 encoding
v_swap_b32_e64 v1, v2
-// GFX9: :1: error: invalid instruction, did you mean: v_swap_b32?
-// CI: :1: error: invalid instruction
-// VI: :1: error: invalid instruction
+// GFX9: :1: error: e64 variant of this instruction is not supported
+// CI: :1: error: instruction not supported on this GPU
+// VI: :1: error: instruction not supported on this GPU
v_swap_b32 v1, v2, v1
-// GCN: :20: error: invalid operand for instruction
+// CI: error: instruction not supported on this GPU
+// GFX9: error: invalid operand for instruction
+// VI: error: instruction not supported on this GPU
v_swap_b32 v1, v2, v2
-// GCN: :20: error: invalid operand for instruction
+// CI: error: instruction not supported on this GPU
+// GFX9: error: invalid operand for instruction
+// VI: error: instruction not supported on this GPU
v_swap_b32 v1, v2, v2, v2
-// GCN: :20: error: invalid operand for instruction
+// CI: error: instruction not supported on this GPU
+// GFX9: error: invalid operand for instruction
+// VI: error: instruction not supported on this GPU
v_swap_codegen_pseudo_b32 v1, v2
// GCN: :1: error: invalid instruction
// RUN: not llvm-mc -arch=amdgcn -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI
// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI
-// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=CIVI --check-prefix=VI
+// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=VI
// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:
// _e32 suffix
// SICI: v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x06]
+// VI: v_add_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x02]
v_add_f32_e32 v1, v2, v3
// src0 inline immediate
// SICI: v_add_f32_e32 v1, 1.0, v3 ; encoding: [0xf2,0x06,0x02,0x06]
+// VI: v_add_f32_e32 v1, 1.0, v3 ; encoding: [0xf2,0x06,0x02,0x02]
v_add_f32 v1, 1.0, v3
// src0 negative inline immediate
// SICI: v_add_f32_e32 v1, -1.0, v3 ; encoding: [0xf3,0x06,0x02,0x06]
+// VI: v_add_f32_e32 v1, -1.0, v3 ; encoding: [0xf3,0x06,0x02,0x02]
v_add_f32 v1, -1.0, v3
// src0 literal
// SICI: v_add_f32_e32 v1, 0x42c80000, v3 ; encoding: [0xff,0x06,0x02,0x06,0x00,0x00,0xc8,0x42]
+// VI: v_add_f32_e32 v1, 0x42c80000, v3 ; encoding: [0xff,0x06,0x02,0x02,0x00,0x00,0xc8,0x42]
v_add_f32 v1, 100.0, v3
// src0 negative literal
// SICI: v_add_f32_e32 v1, 0xc2c80000, v3 ; encoding: [0xff,0x06,0x02,0x06,0x00,0x00,0xc8,0xc2]
+// VI: v_add_f32_e32 v1, 0xc2c80000, v3 ; encoding: [0xff,0x06,0x02,0x02,0x00,0x00,0xc8,0xc2]
v_add_f32 v1, -100.0, v3
//===----------------------------------------------------------------------===//
// _e32 suffix
// SICI: v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x12]
+// VI: v_mul_i32_i24_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]
v_mul_i32_i24_e32 v1, v2, v3
// _e64 suffix
// SICI: v_mul_i32_i24_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x02,0x00]
+// VI: v_mul_i32_i24_e64 v1, v2, v3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x07,0x02,0x00]
v_mul_i32_i24_e64 v1, v2, v3
// src0 inline
// SICI: v_mul_i32_i24_e32 v1, 3, v3 ; encoding: [0x83,0x06,0x02,0x12]
+// VI: v_mul_i32_i24_e32 v1, 3, v3 ; encoding: [0x83,0x06,0x02,0x0c]
v_mul_i32_i24_e32 v1, 3, v3
// src0 negative inline
// SICI: v_mul_i32_i24_e32 v1, -3, v3 ; encoding: [0xc3,0x06,0x02,0x12]
+// VI: v_mul_i32_i24_e32 v1, -3, v3 ; encoding: [0xc3,0x06,0x02,0x0c]
v_mul_i32_i24_e32 v1, -3, v3
// src1 inline
// SICI: v_mul_i32_i24_e64 v1, v2, 3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x01,0x00]
+// VI: v_mul_i32_i24_e64 v1, v2, 3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x07,0x01,0x00]
v_mul_i32_i24_e64 v1, v2, 3
// src1 negative inline
// SICI: v_mul_i32_i24_e64 v1, v2, -3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x87,0x01,0x00]
+// VI: v_mul_i32_i24_e64 v1, v2, -3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x87,0x01,0x00]
v_mul_i32_i24_e64 v1, v2, -3
// src0 literal
// SICI: v_mul_i32_i24_e32 v1, 0x64, v3 ; encoding: [0xff,0x06,0x02,0x12,0x64,0x00,0x00,0x00]
+// VI: v_mul_i32_i24_e32 v1, 0x64, v3 ; encoding: [0xff,0x06,0x02,0x0c,0x64,0x00,0x00,0x00]
v_mul_i32_i24_e32 v1, 100, v3
// src1 negative literal
// SICI: v_mul_i32_i24_e32 v1, 0xffffff9c, v3 ; encoding: [0xff,0x06,0x02,0x12,0x9c,0xff,0xff,0xff]
+// VI: v_mul_i32_i24_e32 v1, 0xffffff9c, v3 ; encoding: [0xff,0x06,0x02,0x0c,0x9c,0xff,0xff,0xff]
v_mul_i32_i24_e32 v1, -100, v3
//===----------------------------------------------------------------------===//
// src0 sgpr
// SICI: v_mul_i32_i24_e32 v1, s2, v3 ; encoding: [0x02,0x06,0x02,0x12]
+// VI: v_mul_i32_i24_e32 v1, s2, v3 ; encoding: [0x02,0x06,0x02,0x0c]
v_mul_i32_i24_e32 v1, s2, v3
// src1 sgpr
// SICI: v_mul_i32_i24_e64 v1, v2, s3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x07,0x00,0x00]
+// VI: v_mul_i32_i24_e64 v1, v2, s3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x07,0x00,0x00]
v_mul_i32_i24_e64 v1, v2, s3
// src0, src1 same sgpr
// SICI: v_mul_i32_i24_e64 v1, s2, s2 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x04,0x00,0x00]
+// VI: v_mul_i32_i24_e64 v1, s2, s2 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x04,0x00,0x00]
v_mul_i32_i24_e64 v1, s2, s2
// src0 sgpr, src1 inline
// SICI: v_mul_i32_i24_e64 v1, s2, 3 ; encoding: [0x01,0x00,0x12,0xd2,0x02,0x06,0x01,0x00]
+// VI: v_mul_i32_i24_e64 v1, s2, 3 ; encoding: [0x01,0x00,0x06,0xd1,0x02,0x06,0x01,0x00]
v_mul_i32_i24_e64 v1, s2, 3
// src0 inline src1 sgpr
// SICI: v_mul_i32_i24_e64 v1, 3, s3 ; encoding: [0x01,0x00,0x12,0xd2,0x83,0x06,0x00,0x00]
+// VI: v_mul_i32_i24_e64 v1, 3, s3 ; encoding: [0x01,0x00,0x06,0xd1,0x83,0x06,0x00,0x00]
v_mul_i32_i24_e64 v1, 3, s3
// SICI: v_add_i32_e32 v0, vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x4a]
// SICI: v_mac_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0c]
// NOVI: error: instruction not supported on this GPU
-// NOVI: v_mac_legacy_f32 v1, v2, v3
v_mac_legacy_f32 v1, v2, v3
// SICI: v_mul_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x0e]
// SICI: v_min_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1a]
// NOVI: error: instruction not supported on this GPU
-// NOVI: v_min_legacy_f32_e32 v1, v2, v3
v_min_legacy_f32_e32 v1, v2, v3
// SICI: v_max_legacy_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1c]
// NOVI: error: instruction not supported on this GPU
-// NOVI: v_max_legacy_f32 v1, v2, v3
v_max_legacy_f32 v1, v2, v3
// SICI: v_min_f32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x1e]
// SICI: v_lshr_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2a]
// NOVI: error: instruction not supported on this GPU
-// NOVI: v_lshr_b32_e32 v1, v2, v3
v_lshr_b32_e32 v1, v2, v3
// SICI: v_lshrrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2c]
// SICI: v_ashr_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x2e]
// NOVI: error: instruction not supported on this GPU
-// NOVI: v_ashr_i32_e32 v1, v2, v3
v_ashr_i32_e32 v1, v2, v3
// SICI: v_ashrrev_i32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x30]
// SICI: v_lshl_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x32]
// NOVI: error: instruction not supported on this GPU
-// NOVI: v_lshl_b32_e32 v1, v2, v3
v_lshl_b32_e32 v1, v2, v3
// SICI: v_lshlrev_b32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x34]
v_addc_u32_e32 v1, vcc, v2, v3, vcc
-// SI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0xaa,0x01]
+// SICI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0xaa,0x01]
// VI: v_addc_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0xaa,0x01]
v_addc_u32 v1, s[0:1], v2, v3, vcc
-// SI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0x0a,0x00]
+// SICI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0x0a,0x00]
// VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]
v_addc_u32 v1, s[0:1], v2, v3, s[2:3]
-// SI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0x0a,0x00]
+// SICI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x50,0xd2,0x02,0x07,0x0a,0x00]
// VI: v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3] ; encoding: [0x01,0x00,0x1c,0xd1,0x02,0x07,0x0a,0x00]
v_addc_u32_e64 v1, s[0:1], v2, v3, s[2:3]
-// SI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x50,0xd2,0x02,0x07,0xaa,0x01]
+// SICI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x50,0xd2,0x02,0x07,0xaa,0x01]
// VI: v_addc_u32_e64 v1, vcc, v2, v3, vcc ; encoding: [0x01,0x6a,0x1c,0xd1,0x02,0x07,0xaa,0x01]
v_addc_u32_e64 v1, vcc, v2, v3, vcc
-// SI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x52]
+// SICI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x52]
// VI: v_subb_u32_e32 v1, vcc, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x3a]
v_subb_u32 v1, vcc, v2, v3, vcc
-// SI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x52,0xd2,0x02,0x07,0xaa,0x01]
+// SICI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x52,0xd2,0x02,0x07,0xaa,0x01]
// VI: v_subb_u32_e64 v1, s[0:1], v2, v3, vcc ; encoding: [0x01,0x00,0x1d,0xd1,0x02,0x07,0xaa,0x01]
v_subb_u32 v1, s[0:1], v2, v3, vcc
v_cvt_pk_i16_i32_e64 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_add_f16_e32 v1, v2, v3
// VI: v_add_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x3e]
v_add_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_sub_f16_e32 v1, v2, v3
// VI: v_sub_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x40]
v_sub_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_subrev_f16_e32 v1, v2, v3
// VI: v_subrev_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x42]
v_subrev_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_mul_f16_e32 v1, v2, v3
// VI: v_mul_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x44]
v_mul_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_mac_f16_e32 v1, v2, v3
// VI: v_mac_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x46]
v_mac_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_madmk_f16 v1, v2, 64.0, v3
// VI: v_madmk_f16 v1, v2, 0x5400, v3 ; encoding: [0x02,0x07,0x02,0x48,0x00,0x54,0x00,0x00]
v_madmk_f16 v1, v2, 64.0, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_madak_f16 v1, v2, v3, 64.0
// VI: v_madak_f16 v1, v2, v3, 0x5400 ; encoding: [0x02,0x07,0x02,0x4a,0x00,0x54,0x00,0x00]
v_madak_f16 v1, v2, v3, 64.0
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_add_u16_e32 v1, v2, v3
// VI: v_add_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4c]
v_add_u16_e32 v1, v2, v3
-// NOSICI: error: invalid operand for instruction
-// NOSICI: v_add_u16 v1, v2, v3 clamp
+// NOSICI: error: instruction not supported on this GPU
// VI: v_add_u16_e64 v1, v2, v3 clamp ; encoding: [0x01,0x80,0x26,0xd1,0x02,0x07,0x02,0x00]
v_add_u16 v1, v2, v3 clamp
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_sub_u16_e32 v1, v2, v3
// VI: v_sub_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x4e]
v_sub_u16_e32 v1, v2, v3
-// NOSICI: error: invalid operand for instruction
-// NOSICI: v_sub_u16 v1, v2, v3 clamp
+// NOSICI: error: instruction not supported on this GPU
// VI: v_sub_u16_e64 v1, v2, v3 clamp ; encoding: [0x01,0x80,0x27,0xd1,0x02,0x07,0x02,0x00]
v_sub_u16 v1, v2, v3 clamp
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_subrev_u16_e32 v1, v2, v3
// VI: v_subrev_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x50]
v_subrev_u16_e32 v1, v2, v3
-// NOSICI: error: invalid operand for instruction
-// NOSICI: v_subrev_u16 v1, v2, v3 clamp
+// NOSICI: error: instruction not supported on this GPU
// VI: v_subrev_u16_e64 v1, v2, v3 clamp ; encoding: [0x01,0x80,0x28,0xd1,0x02,0x07,0x02,0x00]
v_subrev_u16 v1, v2, v3 clamp
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_mul_lo_u16_e32 v1, v2, v3
// VI: v_mul_lo_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x52]
v_mul_lo_u16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_lshlrev_b16_e32 v1, v2, v3
// VI: v_lshlrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x54]
v_lshlrev_b16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_lshrrev_b16_e32 v1, v2, v3
// VI: v_lshrrev_b16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x56]
v_lshrrev_b16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_ashrrev_i16_e32 v1, v2, v3
// VI: v_ashrrev_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x58]
v_ashrrev_i16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_max_f16_e32 v1, v2, v3
// VI: v_max_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5a]
v_max_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_min_f16_e32 v1, v2, v3
// VI: v_min_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5c]
v_min_f16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_max_u16_e32 v1, v2, v3
// VI: v_max_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x5e]
v_max_u16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_max_i16_e32 v1, v2, v3
// VI: v_max_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x60]
v_max_i16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_min_u16_e32 v1, v2, v3
// VI: v_min_u16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x62]
v_min_u16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_min_i16_e32 v1, v2, v3
// VI: v_min_i16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x64]
v_min_i16_e32 v1, v2, v3
// NOSICI: error: instruction not supported on this GPU
-// NOSICI: v_ldexp_f16_e32 v1, v2, v3
// VI: v_ldexp_f16_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x66]
v_ldexp_f16_e32 v1, v2, v3
//
v_interp_mov_f32_e64 v5, p10, attr0.x high
-// GCN: error: invalid operand for instruction
+// GFX67: error: e64 variant of this instruction is not supported
+// GFX89: error: invalid operand for instruction
v_interp_mov_f32_e64 v5, p10, attr0.x v0
-// GCN: error: invalid operand for instruction
+// GFX67: error: e64 variant of this instruction is not supported
+// GFX89: error: invalid operand for instruction
v_interp_p1_f32_e64 v5, v2, attr0.x high
-// GCN: error: invalid operand for instruction
+// GFX67: error: e64 variant of this instruction is not supported
+// GFX89: error: invalid operand for instruction
v_interp_p1_f32_e64 v5, v2, attr0.x v0
-// GCN: error: invalid operand for instruction
+// GFX67: error: e64 variant of this instruction is not supported
+// GFX89: error: invalid operand for instruction
v_interp_p2_f32_e64 v255, v2, attr0.x high
-// GCN: error: invalid operand for instruction
+// GFX67: error: e64 variant of this instruction is not supported
+// GFX89: error: invalid operand for instruction
v_interp_p2_f32_e64 v255, v2, attr0.x v0
-// GCN: error: invalid operand for instruction
+// GFX67: error: e64 variant of this instruction is not supported
+// GFX89: error: invalid operand for instruction
v_interp_p1ll_f16 v5, p0, attr31.x
-// GCN: error: invalid operand for instruction
+// GFX67: error: instruction not supported on this GPU
+// GFX89: error: invalid operand for instruction
v_interp_p1ll_f16 v5, v2, attr31.x v0
-// GCN: error: invalid operand for instruction
+// GFX67: error: instruction not supported on this GPU
+// GFX89: error: invalid operand for instruction
v_interp_p2_f16 v5, v2, attr1.x, v3 mul:2
-// GFX67: error: not a valid operand
+// GFX67: error: instruction not supported on this GPU
// GFX89: error: invalid operand for instruction
v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0]
// GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0] ; encoding: [0x05,0x08,0xa0,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0]
// GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0] ; encoding: [0x05,0x10,0xa0,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1]
// GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1] ; encoding: [0x05,0x40,0xa0,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_xad_u32 v1, v2, v3, v4
// GFX9: v_xad_u32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf3,0xd1,0x02,0x07,0x12,0x04]
v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,0]
// GFX9: v_max3_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_i16 v1, v2, v3, v4
// GFX9: v_max3_i16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf8,0xd1,0x02,0x07,0x12,0x04]
v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,0]
// GFX9: v_max3_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf8,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0]
// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf8,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0]
// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf8,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf8,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf8,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_max3_u16 v1, v2, v3, v4
// GFX9: v_max3_u16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf9,0xd1,0x02,0x07,0x12,0x04]
v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf1,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0]
// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf1,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0]
// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf1,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf1,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf1,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_i32_i16 v5, v1, v2, v3
// GFX9: v_mad_i32_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04]
v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf2,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, v1, v2
// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
v_cvt_pknorm_i16_f16 v5, -v1, v2
// GFX9: v_cvt_pknorm_i16_f16 v5, -v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x20]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, v1, -v2
// GFX9: v_cvt_pknorm_i16_f16 v5, v1, -v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x40]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, -v1, -v2
// GFX9: v_cvt_pknorm_i16_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x60]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, |v1|, v2
// GFX9: v_cvt_pknorm_i16_f16 v5, |v1|, v2 ; encoding: [0x05,0x01,0x99,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, v1, |v2|
// GFX9: v_cvt_pknorm_i16_f16 v5, v1, |v2| ; encoding: [0x05,0x02,0x99,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[0,0,0]
// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0]
// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0] ; encoding: [0x05,0x08,0x99,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1]
// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x99,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_u16_f16 v5, -v1, -v2
// GFX9: v_cvt_pknorm_u16_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x60]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_u16_f16 v5, |v1|, |v2|
// GFX9: v_cvt_pknorm_u16_f16 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x9a,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1]
// GFX9: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_add_i16 v5, v1, v2
// GFX9: v_add_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00]
v_add_i16 v5, v1, v2 op_sel:[1,1,1]
// GFX9: v_add_i16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9e,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_sub_i16 v5, v1, v2
// GFX9: v_sub_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00]
v_sub_i16 v5, v1, v2 op_sel:[1,1,1]
// GFX9: v_sub_i16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9f,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_sub_i16 v5, v1, v2 clamp
// GFX9: v_sub_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x9f,0xd2,0x01,0x05,0x02,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_fma_f16_e64 v5, v1, v2, v3
// GFX9: v_fma_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x06,0xd2,0x01,0x05,0x0e,0x04]
v_fma_f16 v5, v1, -v2, v3
// GFX9: v_fma_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0x06,0xd2,0x01,0x05,0x0e,0x44]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_fma_f16 v5, v1, v2, |v3|
// GFX9: v_fma_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0x06,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_fma_f16 v5, v1, v2, v3 clamp
// GFX9: v_fma_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x06,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_fma_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_fma_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x06,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_fma_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
// GFX9: v_fma_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0x06,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_fma_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_fma_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x06,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_fma_legacy_f16_e64 v5, v1, v2, v3
v_fma_legacy_f16 v5, -v1, v2, v3
// GFX9: v_fma_legacy_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x24]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_fma_legacy_f16 v5, v1, |v2|, v3
// GFX9: v_fma_legacy_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xee,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_fma_legacy_f16 v5, v1, v2, v3 clamp
// GFX9: v_fma_legacy_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_div_fixup_f16_e64 v5, 0.5, v2, v3
// GFX9: v_div_fixup_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x07,0xd2,0xf0,0x04,0x0e,0x04]
v_div_fixup_f16 v5, -v1, v2, v3
// GFX9: v_div_fixup_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0x07,0xd2,0x01,0x05,0x0e,0x24]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, |v1|, v2, v3
// GFX9: v_div_fixup_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0x07,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, v1, v2, v3 clamp
// GFX9: v_div_fixup_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x07,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_div_fixup_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x07,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
// GFX9: v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0x07,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_div_fixup_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x07,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_div_fixup_legacy_f16_e64 v5, 0.5, v2, v3
v_div_fixup_legacy_f16 v5, -v1, v2, v3
// GFX9: v_div_fixup_legacy_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_div_fixup_legacy_f16 v5, v1, |v2|, v3
// GFX9: v_div_fixup_legacy_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_div_fixup_legacy_f16 v5, v1, v2, v3 clamp
// GFX9: v_div_fixup_legacy_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_mad_f16_e64 v5, 0.5, v2, v3
// GFX9: v_mad_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x03,0xd2,0xf0,0x04,0x0e,0x04]
v_mad_f16 v5, v1, v2, -v3
// GFX9: v_mad_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0x03,0xd2,0x01,0x05,0x0e,0x84]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, |v3|
// GFX9: v_mad_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,0,0]
// GFX9: v_mad_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
// GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
// GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_mad_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 clamp
// GFX9: v_mad_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x03,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_mad_i16_e64 v5, 0, v2, v3
// GFX9: v_mad_i16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x05,0xd2,0x80,0x04,0x0e,0x04]
v_mad_i16 v5, v1, v2, v3 clamp
// GFX9: v_mad_i16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x05,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_mad_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_mad_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x05,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_mad_i16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x05,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_legacy_f16_e64 v5, 0.5, v2, v3
v_mad_legacy_f16 v5, v1, -v2, v3
// GFX9: v_mad_legacy_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_legacy_f16 v5, v1, |v2|, v3
// GFX9: v_mad_legacy_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xea,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_mad_legacy_f16 v5, v1, v2, v3 clamp
// GFX9: v_mad_legacy_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_mad_legacy_i16_e64 v5, 0, v2, v3
// GFX9: v_mad_legacy_i16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x80,0x04,0x0e,0x04]
v_mad_legacy_i16 v5, v1, v2, -4.0 clamp
// NOGFX9: error: invalid literal operand
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_mad_legacy_u16_e64 v5, 0, v2, v3
// GFX9: v_mad_legacy_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x80,0x04,0x0e,0x04]
v_mad_legacy_u16 v5, v1, v2, -4.0 clamp
// NOGFX9: error: invalid literal operand
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_mad_u16_e64 v5, 0, v2, v3
// GFX9: v_mad_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x04,0xd2,0x80,0x04,0x0e,0x04]
v_mad_u16 v5, v1, v2, v3 clamp
// GFX9: v_mad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0x04,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_mad_u16 v5, v1, v2, v3 op_sel:[1,0,0,0]
// GFX9: v_mad_u16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0x04,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_u16 v5, v1, v2, v3 op_sel:[0,0,0,1]
// GFX9: v_mad_u16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0x04,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_mad_u16 v5, v1, v2, v3 op_sel:[1,1,1,1]
// GFX9: v_mad_u16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0x04,0xd2,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
v_interp_p2_f16 v5, v2, attr0.x, v3
// GFX9: v_interp_p2_f16 v5, v2, attr0.x, v3 ; encoding: [0x05,0x00,0x77,0xd2,0x00,0x04,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_interp_p2_f16 v5, -v2, attr0.x, v3
// GFX9: v_interp_p2_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x77,0xd2,0x00,0x04,0x0e,0x44]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_interp_p2_f16 v5, v2, attr0.x, |v3|
// GFX9: v_interp_p2_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x77,0xd2,0x00,0x04,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_interp_p2_f16 v5, v2, attr0.w, v3
// GFX9: v_interp_p2_f16 v5, v2, attr0.w, v3 ; encoding: [0x05,0x00,0x77,0xd2,0xc0,0x04,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_interp_p2_f16 v5, v2, attr0.x, v3 high
// GFX9: v_interp_p2_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x77,0xd2,0x00,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_interp_p2_f16 v5, v2, attr0.x, v3 clamp
// GFX9: v_interp_p2_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x77,0xd2,0x00,0x04,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, v2, attr31.x, v3
// GFX9: v_interp_p2_legacy_f16 v5, v2, attr31.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x1f,0x04,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, -v2, attr0.x, v3
// GFX9: v_interp_p2_legacy_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, v2, attr0.x, |v3|
// GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, v2, attr0.w, v3
// GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.w, v3 ; encoding: [0x05,0x00,0x76,0xd2,0xc0,0x04,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 high
// GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 clamp
// GFX9: v_interp_p2_legacy_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_cvt_norm_i16_f16_e64 v5, -v1
// GFX9: v_cvt_norm_i16_f16_e64 v5, -v1 ; encoding: [0x05,0x00,0x8d,0xd1,0x01,0x01,0x00,0x20]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_norm_i16_f16_e64 v5, |v1|
// GFX9: v_cvt_norm_i16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x8d,0xd1,0x01,0x01,0x00,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_norm_u16_f16_e64 v5, -v1
// GFX9: v_cvt_norm_u16_f16_e64 v5, -v1 ; encoding: [0x05,0x00,0x8e,0xd1,0x01,0x01,0x00,0x20]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_cvt_norm_u16_f16_e64 v5, |v1|
// GFX9: v_cvt_norm_u16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x8e,0xd1,0x01,0x01,0x00,0x00]
-// NOGCN: error: not a valid operand.
+// NOGCN: error: instruction not supported on this GPU
v_sat_pk_u8_i16_e64 v5, -1
// GFX9: v_sat_pk_u8_i16_e64 v5, -1 ; encoding: [0x05,0x00,0x8f,0xd1,0xc1,0x00,0x00,0x00]
// NOGCN: error: instruction not supported on this GPU
v_screen_partition_4se_b32_e64 v5, v1
-// GXF9: [0x05,0x00,0x77,0xd1,0x01,0x01,0x00,0x00]
// NOGCN: error: instruction not supported on this GPU
// GFX9: v_screen_partition_4se_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x77,0xd1,0x01,0x01,0x00,0x00]
v_screen_partition_4se_b32_e64 v5, -1
-// GXF9: [0x05,0x00,0x77,0xd1,0xc1,0x00,0x00,0x00]
// NOGCN: error: instruction not supported on this GPU
// GFX9: v_screen_partition_4se_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x77,0xd1,0xc1,0x00,0x00,0x00]
v_add_u32 v84, v13, s31 clamp
// GFX9: v_add_u32_e64 v84, v13, s31 clamp ; encoding: [0x54,0x80,0x34,0xd1,0x0d,0x3f,0x00,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_sub_u32 v84, v13, s31 clamp
// GFX9: v_sub_u32_e64 v84, v13, s31 clamp ; encoding: [0x54,0x80,0x35,0xd1,0x0d,0x3f,0x00,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_subrev_u32 v84, v13, s31 clamp
// GFX9: v_subrev_u32_e64 v84, v13, s31 clamp ; encoding: [0x54,0x80,0x36,0xd1,0x0d,0x3f,0x00,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_addc_co_u32 v84, s[4:5], v13, v31, vcc clamp
// GFX9: v_addc_co_u32_e64 v84, s[4:5], v13, v31, vcc clamp ; encoding: [0x54,0x84,0x1c,0xd1,0x0d,0x3f,0xaa,0x01]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_subb_co_u32 v84, s[2:3], v13, v31, vcc clamp
// GFX9: v_subb_co_u32_e64 v84, s[2:3], v13, v31, vcc clamp ; encoding: [0x54,0x82,0x1d,0xd1,0x0d,0x3f,0xaa,0x01]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_subbrev_co_u32 v84, vcc, v13, v31, s[6:7] clamp
// GFX9: v_subbrev_co_u32_e64 v84, vcc, v13, v31, s[6:7] clamp ; encoding: [0x54,0xea,0x1e,0xd1,0x0d,0x3f,0x1a,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOGCN: error: instruction not supported on this GPU
v_add_co_u32 v84, s[4:5], v13, v31 clamp
// GFX9: v_add_co_u32_e64 v84, s[4:5], v13, v31 clamp ; encoding: [0x54,0x84,0x19,0xd1,0x0d,0x3f,0x02,0x00]
// NOSICI: error: integer clamping is not supported on this GPU
-// NOVI: error: invalid operand for instruction
+// NOVI: error: instruction not supported on this GPU
v_sub_co_u32 v84, s[2:3], v13, v31 clamp
// GFX9: v_sub_co_u32_e64 v84, s[2:3], v13, v31 clamp ; encoding: [0x54,0x82,0x1a,0xd1,0x0d,0x3f,0x02,0x00]
// NOSICI: error: integer clamping is not supported on this GPU
-// NOVI: error: invalid operand for instruction
+// NOVI: error: instruction not supported on this GPU
v_subrev_co_u32 v84, vcc, v13, v31 clamp
// GFX9: v_subrev_co_u32_e64 v84, vcc, v13, v31 clamp ; encoding: [0x54,0xea,0x1b,0xd1,0x0d,0x3f,0x02,0x00]
// NOSICI: error: integer clamping is not supported on this GPU
-// NOVI: error: invalid operand for instruction
+// NOVI: error: instruction not supported on this GPU
v_addc_co_u32 v84, vcc, v13, v31, vcc
// GFX9: v_addc_co_u32_e32 v84, vcc, v13, v31, vcc ; encoding: [0x0d,0x3f,0xa8,0x38]
v_add_i32 v1, v2, v3 clamp
// GFX9: v_add_i32 v1, v2, v3 clamp ; encoding: [0x01,0x80,0x9c,0xd2,0x02,0x07,0x02,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOSICI: error: invalid operand for instruction
+// NOVI: error: instruction not supported on this GPU
v_sub_i32 v1, v2, v3
// GFX9: v_sub_i32 v1, v2, v3 ; encoding: [0x01,0x00,0x9d,0xd2,0x02,0x07,0x02,0x00]
v_sub_i32 v1, v2, v3 clamp
// GFX9: v_sub_i32 v1, v2, v3 clamp ; encoding: [0x01,0x80,0x9d,0xd2,0x02,0x07,0x02,0x00]
-// NOGCN: error: invalid operand for instruction
+// NOSICI: error: invalid operand for instruction
+// NOVI: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// Validate register size checks (bug 37943)
// NOGFX9: error: invalid operand for instruction
v_add_f32 v0, v0, v[0:1]
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_f16 v0, s[0:1], v0
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_f16 v0, v[0:1], v0
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_f16 v0, v0, s[0:1]
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_f16 v0, v0, v[0:1]
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_u16 v0, s[0:1], v0
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_u16 v0, v[0:1], v0
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_u16 v0, v0, s[0:1]
-// NOGCN: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: invalid operand for instruction
v_add_u16 v0, v0, v[0:1]
v_mac_f16_e64 v0, 0.5, flat_scratch_lo
// VI: v_mac_f16_e64 v0, 0.5, flat_scratch_lo ; encoding: [0x00,0x00,0x23,0xd1,0xf0,0xcc,0x00,0x00]
// NOCI: error: instruction not supported on this GPU
-// NOSI: error: register not available on this GPU
+// NOSI: error: instruction not supported on this GPU
v_mac_f16_e64 v0, -4.0, flat_scratch_lo
// VI: v_mac_f16_e64 v0, -4.0, flat_scratch_lo ; encoding: [0x00,0x00,0x23,0xd1,0xf7,0xcc,0x00,0x00]
// NOCI: error: instruction not supported on this GPU
-// NOSI: error: register not available on this GPU
+// NOSI: error: instruction not supported on this GPU
v_mac_f16_e64 v0, flat_scratch_lo, -4.0
// VI: v_mac_f16_e64 v0, flat_scratch_lo, -4.0 ; encoding: [0x00,0x00,0x23,0xd1,0x66,0xee,0x01,0x00]
// NOCI: error: instruction not supported on this GPU
-// NOSI: error: register not available on this GPU
+// NOSI: error: instruction not supported on this GPU
v_add_u32 v84, vcc, v13, s31 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_add_u32_e64 v84, vcc, v13, s31 clamp ; encoding: [0x54,0xea,0x19,0xd1,0x0d,0x3f,0x00,0x00]
v_sub_u32 v84, s[2:3], v13, s31 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_sub_u32_e64 v84, s[2:3], v13, s31 clamp ; encoding: [0x54,0x82,0x1a,0xd1,0x0d,0x3f,0x00,0x00]
v_subrev_u32 v84, vcc, v13, s31 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_subrev_u32_e64 v84, vcc, v13, s31 clamp ; encoding: [0x54,0xea,0x1b,0xd1,0x0d,0x3f,0x00,0x00]
v_addc_u32 v84, s[4:5], v13, v31, vcc clamp
v_fma_f16 v5, -v1, -v2, -v3
// VI: v_fma_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0xe4]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_fma_f16 v5, |v1|, |v2|, |v3|
// VI: v_fma_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xee,0xd1,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_fma_f16 v5, v1, v2, v3 clamp
// VI: v_fma_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_div_fixup_f16_e64 v5, v1, v2, v3
// VI: v_div_fixup_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]
v_div_fixup_f16 v5, -v1, v2, v3
// VI: v_div_fixup_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, v1, |v2|, v3
// VI: v_div_fixup_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_div_fixup_f16 v5, v1, v2, v3 clamp
// VI: v_div_fixup_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_mad_f16_e64 v5, v1, v2, v3
// VI: v_mad_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]
v_mad_f16 v5, v1, -v2, v3
// VI: v_mad_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, |v3|
// VI: v_mad_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xea,0xd1,0x01,0x05,0x0e,0x04]
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
v_mad_f16 v5, v1, v2, v3 clamp
// VI: v_mad_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
v_mad_i16_e64 v5, -1, v2, v3
// VI: v_mad_i16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04]
v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp
// VI: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp ; encoding: [0x05,0x80,0xe5,0xd1,0x01,0x05,0x0e,0x04]
// NOCI: error: integer clamping is not supported on this GPU
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6] clamp
// VI: v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6] clamp ; encoding: [0xfc,0x80,0xe7,0xd1,0x01,0x05,0x0e,0x04]
// NOCI: error: integer clamping is not supported on this GPU
-// NOSI: error: invalid operand for instruction
+// NOSI: error: instruction not supported on this GPU
v_mad_u16 v5, v1, v2, v3 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_mad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xeb,0xd1,0x01,0x05,0x0e,0x04]
v_mad_i16 v5, v1, v2, v3 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_mad_i16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xec,0xd1,0x01,0x05,0x0e,0x04]
//
//
v_interp_mov_f32_e64 v5, p10, attr0.x
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr0.x ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00]
v_interp_mov_f32_e64 v5, p10, attr32.x
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr32.x ; encoding: [0x05,0x00,0x72,0xd2,0x20,0x00,0x00,0x00]
v_interp_mov_f32_e64 v5, p20, attr0.x
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p20, attr0.x ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x02,0x00,0x00]
v_interp_mov_f32_e64 v5, p10, attr0.w
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr0.w ; encoding: [0x05,0x00,0x72,0xd2,0xc0,0x00,0x00,0x00]
v_interp_mov_f32_e64 v5, p10, attr0.x clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr0.x clamp ; encoding: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]
v_interp_mov_f32 v5, p10, attr0.x clamp
// VI: v_interp_mov_f32_e64 v5, p10, attr0.x clamp ; encoding: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]
v_interp_mov_f32_e64 v5, p10, attr0.x mul:2
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr0.x mul:2 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x08]
v_interp_mov_f32_e64 v5, p10, attr0.x mul:4
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr0.x mul:4 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x10]
v_interp_mov_f32_e64 v5, p10, attr0.x div:2
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_mov_f32_e64 v5, p10, attr0.x div:2 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18]
v_interp_mov_f32 v5, p10, attr0.x div:2
v_interp_p1_f32_e64 v5, v2, attr0.x
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p1_f32_e64 v5, v2, attr0.x ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x00]
v_interp_p1_f32_e64 v5, v2, attr0.y
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p1_f32_e64 v5, v2, attr0.y ; encoding: [0x05,0x00,0x70,0xd2,0x40,0x04,0x02,0x00]
v_interp_p1_f32_e64 v5, -v2, attr0.x
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p1_f32_e64 v5, -v2, attr0.x ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x40]
v_interp_p1_f32_e64 v5, |v2|, attr0.x
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p1_f32_e64 v5, |v2|, attr0.x ; encoding: [0x05,0x02,0x70,0xd2,0x00,0x04,0x02,0x00]
v_interp_p1_f32_e64 v5, v2, attr0.x clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p1_f32_e64 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]
v_interp_p1_f32 v5, v2, attr0.x clamp
// VI: v_interp_p1_f32_e64 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]
v_interp_p1_f32_e64 v5, v2, attr0.x mul:2
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p1_f32_e64 v5, v2, attr0.x mul:2 ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x08]
v_interp_p2_f32_e64 v255, v2, attr0.x
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p2_f32_e64 v255, v2, attr0.x ; encoding: [0xff,0x00,0x71,0xd2,0x00,0x04,0x02,0x00]
v_interp_p2_f32_e64 v5, v2, attr31.x
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p2_f32_e64 v5, v2, attr31.x ; encoding: [0x05,0x00,0x71,0xd2,0x1f,0x04,0x02,0x00]
v_interp_p2_f32_e64 v5, -v2, attr0.x
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p2_f32_e64 v5, -v2, attr0.x ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x40]
v_interp_p2_f32_e64 v5, |v2|, attr0.x
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p2_f32_e64 v5, |v2|, attr0.x ; encoding: [0x05,0x02,0x71,0xd2,0x00,0x04,0x02,0x00]
v_interp_p2_f32_e64 v5, v2, attr0.x clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p2_f32_e64 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x71,0xd2,0x00,0x04,0x02,0x00]
v_interp_p2_f32_e64 v5, v2, attr0.x div:2
-// NOSICI: error: not a valid operand
+// NOSICI: error: e64 variant of this instruction is not supported
// VI: v_interp_p2_f32_e64 v5, v2, attr0.x div:2 ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x18]
v_interp_p1ll_f16 v5, v2, attr31.x
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, v2, attr31.x ; encoding: [0x05,0x00,0x74,0xd2,0x1f,0x04,0x02,0x00]
v_interp_p1ll_f16 v5, v2, attr0.w
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, v2, attr0.w ; encoding: [0x05,0x00,0x74,0xd2,0xc0,0x04,0x02,0x00]
v_interp_p1ll_f16 v5, -v2, attr0.x
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, -v2, attr0.x ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x40]
v_interp_p1ll_f16 v5, |v2|, attr0.x
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, |v2|, attr0.x ; encoding: [0x05,0x02,0x74,0xd2,0x00,0x04,0x02,0x00]
v_interp_p1ll_f16 v5, v2, attr0.x high
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, v2, attr0.x high ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x05,0x02,0x00]
v_interp_p1ll_f16 v5, v2, attr0.x clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x74,0xd2,0x00,0x04,0x02,0x00]
v_interp_p1ll_f16 v5, v2, attr0.x mul:4
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1ll_f16 v5, v2, attr0.x mul:4 ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x10]
v_interp_p1lv_f16 v5, v2, attr1.x, v3
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr1.x, v3 ; encoding: [0x05,0x00,0x75,0xd2,0x01,0x04,0x0e,0x04]
v_interp_p1lv_f16 v5, v2, attr0.z, v3
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.z, v3 ; encoding: [0x05,0x00,0x75,0xd2,0x80,0x04,0x0e,0x04]
v_interp_p1lv_f16 v5, -v2, attr0.x, v3
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x44]
v_interp_p1lv_f16 v5, v2, attr0.x, -v3
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.x, -v3 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x84]
v_interp_p1lv_f16 v5, |v2|, attr0.x, v3
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, |v2|, attr0.x, v3 ; encoding: [0x05,0x02,0x75,0xd2,0x00,0x04,0x0e,0x04]
v_interp_p1lv_f16 v5, v2, attr0.x, |v3|
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x75,0xd2,0x00,0x04,0x0e,0x04]
v_interp_p1lv_f16 v5, v2, attr0.x, v3 high
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x05,0x0e,0x04]
v_interp_p1lv_f16 v5, v2, attr0.x, v3 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x75,0xd2,0x00,0x04,0x0e,0x04]
v_interp_p1lv_f16 v5, v2, attr0.x, v3 mul:2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 mul:2 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x0c]
v_interp_p1lv_f16 v5, v2, attr0.x, v3 div:2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 div:2 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x1c]
v_interp_p2_f16 v5, v2, attr1.x, v3
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr1.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x01,0x04,0x0e,0x04]
v_interp_p2_f16 v5, v2, attr32.x, v3
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr32.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x20,0x04,0x0e,0x04]
v_interp_p2_f16 v5, v2, attr0.w, v3
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr0.w, v3 ; encoding: [0x05,0x00,0x76,0xd2,0xc0,0x04,0x0e,0x04]
v_interp_p2_f16 v5, -v2, attr0.x, v3
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44]
v_interp_p2_f16 v5, v2, attr0.x, -v3
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr0.x, -v3 ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x84]
v_interp_p2_f16 v5, |v2|, attr0.x, v3
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, |v2|, attr0.x, v3 ; encoding: [0x05,0x02,0x76,0xd2,0x00,0x04,0x0e,0x04]
v_interp_p2_f16 v5, v2, attr0.x, |v3|
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04]
v_interp_p2_f16 v5, v2, attr0.x, v3 high
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04]
v_interp_p2_f16 v5, v2, attr0.x, v3 clamp
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// VI: v_interp_p2_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04]
// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI --implicit-check-not=error:
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI --implicit-check-not=error:
-// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:
+// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck %s --check-prefix=NOSICI --check-prefix=NOCI --implicit-check-not=error:
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck %s --check-prefix=NOVI --implicit-check-not=error:
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s --check-prefix=NOGFX9 --implicit-check-not=error:
// VI9: v_frexp_mant_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x68,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_frexp_mant_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
// VI9: v_log_legacy_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x98,0x02,0x7e,0x00,0x01,0x09,0xa1]
+// NOSI: error: instruction not supported on this GPU
+// NOCI: error: not a valid operand.
v_log_legacy_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
// VI9: v_exp_legacy_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x96,0x02,0x7e,0x00,0x01,0x09,0xa1]
+// NOSI: error: instruction not supported on this GPU
+// NOCI: error: not a valid operand.
v_exp_legacy_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_cvt_f16_u16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x72,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_cvt_f16_u16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_cvt_f16_i16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x74,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_cvt_f16_i16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_cvt_u16_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x76,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_cvt_u16_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_cvt_i16_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x78,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_cvt_i16_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_rcp_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x7a,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_rcp_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_sqrt_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x7c,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_sqrt_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_rsq_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x7e,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_rsq_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_log_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x80,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_log_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_exp_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x82,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_exp_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_frexp_mant_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x84,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_frexp_mant_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_frexp_exp_i16_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x86,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_frexp_exp_i16_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_floor_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x88,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_floor_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_ceil_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x8a,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_ceil_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_trunc_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x8c,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_trunc_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_rndne_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x8e,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_rndne_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_fract_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x90,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_fract_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_sin_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x92,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_sin_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_cos_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x94,0x02,0x7e,0x00,0x01,0x09,0xa1]
v_cos_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// GFX9: v_cvt_norm_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x9a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_cvt_norm_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// GFX9: v_cvt_norm_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x9c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_cvt_norm_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// GFX9: v_sat_pk_u8_i16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x9e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_sat_pk_u8_i16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x6e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
// VI9: v_xor_b32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x2a,0x02,0x01,0x09,0xa1]
v_xor_b32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_add_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x3e,0x02,0x01,0x09,0xa1]
v_add_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_sub_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x40,0x02,0x01,0x09,0xa1]
v_sub_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_subrev_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x42,0x02,0x01,0x09,0xa1]
v_subrev_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_mul_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x44,0x02,0x01,0x09,0xa1]
v_mul_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_mac_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x46,0x02,0x01,0x09,0xa1]
v_mac_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_add_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x4c,0x02,0x01,0x09,0xa1]
v_add_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_sub_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x4e,0x02,0x01,0x09,0xa1]
v_sub_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_subrev_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x50,0x02,0x01,0x09,0xa1]
v_subrev_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_mul_lo_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x52,0x02,0x01,0x09,0xa1]
v_mul_lo_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_lshlrev_b16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x54,0x02,0x01,0x09,0xa1]
v_lshlrev_b16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_lshrrev_b16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x56,0x02,0x01,0x09,0xa1]
v_lshrrev_b16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_ashrrev_i16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x58,0x02,0x01,0x09,0xa1]
v_ashrrev_i16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_max_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x5a,0x02,0x01,0x09,0xa1]
v_max_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_min_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x5c,0x02,0x01,0x09,0xa1]
v_min_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_max_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x5e,0x02,0x01,0x09,0xa1]
v_max_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_max_i16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x60,0x02,0x01,0x09,0xa1]
v_max_i16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_min_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x62,0x02,0x01,0x09,0xa1]
v_min_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_min_i16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x64,0x02,0x01,0x09,0xa1]
v_min_i16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI9: v_ldexp_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x66,0x02,0x01,0x09,0xa1]
v_ldexp_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOGFX9: error: not a valid operand.
// VI: v_add_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x32,0x02,0x01,0x09,0xa1]
v_add_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOGFX9: error: not a valid operand.
// VI: v_sub_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x34,0x02,0x01,0x09,0xa1]
v_sub_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOGFX9: error: not a valid operand.
// VI: v_subrev_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x36,0x02,0x01,0x09,0xa1]
v_subrev_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// NOSICI: error: not a valid operand.
-// NOGFX9: error: not a valid operand.
+// NOGFX9: error: instruction not supported on this GPU
// VI: v_addc_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x38,0x02,0x01,0x09,0xa1]
v_addc_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// NOSICI: error: not a valid operand.
-// NOGFX9: error: not a valid operand.
+// NOGFX9: error: instruction not supported on this GPU
// VI: v_subb_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x3a,0x02,0x01,0x09,0xa1]
v_subb_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// NOSICI: error: not a valid operand.
-// NOGFX9: error: not a valid operand.
+// NOGFX9: error: instruction not supported on this GPU
// VI: v_subbrev_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x3c,0x02,0x01,0x09,0xa1]
v_subbrev_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_add_co_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x32,0x02,0x01,0x09,0xa1]
v_add_co_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_sub_co_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x34,0x02,0x01,0x09,0xa1]
v_sub_co_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_subrev_co_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x36,0x02,0x01,0x09,0xa1]
v_subrev_co_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_addc_co_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x38,0x02,0x01,0x09,0xa1]
v_addc_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_subb_co_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x3a,0x02,0x01,0x09,0xa1]
v_subb_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_subbrev_co_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0 ; encoding: [0xfa,0x06,0x02,0x3c,0x02,0x01,0x09,0xa1]
v_subbrev_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// Validate register size checks (bug 37943)
//===----------------------------------------------------------------------===//
-// NOSICI: error: not a valid operand
+// NOSICI: error: dpp variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_add_f32_dpp v5, v[1:2], v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// NOSICI: error: not a valid operand
+// NOSICI: error: dpp variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_add_f32_dpp v5, v[1:3], v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// NOSICI: error: not a valid operand
+// NOSICI: error: dpp variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_add_f32_dpp v5, v1, v[1:2] quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// NOSICI: error: not a valid operand
+// NOSICI: error: dpp variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_add_f32_dpp v5, v1, v[1:4] quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_add_f16 v1, v[2:3], v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_add_f16 v1, v3, v[2:3] row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
// GFX89: v_trunc_f32_sdwa v1, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:WORD_1 ; encoding: [0xf9,0x38,0x02,0x7e,0x00,0x36,0x05,0x00]
v_trunc_f32 v1, v0 clamp dst_sel:DWORD src0_sel:WORD_1
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// GFX89: v_mov_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x00,0x16,0x06,0x00]
v_mov_b32_sdwa v1, v0
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// GFX89: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x05,0x06]
v_add_f32_sdwa v0, v0, v0 dst_unused:UNUSED_PAD src0_sel:WORD_1
// GFX89: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x02]
v_and_b32 v0, v0, v0 dst_unused:UNUSED_PAD src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// GFX89: v_mul_i32_i24_sdwa v1, v2, v3 clamp dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x06,0x02,0x0c,0x02,0x36,0x06,0x06]
v_mul_i32_i24_sdwa v1, v2, v3 clamp
// GFX89: v_min_f32_sdwa v0, |v0|, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x25,0x12]
v_min_f32 v0, abs(v0), -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// GFX89: v_mov_b32_sdwa v1, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x00,0x16,0x0e,0x00]
v_mov_b32_sdwa v1, sext(v0)
// GFX89: v_and_b32_sdwa v0, sext(v0), sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x0e,0x0a]
v_and_b32 v0, sext(v0), sext(v0) dst_unused:UNUSED_PAD src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_class_f32 vcc, -v1, sext(v2) src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x12,0x0c]
// GFX9: v_cmp_class_f32_sdwa vcc, -v1, sext(v2) src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x12,0x0c]
v_cmp_class_f32_sdwa vcc, -v1, sext(v2) src0_sel:BYTE_2 src1_sel:WORD_0
// Check VOP1 opcodes
//===----------------------------------------------------------------------===//
-// NOSICI: error: instruction not supported on this GPU
+// NOSICI: error: sdwa variant of this instruction is not supported
// GFX89: v_nop ; encoding: [0xf9,0x00,0x00,0x7e,0x00,0x00,0x00,0x00]
v_nop_sdwa
v_frexp_mant_f32 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
// GFX89: v_log_legacy_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x98,0x02,0x7e,0x00,0x06,0x05,0x00]
-// NOSI: error: not a valid operand.
+// NOSI: error: instruction not supported on this GPU
// NOCI: error: invalid operand for instruction
v_log_legacy_f32 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
// GFX89: v_exp_legacy_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x96,0x02,0x7e,0x00,0x06,0x05,0x00]
-// NOSI: error: not a valid operand.
+// NOSI: error: instruction not supported on this GPU
// NOCI: error: invalid operand for instruction
v_exp_legacy_f32 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_cvt_f16_u16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x72,0x02,0x7e,0x00,0x06,0x05,0x00]
v_cvt_f16_u16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_cvt_f16_i16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x74,0x02,0x7e,0x00,0x06,0x05,0x00]
v_cvt_f16_i16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_cvt_u16_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x76,0x02,0x7e,0x00,0x06,0x05,0x00]
v_cvt_u16_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_cvt_i16_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x78,0x02,0x7e,0x00,0x06,0x05,0x00]
v_cvt_i16_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_rcp_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7a,0x02,0x7e,0x00,0x06,0x05,0x00]
v_rcp_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_sqrt_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7c,0x02,0x7e,0x00,0x06,0x05,0x00]
v_sqrt_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_rsq_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7e,0x02,0x7e,0x00,0x06,0x05,0x00]
v_rsq_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_log_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x80,0x02,0x7e,0x00,0x06,0x05,0x00]
v_log_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_exp_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x82,0x02,0x7e,0x00,0x06,0x05,0x00]
v_exp_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_frexp_mant_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x84,0x02,0x7e,0x00,0x06,0x05,0x00]
v_frexp_mant_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_frexp_exp_i16_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x86,0x02,0x7e,0x00,0x06,0x05,0x00]
v_frexp_exp_i16_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_floor_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x88,0x02,0x7e,0x00,0x06,0x05,0x00]
v_floor_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_ceil_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8a,0x02,0x7e,0x00,0x06,0x05,0x00]
v_ceil_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_trunc_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8c,0x02,0x7e,0x00,0x06,0x05,0x00]
v_trunc_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_rndne_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8e,0x02,0x7e,0x00,0x06,0x05,0x00]
v_rndne_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_fract_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x90,0x02,0x7e,0x00,0x06,0x05,0x00]
v_fract_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_sin_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x92,0x02,0x7e,0x00,0x06,0x05,0x00]
v_sin_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_cos_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x94,0x02,0x7e,0x00,0x06,0x05,0x00]
v_cos_f16 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
// GFX9: v_cvt_norm_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x16,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_cvt_norm_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
// GFX9: v_cvt_norm_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x26,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_cvt_norm_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
// GFX9: v_cvt_norm_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x9c,0x0a,0x7e,0x01,0x16,0x06,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_cvt_norm_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
// GFX9: v_cvt_norm_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x9c,0x0a,0x7e,0x01,0x06,0x05,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_cvt_norm_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
// GFX9: v_sat_pk_u8_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x9e,0x0a,0x7e,0x01,0x06,0x0e,0x00]
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
v_sat_pk_u8_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
//===----------------------------------------------------------------------===//
// GFX89: v_xor_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x2a,0x02,0x06,0x05,0x02]
v_xor_b32 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_add_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3e,0x02,0x06,0x05,0x02]
v_add_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_sub_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x40,0x02,0x06,0x05,0x02]
v_sub_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_subrev_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x42,0x02,0x06,0x05,0x02]
v_subrev_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_mul_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x44,0x02,0x06,0x05,0x02]
v_mul_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_add_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x4c,0x02,0x06,0x05,0x02]
v_add_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_sub_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x4e,0x02,0x06,0x05,0x02]
v_sub_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_subrev_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x50,0x02,0x06,0x05,0x02]
v_subrev_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_mul_lo_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x52,0x02,0x06,0x05,0x02]
v_mul_lo_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_lshlrev_b16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x54,0x02,0x06,0x05,0x02]
v_lshlrev_b16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_lshrrev_b16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x56,0x02,0x06,0x05,0x02]
v_lshrrev_b16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_ashrrev_i16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x58,0x02,0x06,0x05,0x02]
v_ashrrev_i16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_max_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x5a,0x02,0x06,0x05,0x02]
v_max_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_min_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x5c,0x02,0x06,0x05,0x02]
v_min_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_max_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x5e,0x02,0x06,0x05,0x02]
v_max_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_max_i16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x60,0x02,0x06,0x05,0x02]
v_max_i16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_min_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x62,0x02,0x06,0x05,0x02]
v_min_u16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_min_i16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x64,0x02,0x06,0x05,0x02]
v_min_i16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// GFX89: v_ldexp_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x66,0x02,0x06,0x05,0x02]
v_ldexp_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOGFX9: error: instruction not supported on this GPU
// VI: v_add_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x32,0x02,0x06,0x05,0x02]
v_add_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOGFX9: error: instruction not supported on this GPU
// VI: v_sub_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x34,0x02,0x06,0x05,0x02]
v_sub_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOGFX9: error: instruction not supported on this GPU
// VI: v_subrev_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x36,0x02,0x06,0x05,0x02]
v_subrev_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
-// NOGFX9: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOGFX9: error: instruction not supported on this GPU
// VI: v_addc_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x38,0x02,0x06,0x05,0x02]
v_addc_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
-// NOGFX9: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOGFX9: error: instruction not supported on this GPU
// VI: v_subb_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3a,0x02,0x06,0x05,0x02]
v_subb_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
-// NOGFX9: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
+// NOGFX9: error: instruction not supported on this GPU
// VI: v_subbrev_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3c,0x02,0x06,0x05,0x02]
v_subbrev_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
// NOSICI: error: invalid operand for instruction
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_add_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x32,0x02,0x06,0x05,0x02]
v_add_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
// NOSICI: error: invalid operand for instruction
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_sub_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x34,0x02,0x06,0x05,0x02]
v_sub_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
// NOSICI: error: invalid operand for instruction
-// NOVI: error: not a valid operand.
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_subrev_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x36,0x02,0x06,0x05,0x02]
v_subrev_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_addc_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x38,0x02,0x06,0x05,0x02]
v_addc_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_subb_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3a,0x02,0x06,0x05,0x02]
v_subb_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_subbrev_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3c,0x02,0x06,0x05,0x02]
v_subbrev_co_u32_sdwa v1, vcc, v2, v3, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
// Check VOPC opcodes
//===----------------------------------------------------------------------===//
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_eq_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_eq_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x00,0x02,0x04]
v_cmp_eq_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_nle_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_nle_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x00,0x02,0x04]
v_cmp_nle_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_gt_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x00,0x02,0x04]
v_cmpx_gt_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_nlt_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x00,0x02,0x04]
v_cmpx_nlt_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_lt_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_lt_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x00,0x02,0x04]
v_cmp_lt_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_t_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_t_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x00,0x02,0x04]
v_cmp_t_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_eq_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x00,0x02,0x04]
v_cmpx_eq_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_ne_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x00,0x02,0x04]
v_cmpx_ne_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_f_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_f_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x00,0x02,0x04]
v_cmp_f_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_gt_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_gt_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x00,0x02,0x04]
v_cmp_gt_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_le_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_le_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x00,0x02,0x04]
v_cmpx_le_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_ne_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x00,0x02,0x04]
v_cmpx_ne_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmp_class_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x02,0x04]
// GFX9: v_cmp_class_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x02,0x04]
v_cmp_class_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// VI: v_cmpx_class_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x00,0x02,0x04]
// GFX9: v_cmpx_class_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x00,0x02,0x04]
v_cmpx_class_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0
// NOGFX9: error: instruction not supported on this GPU
v_mac_f32 v194, v13, v1 dst_sel:BYTE_0 dst_unused:UNUSED_SEXT src0_sel:BYTE_3 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// VI: v_mac_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x46,0x02,0x06,0x05,0x02]
// NOGFX9: error: instruction not supported on this GPU
v_mac_f16 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
// GFX9: v_mov_b32_sdwa v1, exec_lo dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x7e,0x10,0x86,0x00]
v_mov_b32 v1, exec_lo dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD
-// NOSICI: error: register not available on this GPU
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: register not available on this GPU
// GFX9: v_mov_b32_sdwa v1, ttmp12 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x78,0x10,0x86,0x00]
v_mov_b32_sdwa v1, ttmp12 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD
// NOGFX9: error: register not available on this GPU
v_add_f32 v0, v1, tma_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa vcc, s1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x00,0x85,0x02]
v_cmp_eq_f32_sdwa vcc, s1, v2 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa vcc, v1, s22 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x2c,0x84,0x7c,0x01,0x00,0x05,0x82]
v_cmp_eq_f32_sdwa vcc, v1, s22 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: register not available on this GPU
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: register not available on this GPU
// GFX9: v_cmp_eq_f32_sdwa ttmp[12:13], v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0xf8,0x05,0x02]
v_cmp_eq_f32_sdwa ttmp[12:13], v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: instruction not supported on this GPU
// NOGFX9: error: register not available on this GPU
v_cmp_eq_f32_sdwa tba, v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: instruction not supported on this GPU
// NOGFX9: error: register not available on this GPU
v_cmp_eq_f32_sdwa tma, v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: register not available on this GPU
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: register not available on this GPU
// GFX9: v_cmp_eq_f32_sdwa vcc, v1, ttmp15 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0xf6,0x84,0x7c,0x01,0x00,0x05,0x82]
v_cmp_eq_f32_sdwa vcc, v1, ttmp15 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32_sdwa vcc, exec_lo, vcc_lo src0_sel:WORD_1 src1_sel:BYTE_2
// NOVI: error: invalid operand for instruction
// GFX9: v_ceil_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x66,0x06,0x86,0x00]
-// NOSI: error: register not available on this GPU
-// NOCI: error: not a valid operand.
+// NOSI: error: instruction not supported on this GPU
+// NOCI: error: instruction not supported on this GPU
v_ceil_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
//===----------------------------------------------------------------------===//
// Inline constants are allowed (though semantics is not clear yet)
//===----------------------------------------------------------------------===//
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_mov_b32_sdwa v5, 0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x80,0x06,0x86,0x00]
v_mov_b32_sdwa v5, 0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_mov_b32_sdwa v5, -1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0xc1,0x06,0x86,0x00]
v_mov_b32_sdwa v5, -1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_mov_b32_sdwa v5, 0.5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0xf0,0x06,0x86,0x00]
v_mov_b32_sdwa v5, 0.5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_mov_b32_sdwa v5, -4.0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0xf7,0x06,0x86,0x00]
v_mov_b32_sdwa v5, -4.0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_mov_b32_sdwa v5, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0xc1,0x16,0x8e,0x00]
v_mov_b32_sdwa v5, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, -1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xc1,0x06,0x86,0x06]
v_add_f32_sdwa v5, -1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, |-1|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xc1,0x16,0xa6,0x06]
v_add_f32_sdwa v5, |-1|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, neg(-1), -|v2| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xc1,0x16,0x96,0x36]
v_add_f32_sdwa v5, neg(-1), -|v2| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, -|-1|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xc1,0x16,0xb6,0x06]
v_add_f32_sdwa v5, -|-1|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, 0.5, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xf0,0x06,0x86,0x06]
v_add_f32_sdwa v5, 0.5, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, |-4.0|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0xa6,0x06]
v_add_f32_sdwa v5, |-4.0|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, neg(-4.0), v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0x96,0x06]
v_add_f32_sdwa v5, neg(-4.0), v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, -|-4.0|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0xb6,0x06]
v_add_f32_sdwa v5, -|-4.0|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, -4.0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xee,0x0b,0x02,0x02,0x16,0x06,0x86]
v_add_f32_sdwa v5, v2, -4.0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, |-4.0| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xee,0x0b,0x02,0x02,0x16,0x06,0xa6]
v_add_f32_sdwa v5, v2, |-4.0| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, neg(-4.0) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xee,0x0b,0x02,0x02,0x16,0x06,0x96]
v_add_f32_sdwa v5, v2, neg(-4.0) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, -|-4.0| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xee,0x0b,0x02,0x02,0x16,0x06,0xb6]
v_add_f32_sdwa v5, v2, -|-4.0| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0x86]
v_add_f32_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, |-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0xa6]
v_add_f32_sdwa v5, v2, |-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, neg(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0x96]
v_add_f32_sdwa v5, v2, neg(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_add_f32_sdwa v5, v2, -|-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0xb6]
v_add_f32_sdwa v5, v2, -|-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_and_b32_sdwa v5, -4.0, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0xf7,0x16,0x86,0x06]
v_and_b32_sdwa v5, -4.0, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_and_b32_sdwa v5, sext(-4.0), v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0xf7,0x16,0x8e,0x06]
v_and_b32_sdwa v5, sext(-4.0), v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_and_b32_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x26,0x02,0x16,0x06,0x86]
v_and_b32_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_and_b32_sdwa v5, v2, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x26,0x02,0x16,0x06,0x8e]
v_and_b32_sdwa v5, v2, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0x86,0x00]
v_exp_f16_sdwa v5, -1
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, |-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0xa6,0x00]
v_exp_f16_sdwa v5, |-1|
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, neg(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0x96,0x00]
v_exp_f16_sdwa v5, neg(-1)
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, -|-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0xb6,0x00]
v_exp_f16_sdwa v5, -|-1|
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, 0.5 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0x86,0x00]
v_exp_f16_sdwa v5, 0.5
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, |0.5| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0xa6,0x00]
v_exp_f16_sdwa v5, |0.5|
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, neg(0.5) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0x96,0x00]
v_exp_f16_sdwa v5, neg(0.5)
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_exp_f16_sdwa v5, -|0.5| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0xb6,0x00]
v_exp_f16_sdwa v5, -|0.5|
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_max_i16_sdwa v5, -4.0, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
v_max_i16_sdwa v5, sext(-4.0), v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_max_i16_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x60,0x02,0x16,0x06,0x86]
v_max_i16_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// GFX9: v_max_i16_sdwa v5, v2, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x0b,0x60,0x02,0x16,0x06,0x8e]
v_max_i16_sdwa v5, v2, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], -4.0, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0x86,0x06]
v_cmp_eq_f32_sdwa s[6:7], -4.0, v2 src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], |-4.0|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0xa6,0x06]
v_cmp_eq_f32_sdwa s[6:7], |-4.0|, v2 src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], neg(-4.0), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0x96,0x06]
v_cmp_eq_f32_sdwa s[6:7], neg(-4.0), v2 src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], -|-4.0|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0xb6,0x06]
v_cmp_eq_f32_sdwa s[6:7], -|-4.0|, v2 src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, -1 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0x86]
v_cmp_eq_f32_sdwa s[6:7], v2, -1 src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, |-1| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0xa6]
v_cmp_eq_f32_sdwa s[6:7], v2, |-1| src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, neg(-1) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0x96]
v_cmp_eq_f32_sdwa s[6:7], v2, neg(-1) src0_sel:DWORD src1_sel:DWORD
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, -|-1| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0xb6]
v_cmp_eq_f32_sdwa s[6:7], v2, -|-1| src0_sel:DWORD src1_sel:DWORD
// NOGFX89: error: invalid operand for instruction
v_cmpx_class_f32 vcc, 200, v1 src0_sel:BYTE_2 src1_sel:WORD_0
-// NOSICI: error: not a valid operand.
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOGFX89: error: invalid operand for instruction
v_mov_b32_sdwa v5, -17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
// VOPC with arbitrary SGPR destination
//===----------------------------------------------------------------------===//
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: instruction not supported on this GPU
// GFX9: v_cmp_eq_f32_sdwa s[2:3], v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x82,0x05,0x02]
v_cmp_eq_f32_sdwa s[2:3], v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: instruction not supported on this GPU
// GFX9: v_cmp_eq_f32_sdwa exec, v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0xfe,0x05,0x02]
v_cmp_eq_f32_sdwa exec, v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: invalid operand for instruction
+// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// GFX9: v_cmp_eq_f32_sdwa exec, s2, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x02,0xfe,0x85,0x02]
v_cmp_eq_f32_sdwa exec, s2, v2 src0_sel:WORD_1 src1_sel:BYTE_2
// Check Instructions
//---------------------------------------------------------------------------//
-// NOSICI: error: not a valid operand.
-// NOVI: error: not a valid operand.
+// NOSICI: error: instruction not supported on this GPU
+// NOVI: error: instruction not supported on this GPU
// GFX9: v_screen_partition_4se_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:BYTE_0 ; encoding: [0xf9,0x6e,0x0a,0x7e,0x01,0x16,0x00,0x00]
v_screen_partition_4se_b32_sdwa v5, v1 src0_sel:BYTE_0
// NOGFX89: error: invalid operand for instruction
v_add_f32 v0, s0, v[0:3] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOGFX89: error: invalid operand for instruction
v_add_f16 v1, v[2:3], v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOGFX89: error: invalid operand for instruction
v_add_f16 v1, s[2:3], v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOGFX89: error: invalid operand for instruction
v_add_f16 v1, v2, v[2:3] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOGFX89: error: invalid operand for instruction
v_add_f16 v1, v2, s[2:3] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: not a valid operand
// NOGFX9: error: invalid operand for instruction
v_add_u32 v1, v[2:3], v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: not a valid operand
// NOGFX9: error: invalid operand for instruction
v_add_u32 v1, s[2:3], v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: not a valid operand
// NOGFX9: error: invalid operand for instruction
v_add_u32 v1, v3, v[2:3] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
-// NOSICI: error: not a valid operand
+// NOSICI: error: instruction not supported on this GPU
// NOVI: error: not a valid operand
// NOGFX9: error: invalid operand for instruction
v_add_u32 v1, v3, s[2:3] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2
// GFX1064: v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00]
v_add_co_u32_e32 v2, vcc_lo, s0, v2
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:30: error: invalid operand for instruction
+// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported
v_add_co_u32_e32 v2, vcc, s0, v2
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:1: error: instruction not supported on this GPU
+// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported
v_add_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo
// GFX1032: v_add_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo ; encoding: [0x03,0x09,0x06,0x50]
// GFX1064: v_add_co_ci_u32_e32 v3, vcc, v3, v4, vcc ; encoding: [0x03,0x09,0x06,0x50]
v_sub_co_u32_e32 v2, vcc_lo, s0, v2
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:30: error: invalid operand for instruction
+// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported
v_sub_co_u32_e32 v2, vcc, s0, v2
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:1: error: instruction not supported on this GPU
+// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported
v_subrev_co_u32_e32 v2, vcc_lo, s0, v2
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:33: error: invalid operand for instruction
+// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported
v_subrev_co_u32_e32 v2, vcc, s0, v2
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:1: error: instruction not supported on this GPU
+// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported
v_sub_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo
// GFX1032: v_sub_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo ; encoding: [0x03,0x09,0x06,0x52]
// GFX1064: v_subrev_co_ci_u32_e32 v1, vcc, 0, v1, vcc ; encoding: [0x80,0x02,0x02,0x54]
v_add_co_u32_sdwa v0, vcc_lo, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:38: error: invalid operand for instruction{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:35: error: invalid operand for instruction{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_add_co_u32_sdwa v0, vcc, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:1: error: instruction not supported on this GPU
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_add_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:30: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:30: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_add_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
// GFX1032: v_add_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x00,0x06]
// GFX1064: v_add_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x00,0x06]
v_sub_co_u32_sdwa v0, vcc_lo, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:38: error: invalid operand for instruction{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:35: error: invalid operand for instruction{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_sub_co_u32_sdwa v0, vcc, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:1: error: instruction not supported on this GPU
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_sub_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:30: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:30: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_subrev_co_u32_sdwa v0, vcc_lo, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:41: error: invalid operand for instruction{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:38: error: invalid operand for instruction{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_subrev_co_u32_sdwa v0, vcc, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:1: error: instruction not supported on this GPU
-// GFX1064-ERR: :[[@LINE-2]]:1: error: instruction not supported on this GPU
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_subrev_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-// GFX1032-ERR: :[[@LINE-1]]:33: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:33: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported
v_sub_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
// GFX1032: v_sub_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x52,0x01,0x06,0x00,0x06]
// GFX1064: v_add_co_ci_u32_sdwa v1, vcc, sext(v1), sext(v4), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x08,0x0e]
v_add_co_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:29: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:29: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_add_co_u32_dpp v5, vcc_lo, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:37: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:37: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:34: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:34: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_add_co_ci_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// GFX1032: v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00]
// GFX1064: v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00]
v_sub_co_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:29: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:29: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_sub_co_u32_dpp v5, vcc_lo, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:37: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:37: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:34: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:34: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// GFX1032: v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00]
// GFX1064: v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00]
v_subrev_co_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:32: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:32: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_subrev_co_u32_dpp v5, vcc_lo, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:40: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:40: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
-// GFX1032-ERR: :[[@LINE-1]]:37: error: not a valid operand.{{$}}
-// GFX1064-ERR: :[[@LINE-2]]:37: error: not a valid operand.{{$}}
+// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported
+// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported
v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// GFX1032: v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x00]
// GFX906-ERR: error: instruction not supported on this GPU
v_dot2c_f32_f16 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: e64 variant of this instruction is not supported
v_dot2c_f32_f16_e64 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: sdwa variant of this instruction is not supported
v_dot2c_f32_f16_sdwa v0, v1, v2
// GFX906-ERR: error: instruction not supported on this GPU
v_dot2c_i32_i16 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: e64 variant of this instruction is not supported
v_dot2c_i32_i16_e64 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: sdwa variant of this instruction is not supported
v_dot2c_i32_i16_sdwa v0, v1, v2
// GFX906-ERR: error: instruction not supported on this GPU
v_dot4c_i32_i8 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: e64 variant of this instruction is not supported
v_dot4c_i32_i8_e64 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: sdwa variant of this instruction is not supported
v_dot4c_i32_i8_sdwa v0, v1, v2
// GFX906-ERR: error: instruction not supported on this GPU
v_dot8c_i32_i4 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: e64 variant of this instruction is not supported
v_dot8c_i32_i4_e64 v0, v1, v2
-// GCN-ERR: error: invalid instruction
+// GFX906-ERR: error: instruction not supported on this GPU
+// GFX908-ERR: error: sdwa variant of this instruction is not supported
v_dot8c_i32_i4_sdwa v0, v1, v2
// GFX906-ERR: error: instruction not supported on this GPU