[llvm] e2452f5 - [AMDGPU][MC] Added detection of unsupported instructions

Dmitry Preobrazhensky via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 6 06:44:54 PDT 2020


Author: Dmitry Preobrazhensky
Date: 2020-10-06T16:44:27+03:00
New Revision: e2452f57faa916866a99126d2337bd82a9e0a06d

URL: https://github.com/llvm/llvm-project/commit/e2452f57faa916866a99126d2337bd82a9e0a06d
DIFF: https://github.com/llvm/llvm-project/commit/e2452f57faa916866a99126d2337bd82a9e0a06d.diff

LOG: [AMDGPU][MC] Added detection of unsupported instructions

Implemented identification of unsupported instructions; improved errors reporting.

See bug 42590.

Reviewers: rampitec

Differential Revision: https://reviews.llvm.org/D88211

Added: 
    llvm/test/MC/AMDGPU/gfx10_unsupported.s
    llvm/test/MC/AMDGPU/gfx7_unsupported.s
    llvm/test/MC/AMDGPU/gfx8_unsupported.s
    llvm/test/MC/AMDGPU/gfx9_unsupported.s

Modified: 
    llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    llvm/test/MC/AMDGPU/dpp-err.s
    llvm/test/MC/AMDGPU/ds.s
    llvm/test/MC/AMDGPU/flat-global.s
    llvm/test/MC/AMDGPU/flat-scratch-instructions.s
    llvm/test/MC/AMDGPU/flat.s
    llvm/test/MC/AMDGPU/fma-mix.s
    llvm/test/MC/AMDGPU/gfx1011_err.s
    llvm/test/MC/AMDGPU/gfx1030_err.s
    llvm/test/MC/AMDGPU/gfx10_asm_err.s
    llvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s
    llvm/test/MC/AMDGPU/literals.s
    llvm/test/MC/AMDGPU/mad-mix.s
    llvm/test/MC/AMDGPU/mai-err.s
    llvm/test/MC/AMDGPU/mubuf-gfx9.s
    llvm/test/MC/AMDGPU/mubuf.s
    llvm/test/MC/AMDGPU/out-of-range-registers.s
    llvm/test/MC/AMDGPU/smem.s
    llvm/test/MC/AMDGPU/sop1.s
    llvm/test/MC/AMDGPU/sopc.s
    llvm/test/MC/AMDGPU/sopk.s
    llvm/test/MC/AMDGPU/sopp.s
    llvm/test/MC/AMDGPU/vop1-gfx9-err.s
    llvm/test/MC/AMDGPU/vop2.s
    llvm/test/MC/AMDGPU/vop3-errs.s
    llvm/test/MC/AMDGPU/vop3-gfx9.s
    llvm/test/MC/AMDGPU/vop3.s
    llvm/test/MC/AMDGPU/vop_dpp.s
    llvm/test/MC/AMDGPU/vop_sdwa.s
    llvm/test/MC/AMDGPU/wave32.s
    llvm/test/MC/AMDGPU/xdl-insts-err.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
index e1369e8f5c95..fae814a7871d 100644
--- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
@@ -1246,6 +1246,7 @@ class AMDGPUAsmParser : public MCTargetAsmParser {
   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,
@@ -1369,6 +1370,13 @@ class AMDGPUAsmParser : public MCTargetAsmParser {
   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;
@@ -2837,6 +2845,15 @@ unsigned AMDGPUAsmParser::checkTargetMatchPredicate(MCInst &Inst) {
   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) {
@@ -2860,12 +2877,23 @@ ArrayRef<unsigned> AMDGPUAsmParser::getMatchedVariants() const {
     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 {
@@ -3753,6 +3781,57 @@ static std::string AMDGPUMnemonicSpellCheck(StringRef S,
                                             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,
@@ -3782,27 +3861,26 @@ bool AMDGPUAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
       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) {
@@ -3819,6 +3897,8 @@ bool AMDGPUAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
   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!");
 }
@@ -4771,6 +4851,7 @@ bool AMDGPUAsmParser::ParseInstruction(ParseInstructionInfo &Info,
       Parser.Lex();
 
     if (Res != MatchOperand_Success) {
+      checkUnsupportedInstruction(Name, NameLoc);
       if (!Parser.hasPendingError()) {
         // FIXME: use real operand location rather than the current location.
         StringRef Msg =
@@ -7469,6 +7550,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmParser() {
 #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

diff  --git a/llvm/test/MC/AMDGPU/dpp-err.s b/llvm/test/MC/AMDGPU/dpp-err.s
index 19d896d82d59..7323ace70c35 100644
--- a/llvm/test/MC/AMDGPU/dpp-err.s
+++ b/llvm/test/MC/AMDGPU/dpp-err.s
@@ -14,25 +14,25 @@ v_mov_b32_dpp v0, v1 row_xmask:1 row_mask:0x1 bank_mask:0x1
 // 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.

diff  --git a/llvm/test/MC/AMDGPU/ds.s b/llvm/test/MC/AMDGPU/ds.s
index 25c3cdd38830..a618e9027f40 100644
--- a/llvm/test/MC/AMDGPU/ds.s
+++ b/llvm/test/MC/AMDGPU/ds.s
@@ -16,11 +16,11 @@ ds_add_u32 v2, v4 offset:16
 // 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]
 
 //===----------------------------------------------------------------------===//

diff  --git a/llvm/test/MC/AMDGPU/flat-global.s b/llvm/test/MC/AMDGPU/flat-global.s
index 7a1d3333fb73..e6c25f3f83f6 100644
--- a/llvm/test/MC/AMDGPU/flat-global.s
+++ b/llvm/test/MC/AMDGPU/flat-global.s
@@ -13,7 +13,7 @@ global_load_ubyte v1, v[3:4], off
 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]
@@ -23,7 +23,7 @@ global_load_sbyte v1, v[3:4], off
 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]
@@ -33,7 +33,7 @@ global_load_ushort v1, v[3:4], off
 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]
@@ -43,7 +43,7 @@ global_load_sshort v1, v[3:4], off
 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]
@@ -53,7 +53,7 @@ global_load_dword v1, v[3:4], off
 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]
@@ -63,7 +63,7 @@ global_load_dwordx2 v[1:2], v[3:4], off
 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]
@@ -73,7 +73,7 @@ global_load_dwordx3 v[1:3], v[3:4], off
 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]
@@ -83,38 +83,38 @@ global_load_dwordx4 v[1:4], v[3:4], off
 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]
@@ -124,7 +124,7 @@ global_store_byte v[3:4], v1, off
 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]
@@ -134,7 +134,7 @@ global_store_short v[3:4], v1, off
 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]
@@ -144,7 +144,7 @@ global_store_dword v[3:4], v1, off
 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]
@@ -154,7 +154,7 @@ global_store_dwordx2 v[3:4], v[1:2], off
 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]
@@ -164,7 +164,7 @@ global_store_dwordx3 v[3:4], v[1:3], off
 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]
@@ -174,12 +174,12 @@ global_store_dwordx4 v[3:4], v[1:4], off
 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]
@@ -189,12 +189,12 @@ global_load_dword v1, v3, s[2:3]
 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]
@@ -204,12 +204,12 @@ global_store_dword v3, v1, s[2:3]
 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
@@ -220,12 +220,12 @@ 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]
@@ -360,132 +360,132 @@ global_atomic_dec_x2 v[3:4], v[5:6], off
 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]
@@ -530,4 +530,4 @@ global_store_short_d16_hi v[3:4], v1, off
 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

diff  --git a/llvm/test/MC/AMDGPU/flat-scratch-instructions.s b/llvm/test/MC/AMDGPU/flat-scratch-instructions.s
index fb795105419c..a967b883079a 100644
--- a/llvm/test/MC/AMDGPU/flat-scratch-instructions.s
+++ b/llvm/test/MC/AMDGPU/flat-scratch-instructions.s
@@ -13,7 +13,7 @@ scratch_load_ubyte v1, v2, off
 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]
@@ -23,7 +23,7 @@ scratch_load_sbyte v1, v2, off
 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]
@@ -33,7 +33,7 @@ scratch_load_ushort v1, v2, off
 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]
@@ -43,7 +43,7 @@ scratch_load_sshort v1, v2, off
 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]
@@ -53,7 +53,7 @@ scratch_load_dword v1, v2, off
 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]
@@ -63,7 +63,7 @@ scratch_load_dwordx2 v[1:2], v3, off
 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]
@@ -73,7 +73,7 @@ scratch_load_dwordx3 v[1:3], v4, off
 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]
@@ -83,57 +83,57 @@ scratch_load_dwordx4 v[1:4], v5, off
 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]
@@ -143,7 +143,7 @@ scratch_store_byte v1, v2, off
 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]
@@ -153,7 +153,7 @@ scratch_store_short v1, v2, off
 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]
@@ -163,7 +163,7 @@ scratch_store_dword v1, v2, off
 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]
@@ -173,7 +173,7 @@ scratch_store_dwordx2 v1, v[2:3], off
 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]
@@ -183,7 +183,7 @@ scratch_store_dwordx3 v1, v[2:4], off
 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]
@@ -193,12 +193,12 @@ scratch_store_dwordx4 v1, v[2:5], off
 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]
@@ -208,7 +208,7 @@ scratch_load_dword v1, off, s1
 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]
@@ -218,38 +218,38 @@ scratch_store_dword off, v2, s1
 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]

diff  --git a/llvm/test/MC/AMDGPU/flat.s b/llvm/test/MC/AMDGPU/flat.s
index bfb71c9ebf4d..31dd4f0500f1 100644
--- a/llvm/test/MC/AMDGPU/flat.s
+++ b/llvm/test/MC/AMDGPU/flat.s
@@ -21,12 +21,12 @@ flat_load_dword v1, v[3:4]
 // 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]
 
@@ -35,16 +35,16 @@ flat_store_dword v[3:4], v1
 // 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
@@ -53,12 +53,12 @@ flat_store_dword v[3:4], v1 slc
 // 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]
 

diff  --git a/llvm/test/MC/AMDGPU/fma-mix.s b/llvm/test/MC/AMDGPU/fma-mix.s
index 3f510090ee58..6bd293e467f9 100644
--- a/llvm/test/MC/AMDGPU/fma-mix.s
+++ b/llvm/test/MC/AMDGPU/fma-mix.s
@@ -20,57 +20,57 @@ v_fma_mixhi_f16 v0, v1, v2, v3
 
 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
@@ -78,25 +78,25 @@ v_fma_mixhi_f16 v0, v1, v2, v3 clamp
 
 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]
@@ -104,24 +104,24 @@ v_fma_mix_f32 v0, v1, v2, v3
 
 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

diff  --git a/llvm/test/MC/AMDGPU/gfx1011_err.s b/llvm/test/MC/AMDGPU/gfx1011_err.s
index 4b5bc2e5887a..d6c268eafbcd 100644
--- a/llvm/test/MC/AMDGPU/gfx1011_err.s
+++ b/llvm/test/MC/AMDGPU/gfx1011_err.s
@@ -5,16 +5,16 @@ v_dot8c_i32_i4 v5, v1, v2
 // 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
@@ -26,25 +26,25 @@ image_bvh_intersect_ray v[4:7], v[9:24], s[4:7]
 // 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

diff  --git a/llvm/test/MC/AMDGPU/gfx1030_err.s b/llvm/test/MC/AMDGPU/gfx1030_err.s
index b8e1afdfdb5b..b8a1cb3efec3 100644
--- a/llvm/test/MC/AMDGPU/gfx1030_err.s
+++ b/llvm/test/MC/AMDGPU/gfx1030_err.s
@@ -5,16 +5,16 @@ v_dot8c_i32_i4 v5, v1, v2
 // 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
@@ -44,97 +44,97 @@ v_mac_legacy_f32 v0, v1, v2
 // 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

diff  --git a/llvm/test/MC/AMDGPU/gfx10_asm_err.s b/llvm/test/MC/AMDGPU/gfx10_asm_err.s
index 978ec345f2b0..ed33a55fb953 100644
--- a/llvm/test/MC/AMDGPU/gfx10_asm_err.s
+++ b/llvm/test/MC/AMDGPU/gfx10_asm_err.s
@@ -1,7 +1,7 @@
 // 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
 
@@ -271,4 +271,5 @@ s_endpgm_saved
 //===----------------------------------------------------------------------===//
 
 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

diff  --git a/llvm/test/MC/AMDGPU/gfx10_unsupported.s b/llvm/test/MC/AMDGPU/gfx10_unsupported.s
new file mode 100644
index 000000000000..34a9d4686e20
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx10_unsupported.s
@@ -0,0 +1,1102 @@
+// 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

diff  --git a/llvm/test/MC/AMDGPU/gfx7_unsupported.s b/llvm/test/MC/AMDGPU/gfx7_unsupported.s
new file mode 100644
index 000000000000..81146340ad72
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx7_unsupported.s
@@ -0,0 +1,3149 @@
+// 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

diff  --git a/llvm/test/MC/AMDGPU/gfx8_unsupported.s b/llvm/test/MC/AMDGPU/gfx8_unsupported.s
new file mode 100644
index 000000000000..47f0f35c4d84
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx8_unsupported.s
@@ -0,0 +1,1814 @@
+// 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

diff  --git a/llvm/test/MC/AMDGPU/gfx9_unsupported.s b/llvm/test/MC/AMDGPU/gfx9_unsupported.s
new file mode 100644
index 000000000000..cf1b2b90c8c5
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx9_unsupported.s
@@ -0,0 +1,1043 @@
+// 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

diff  --git a/llvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s b/llvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s
index 14800de71cbd..a5cca6ba5bd9 100644
--- a/llvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s
+++ b/llvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s
@@ -1,4 +1,4 @@
-# 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.
 
@@ -6,9 +6,9 @@
 
 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:
@@ -16,29 +16,29 @@ v2, v4, v6
 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:{{^}}^

diff  --git a/llvm/test/MC/AMDGPU/literals.s b/llvm/test/MC/AMDGPU/literals.s
index ce6893ed057b..f639fd9b19fa 100644
--- a/llvm/test/MC/AMDGPU/literals.s
+++ b/llvm/test/MC/AMDGPU/literals.s
@@ -509,13 +509,19 @@ s_mov_b64 s[0:1], 0x1000000001
 // 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
 
 //---------------------------------------------------------------------------//
@@ -554,12 +560,12 @@ s_and_b64 s[0:1], s[0:1], src_scc
 // 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
@@ -592,20 +598,20 @@ v_max_f64 v[0:1], scc, v[0:1]
 // 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
@@ -618,22 +624,24 @@ v_ceil_f32 v0, -vccz
 // 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
 
 //---------------------------------------------------------------------------//
@@ -648,12 +656,6 @@ buffer_atomic_add v0, off, s[0:3], src_shared_base offset:4095
 // 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
@@ -690,32 +692,38 @@ s_and_b64 s[0:1], s[0:1], src_private_limit
 // 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
@@ -726,28 +734,28 @@ v_max_f32 v0, src_shared_base, v0
 // 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
@@ -761,29 +769,32 @@ v_ceil_f32 v0, -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
@@ -818,7 +829,7 @@ v_div_fmas_f32 v0, v0, scc, v1
 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
 
@@ -840,7 +851,7 @@ v_cmp_eq_f32 s[0:1], private_base, s0
 // 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
 

diff  --git a/llvm/test/MC/AMDGPU/mad-mix.s b/llvm/test/MC/AMDGPU/mad-mix.s
index 0a261a922725..f1de62b5a548 100644
--- a/llvm/test/MC/AMDGPU/mad-mix.s
+++ b/llvm/test/MC/AMDGPU/mad-mix.s
@@ -20,57 +20,57 @@ v_mad_mixhi_f16 v0, v1, v2, v3
 
 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
@@ -78,25 +78,25 @@ v_mad_mixhi_f16 v0, v1, v2, v3 clamp
 
 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]
@@ -104,24 +104,24 @@ v_mad_mix_f32 v0, v1, v2, v3
 
 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

diff  --git a/llvm/test/MC/AMDGPU/mai-err.s b/llvm/test/MC/AMDGPU/mai-err.s
index 6f3361c0c9f3..32a7d8e186c8 100644
--- a/llvm/test/MC/AMDGPU/mai-err.s
+++ b/llvm/test/MC/AMDGPU/mai-err.s
@@ -3,61 +3,61 @@
 
 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
@@ -69,7 +69,7 @@ v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0
 
 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
@@ -77,7 +77,7 @@ v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0
 
 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
@@ -85,7 +85,7 @@ v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0
 
 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
@@ -93,7 +93,7 @@ v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0
 
 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
@@ -101,7 +101,7 @@ v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0
 
 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
@@ -109,7 +109,7 @@ v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0
 
 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
@@ -117,7 +117,7 @@ v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0
 
 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
@@ -125,7 +125,7 @@ v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
 
 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
@@ -133,7 +133,7 @@ v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0
 
 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
@@ -141,7 +141,7 @@ v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0
 
 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
@@ -149,7 +149,7 @@ v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0
 
 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
@@ -157,7 +157,7 @@ v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
 
 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
@@ -165,7 +165,7 @@ v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0
 
 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
@@ -173,7 +173,7 @@ v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0
 
 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
@@ -181,7 +181,7 @@ v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0
 
 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
@@ -189,7 +189,7 @@ v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
 
 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
@@ -197,7 +197,7 @@ v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0
 
 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
@@ -205,7 +205,7 @@ v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0
 
 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
@@ -213,7 +213,7 @@ v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0
 
 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
@@ -221,7 +221,7 @@ v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
 
 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
@@ -229,7 +229,7 @@ v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0
 
 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
@@ -237,7 +237,7 @@ v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0
 
 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
@@ -245,7 +245,7 @@ v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0
 
 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
@@ -253,7 +253,7 @@ v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
 
 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
@@ -261,7 +261,7 @@ v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0
 
 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
@@ -269,7 +269,7 @@ v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0
 
 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
@@ -277,7 +277,7 @@ v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0
 
 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
@@ -285,7 +285,7 @@ v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
 
 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
@@ -293,7 +293,7 @@ v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0
 
 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
@@ -301,7 +301,7 @@ v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0
 
 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
@@ -309,7 +309,7 @@ v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0
 
 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
@@ -317,7 +317,7 @@ v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
 
 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
@@ -325,7 +325,7 @@ v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0
 
 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
@@ -333,7 +333,7 @@ v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0
 
 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
@@ -341,7 +341,7 @@ v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0
 
 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
@@ -349,7 +349,7 @@ v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
 
 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
@@ -357,7 +357,7 @@ v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0
 
 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
@@ -365,7 +365,7 @@ v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0
 
 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
@@ -373,7 +373,7 @@ v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0
 
 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
@@ -381,7 +381,7 @@ v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
 
 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
@@ -389,7 +389,7 @@ v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2
 
 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
@@ -397,7 +397,7 @@ v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2
 
 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
@@ -405,7 +405,7 @@ v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2
 
 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
@@ -413,7 +413,7 @@ v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
 
 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
@@ -421,7 +421,7 @@ v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2
 
 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
@@ -429,7 +429,7 @@ v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2
 
 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
@@ -437,7 +437,7 @@ v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2
 
 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
@@ -445,7 +445,7 @@ v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
 
 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
@@ -453,7 +453,7 @@ v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2
 
 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
@@ -461,7 +461,7 @@ v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2
 
 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
@@ -469,7 +469,7 @@ v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2
 
 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
@@ -477,7 +477,7 @@ v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
 
 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
@@ -485,7 +485,7 @@ v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2
 
 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
@@ -493,7 +493,7 @@ v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2
 
 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
@@ -501,7 +501,7 @@ v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2
 
 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
@@ -509,7 +509,7 @@ v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
 
 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
@@ -517,7 +517,7 @@ v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2
 
 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
@@ -525,7 +525,7 @@ v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2
 
 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
@@ -533,7 +533,7 @@ v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2
 
 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
@@ -545,7 +545,7 @@ v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0
 
 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
@@ -553,7 +553,7 @@ v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0
 
 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
@@ -561,7 +561,7 @@ v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0
 
 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
@@ -569,7 +569,7 @@ v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
 
 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
@@ -577,7 +577,7 @@ v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0
 
 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
@@ -585,7 +585,7 @@ v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0
 
 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
@@ -593,7 +593,7 @@ v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0
 
 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
@@ -601,7 +601,7 @@ v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
 
 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
@@ -609,7 +609,7 @@ v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0
 
 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
@@ -617,7 +617,7 @@ v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0
 
 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
@@ -625,7 +625,7 @@ v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0
 
 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
@@ -633,7 +633,7 @@ v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
 
 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
@@ -641,7 +641,7 @@ v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0
 
 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
@@ -649,7 +649,7 @@ v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0
 
 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
@@ -657,7 +657,7 @@ v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0
 
 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
@@ -665,7 +665,7 @@ v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
 
 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
@@ -673,7 +673,7 @@ v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0
 
 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
@@ -681,7 +681,7 @@ v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0
 
 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
@@ -689,7 +689,7 @@ v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0
 
 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
@@ -697,4 +697,4 @@ v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
 
 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

diff  --git a/llvm/test/MC/AMDGPU/mubuf-gfx9.s b/llvm/test/MC/AMDGPU/mubuf-gfx9.s
index 10909c63aff7..840c372b4aa5 100644
--- a/llvm/test/MC/AMDGPU/mubuf-gfx9.s
+++ b/llvm/test/MC/AMDGPU/mubuf-gfx9.s
@@ -39,23 +39,23 @@ buffer_load_format_d16_hi_x v5, off, s[8:11], s3
 
 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]
@@ -63,20 +63,20 @@ buffer_store_format_d16_hi_x v255, off, s[12:15], s4
 
 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

diff  --git a/llvm/test/MC/AMDGPU/mubuf.s b/llvm/test/MC/AMDGPU/mubuf.s
index a07a0a2aab18..ad0b9396753c 100644
--- a/llvm/test/MC/AMDGPU/mubuf.s
+++ b/llvm/test/MC/AMDGPU/mubuf.s
@@ -721,43 +721,43 @@ buffer_atomic_add v5, off, s[8:11], 0.15915494 offset:4095 glc
 
 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]
@@ -765,15 +765,15 @@ buffer_atomic_fmin v0, off, s[0:3], s0
 
 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
@@ -836,11 +836,11 @@ buffer_store_lds_dword s[4:7], s0 lds
 // 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
@@ -866,9 +866,9 @@ buffer_load_dword v5, off, s[8:11], s3 tfe 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

diff  --git a/llvm/test/MC/AMDGPU/out-of-range-registers.s b/llvm/test/MC/AMDGPU/out-of-range-registers.s
index e350fc5de520..6ca592d8083f 100644
--- a/llvm/test/MC/AMDGPU/out-of-range-registers.s
+++ b/llvm/test/MC/AMDGPU/out-of-range-registers.s
@@ -1,5 +1,5 @@
 // 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
 
@@ -20,10 +20,16 @@ s_add_i32 s105, s0, s1
 // 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

diff  --git a/llvm/test/MC/AMDGPU/smem.s b/llvm/test/MC/AMDGPU/smem.s
index 5f00a820ee02..cbdcbc99cda9 100644
--- a/llvm/test/MC/AMDGPU/smem.s
+++ b/llvm/test/MC/AMDGPU/smem.s
@@ -10,7 +10,7 @@
 // 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]
@@ -71,7 +71,7 @@ s_store_dword s1, s[2:3], 0xfc
 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]
@@ -81,27 +81,31 @@ s_store_dword s1, s[2:3], s4
 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
@@ -112,6 +116,7 @@ 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]
@@ -121,22 +126,26 @@ s_buffer_store_dword s10, s[92:95], m0
 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]
@@ -151,13 +160,14 @@ s_buffer_store_dwordx2 s[10:11], s[92:95], m0
 
 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]
@@ -215,6 +225,7 @@ s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0
 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
@@ -228,7 +239,7 @@ s_scratch_load_dword s5, s[2:3], s101
 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]
@@ -238,7 +249,7 @@ s_scratch_load_dwordx2 s[100:101], s[2:3], s0
 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]
@@ -253,17 +264,17 @@ s_scratch_store_dword s101, s[4:5], s0
 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

diff  --git a/llvm/test/MC/AMDGPU/sop1.s b/llvm/test/MC/AMDGPU/sop1.s
index 3b0bafd4ae2c..494daab380f2 100644
--- a/llvm/test/MC/AMDGPU/sop1.s
+++ b/llvm/test/MC/AMDGPU/sop1.s
@@ -306,12 +306,12 @@ s_cbranch_join s4
 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]

diff  --git a/llvm/test/MC/AMDGPU/sopc.s b/llvm/test/MC/AMDGPU/sopc.s
index 3ef217798a2e..fd52b6daed4e 100644
--- a/llvm/test/MC/AMDGPU/sopc.s
+++ b/llvm/test/MC/AMDGPU/sopc.s
@@ -76,51 +76,51 @@ s_cmp_lg_u64 s[0:1], s[2:3]
 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

diff  --git a/llvm/test/MC/AMDGPU/sopk.s b/llvm/test/MC/AMDGPU/sopk.s
index 14523dcec856..f8c1d0ea89a4 100644
--- a/llvm/test/MC/AMDGPU/sopk.s
+++ b/llvm/test/MC/AMDGPU/sopk.s
@@ -360,7 +360,7 @@ s_endpgm_ordered_ps_done
 
 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

diff  --git a/llvm/test/MC/AMDGPU/sopp.s b/llvm/test/MC/AMDGPU/sopp.s
index 63783f61c6bf..05f463872039 100644
--- a/llvm/test/MC/AMDGPU/sopp.s
+++ b/llvm/test/MC/AMDGPU/sopp.s
@@ -361,19 +361,19 @@ s_set_gpr_idx_off
 
 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]

diff  --git a/llvm/test/MC/AMDGPU/vop1-gfx9-err.s b/llvm/test/MC/AMDGPU/vop1-gfx9-err.s
index 934563285537..42feac2f0aa2 100644
--- a/llvm/test/MC/AMDGPU/vop1-gfx9-err.s
+++ b/llvm/test/MC/AMDGPU/vop1-gfx9-err.s
@@ -3,25 +3,35 @@
 // 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

diff  --git a/llvm/test/MC/AMDGPU/vop2.s b/llvm/test/MC/AMDGPU/vop2.s
index b2893154dd6d..db93478476b8 100644
--- a/llvm/test/MC/AMDGPU/vop2.s
+++ b/llvm/test/MC/AMDGPU/vop2.s
@@ -1,7 +1,7 @@
 // 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:
@@ -16,22 +16,27 @@
 
 // _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
 
 //===----------------------------------------------------------------------===//
@@ -40,34 +45,42 @@ 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
 
 //===----------------------------------------------------------------------===//
@@ -76,22 +89,27 @@ 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]
@@ -142,7 +160,6 @@ v_subrev_f32 v1, v2, v3
 
 // 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]
@@ -171,12 +188,10 @@ v_mul_hi_u32_u24_e32 v1, v2, v3
 
 // 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]
@@ -205,7 +220,6 @@ v_max_u32_e32 v1, v2, v3
 
 // 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]
@@ -214,7 +228,6 @@ v_lshrrev_b32_e32 v1, v2, v3
 
 // 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]
@@ -223,7 +236,6 @@ v_ashrrev_i32_e32 v1, v2, v3
 
 // 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]
@@ -335,27 +347,27 @@ v_addc_u32 v1, vcc, v2, v3, vcc
 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
 
@@ -396,121 +408,97 @@ v_cvt_pk_u16_u32_e64 v1, v2, v3
 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

diff  --git a/llvm/test/MC/AMDGPU/vop3-errs.s b/llvm/test/MC/AMDGPU/vop3-errs.s
index 01cbb130f95c..2d59d55ce9a2 100644
--- a/llvm/test/MC/AMDGPU/vop3-errs.s
+++ b/llvm/test/MC/AMDGPU/vop3-errs.s
@@ -58,29 +58,37 @@ v_cvt_f64_i32 v[5:6], s1 mul:3
 //
 
 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

diff  --git a/llvm/test/MC/AMDGPU/vop3-gfx9.s b/llvm/test/MC/AMDGPU/vop3-gfx9.s
index c98fc47093f8..5b1c7bdbaf13 100644
--- a/llvm/test/MC/AMDGPU/vop3-gfx9.s
+++ b/llvm/test/MC/AMDGPU/vop3-gfx9.s
@@ -34,15 +34,15 @@ v_pack_b32_f16 v1, v2, v3
 
 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]
@@ -66,27 +66,27 @@ v_max3_f16 v1, v2, v3, v4
 
 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]
@@ -94,27 +94,27 @@ v_max3_i16 v1, v2, v3, v4
 
 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]
@@ -138,23 +138,23 @@ v_mad_u32_u16 v5, v1, v2, v3
 
 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]
@@ -162,7 +162,7 @@ v_mad_i32_i16 v5, v1, v2, v3
 
 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]
@@ -170,47 +170,47 @@ v_cvt_pknorm_i16_f16 v5, v1, v2
 
 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]
@@ -218,7 +218,7 @@ v_add_i16 v5, v1, v2
 
 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]
@@ -226,11 +226,11 @@ v_sub_i16 v5, v1, v2
 
 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]
@@ -238,29 +238,29 @@ v_fma_f16_e64 v5, v1, v2, v3
 
 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
@@ -269,15 +269,15 @@ 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]
@@ -293,29 +293,29 @@ v_div_fixup_f16 v5, v1, v2, 0.5
 
 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
@@ -332,15 +332,15 @@ v_div_fixup_legacy_f16 v5, v1, v2, 0.5
 
 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]
@@ -356,45 +356,45 @@ v_mad_f16 v5, v1, v2, 0.5
 
 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]
@@ -411,16 +411,16 @@ v_mad_i16 v5, v1, v2, -4.0
 
 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
@@ -437,15 +437,15 @@ v_mad_legacy_f16 v5, v1, v2, 0.5
 
 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]
@@ -461,7 +461,7 @@ v_mad_legacy_i16 v5, v1, v2, -4.0
 
 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]
@@ -477,7 +477,7 @@ v_mad_legacy_u16 v5, v1, v2, -4.0
 
 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]
@@ -494,86 +494,86 @@ v_mad_u16 v5, v1, v2, -4.0
 
 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]
@@ -584,53 +584,54 @@ v_sat_pk_u8_i16_e64 v5, v255
 // 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]
@@ -662,7 +663,8 @@ v_add_i32 v1, v2, v3
 
 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]
@@ -670,7 +672,8 @@ v_sub_i32 v1, v2, v3
 
 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)
@@ -720,35 +723,43 @@ v_add_f32 v0, v0, s[0:1]
 // 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]
 

diff  --git a/llvm/test/MC/AMDGPU/vop3.s b/llvm/test/MC/AMDGPU/vop3.s
index 2c083e7024e3..580b928397f6 100644
--- a/llvm/test/MC/AMDGPU/vop3.s
+++ b/llvm/test/MC/AMDGPU/vop3.s
@@ -289,28 +289,28 @@ v_mac_f32_e64 v0, -v1, |v2|
 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
@@ -504,15 +504,15 @@ v_fma_f16 v5, v1, v2, 0.5
 
 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]
@@ -536,15 +536,15 @@ v_div_fixup_f16 v5, v1, v2, -4.0
 
 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]
@@ -564,15 +564,15 @@ v_mad_f16 v5, v1, v2, 0.5
 
 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]
@@ -637,19 +637,19 @@ v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp
 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]
 
 //
@@ -657,23 +657,23 @@ v_mad_i16 v5, v1, v2, v3 clamp
 //
 
 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
@@ -681,15 +681,15 @@ 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
@@ -698,23 +698,23 @@ 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
@@ -722,137 +722,137 @@ 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]

diff  --git a/llvm/test/MC/AMDGPU/vop_dpp.s b/llvm/test/MC/AMDGPU/vop_dpp.s
index e0dfc255a89a..890b7e7a8f48 100644
--- a/llvm/test/MC/AMDGPU/vop_dpp.s
+++ b/llvm/test/MC/AMDGPU/vop_dpp.s
@@ -3,7 +3,7 @@
 
 // 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:
 
@@ -256,103 +256,105 @@ v_frexp_exp_i32_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0
 // 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
 
@@ -453,139 +455,139 @@ v_or_b32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 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
 
@@ -635,32 +637,32 @@ v_add_f32 v0, v1, s45 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

diff  --git a/llvm/test/MC/AMDGPU/vop_sdwa.s b/llvm/test/MC/AMDGPU/vop_sdwa.s
index 9a4283e73e38..222e5dd4644b 100644
--- a/llvm/test/MC/AMDGPU/vop_sdwa.s
+++ b/llvm/test/MC/AMDGPU/vop_sdwa.s
@@ -63,11 +63,11 @@ v_mov_b32 v1, v0 clamp src0_sel:WORD_1
 // 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
 
@@ -79,7 +79,7 @@ v_min_f32 v0, v0, v0 clamp dst_sel:DWORD src1_sel:BYTE_2
 // 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
 
@@ -103,7 +103,7 @@ v_add_f32 v0, -|v0|, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src
 // 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)
 
@@ -111,7 +111,7 @@ 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
@@ -120,7 +120,7 @@ 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
 
@@ -261,110 +261,110 @@ v_frexp_exp_i32_f32 v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
 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
 
 //===----------------------------------------------------------------------===//
@@ -451,135 +451,135 @@ v_or_b32 v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel
 // 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
 
@@ -605,72 +605,72 @@ v_cndmask_b32_sdwa v5, vcc_lo, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE
 // 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
@@ -698,7 +698,7 @@ v_mac_f32 v15, v99, v194 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_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
@@ -717,7 +717,7 @@ v_mov_b32 v1, s2 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD
 // 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
@@ -747,272 +747,272 @@ v_add_f32 v0, v1, tba_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src
 // 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
@@ -1033,7 +1033,7 @@ v_cmpx_class_f32 vcc, v1, 200 src0_sel:BYTE_2 src1_sel:WORD_0
 // 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
 
@@ -1041,17 +1041,17 @@ 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
@@ -1084,8 +1084,8 @@ v_add_f32 v0, v0, v0 clamp div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WO
 // 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
 
@@ -1121,38 +1121,38 @@ v_add_f32 v0, s0, v[0:1] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src
 // 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

diff  --git a/llvm/test/MC/AMDGPU/wave32.s b/llvm/test/MC/AMDGPU/wave32.s
index b9f6af4b2816..2044f6ec3b48 100644
--- a/llvm/test/MC/AMDGPU/wave32.s
+++ b/llvm/test/MC/AMDGPU/wave32.s
@@ -88,12 +88,12 @@ v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
 // 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]
@@ -108,20 +108,20 @@ v_add_co_ci_u32_e32 v3, v3, v4
 // 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]
@@ -148,16 +148,16 @@ v_subrev_co_ci_u32_e32 v1, 0, v1
 // 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]
@@ -172,28 +172,28 @@ v_add_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYT
 // 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]
@@ -232,16 +232,16 @@ v_add_co_ci_u32_sdwa v1, vcc, sext(v1), sext(v4), vcc dst_sel:DWORD dst_unused:U
 // 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]
@@ -256,16 +256,16 @@ v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_m
 // 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]
@@ -276,16 +276,16 @@ v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_m
 // 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]

diff  --git a/llvm/test/MC/AMDGPU/xdl-insts-err.s b/llvm/test/MC/AMDGPU/xdl-insts-err.s
index d774260bf941..7cb8c26e7907 100644
--- a/llvm/test/MC/AMDGPU/xdl-insts-err.s
+++ b/llvm/test/MC/AMDGPU/xdl-insts-err.s
@@ -4,37 +4,45 @@
 // 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


        


More information about the llvm-commits mailing list