[llvm] r285575 - [SystemZ] Correctly diagnose missing features in AsmParser

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 31 07:25:06 PDT 2016


Author: uweigand
Date: Mon Oct 31 09:25:05 2016
New Revision: 285575

URL: http://llvm.org/viewvc/llvm-project?rev=285575&view=rev
Log:
[SystemZ] Correctly diagnose missing features in AsmParser

Currently, when using an instruction that is not supported on the
currently selected architecture, the LLVM assembler is likely to
diagnose an "invalid operand" instead of a "missing feature".

This is because many operands require a custom parser in order to
be processed correctly, and if an instruction is not available
according to the current feature set, the generated parser code
will also not detect the associated custom operand parsers.

Fixed by temporarily enabling all features while parsing operands.
The missing features will then be correctly detected when actually
parsing the instruction itself.


Modified:
    llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    llvm/trunk/test/MC/SystemZ/insn-bad-z196.s
    llvm/trunk/test/MC/SystemZ/insn-bad-zEC12.s
    llvm/trunk/test/MC/SystemZ/insn-bad.s

Modified: llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp?rev=285575&r1=285574&r2=285575&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp Mon Oct 31 09:25:05 2016
@@ -1075,8 +1075,14 @@ bool SystemZAsmParser::ParseInstruction(
 bool SystemZAsmParser::parseOperand(OperandVector &Operands,
                                     StringRef Mnemonic) {
   // Check if the current operand has a custom associated parser, if so, try to
-  // custom parse the operand, or fallback to the general approach.
+  // custom parse the operand, or fallback to the general approach.  Force all
+  // features to be available during the operand check, or else we will fail to
+  // find the custom parser, and then we will later get an InvalidOperand error
+  // instead of a MissingFeature errror.
+  uint64_t AvailableFeatures = getAvailableFeatures();
+  setAvailableFeatures(~(uint64_t)0);
   OperandMatchResultTy ResTy = MatchOperandParserImpl(Operands, Mnemonic);
+  setAvailableFeatures(AvailableFeatures);
   if (ResTy == MatchOperand_Success)
     return false;
 

Modified: llvm/trunk/test/MC/SystemZ/insn-bad-z196.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/SystemZ/insn-bad-z196.s?rev=285575&r1=285574&r2=285575&view=diff
==============================================================================
--- llvm/trunk/test/MC/SystemZ/insn-bad-z196.s (original)
+++ llvm/trunk/test/MC/SystemZ/insn-bad-z196.s Mon Oct 31 09:25:05 2016
@@ -244,7 +244,7 @@
 	cxlgbr	%f0, 16, %r0, 0
 	cxlgbr	%f2, 0, %r0, 0
 
-#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: error: instruction requires: transactional-execution
 #CHECK: etnd	%r7
 
 	etnd	%r7
@@ -551,17 +551,17 @@
 	locr	%r0,%r0,-1
 	locr	%r0,%r0,16
 
-#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: error: instruction requires: transactional-execution
 #CHECK: ntstg	%r0, 524287(%r1,%r15)
 
 	ntstg	%r0, 524287(%r1,%r15)
 
-#CHECK: error: {{(instruction requires: processor-assist)?}}
+#CHECK: error: instruction requires: processor-assist
 #CHECK: ppa	%r4, %r6, 7
 
 	ppa	%r4, %r6, 7
 
-#CHECK: error: {{(instruction requires: miscellaneous-extensions)?}}
+#CHECK: error: instruction requires: miscellaneous-extensions
 #CHECK: risbgn	%r1, %r2, 0, 0, 0
 
 	risbgn	%r1, %r2, 0, 0, 0
@@ -720,22 +720,22 @@
 	stocg	%r0,524288,1
 	stocg	%r0,0(%r1,%r2),1
 
-#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: error: instruction requires: transactional-execution
 #CHECK: tabort	4095(%r1)
 
 	tabort	4095(%r1)
 
-#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: error: instruction requires: transactional-execution
 #CHECK: tbegin	4095(%r1), 42
 
 	tbegin	4095(%r1), 42
 
-#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: error: instruction requires: transactional-execution
 #CHECK: tbeginc	4095(%r1), 42
 
 	tbeginc	4095(%r1), 42
 
-#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: error: instruction requires: transactional-execution
 #CHECK: tend
 
 	tend

Modified: llvm/trunk/test/MC/SystemZ/insn-bad-zEC12.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/SystemZ/insn-bad-zEC12.s?rev=285575&r1=285574&r2=285575&view=diff
==============================================================================
--- llvm/trunk/test/MC/SystemZ/insn-bad-zEC12.s (original)
+++ llvm/trunk/test/MC/SystemZ/insn-bad-zEC12.s Mon Oct 31 09:25:05 2016
@@ -2,7 +2,7 @@
 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=zEC12 < %s 2> %t
 # RUN: FileCheck < %t %s
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: lcbb	%r0, 0, 0
 
 	lcbb	%r0, 0, 0
@@ -88,15 +88,15 @@
 	tbeginc	0, -1
 	tbeginc	0, 65536
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vab	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vaf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vag	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vah	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vaq	%v0, %v0, %v0
 
 	vab	%v0, %v0, %v0
@@ -105,15 +105,15 @@
 	vah	%v0, %v0, %v0
 	vaq	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vaccb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vaccf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vaccg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vacch	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vaccq	%v0, %v0, %v0
 
 	vaccb	%v0, %v0, %v0
@@ -122,23 +122,23 @@
 	vacch	%v0, %v0, %v0
 	vaccq	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
-#CHECK: vacccq	%v0, %v0, %v0
+#CHECK: error: instruction requires: vector
+#CHECK: vacccq	%v0, %v0, %v0, %v0
 
-	vacccq	%v0, %v0, %v0
+	vacccq	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
-#CHECK: vacq	%v0, %v0, %v0
+#CHECK: error: instruction requires: vector
+#CHECK: vacq	%v0, %v0, %v0, %v0
 
-	vacq	%v0, %v0, %v0
+	vacq	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavgb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavgf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavgg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavgh	%v0, %v0, %v0
 
 	vavgb	%v0, %v0, %v0
@@ -146,13 +146,13 @@
 	vavgg	%v0, %v0, %v0
 	vavgh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavglb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavglf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavglg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vavglh	%v0, %v0, %v0
 
 	vavglb	%v0, %v0, %v0
@@ -160,31 +160,31 @@
 	vavglg	%v0, %v0, %v0
 	vavglh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vcdgb	%v0, %v0, 0, 0
 
 	vcdgb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vcdlgb	%v0, %v0, 0, 0
 
 	vcdlgb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqbs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqhs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqfs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vceqgs	%v0, %v0, %v0
 
 	vceqb	%v0, %v0, %v0
@@ -196,26 +196,26 @@
 	vceqfs	%v0, %v0, %v0
 	vceqgs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vcgdb	%v0, %v0, 0, 0
 
 	vcgdb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchbs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchhs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchfs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchgs	%v0, %v0, %v0
 
 	vchb	%v0, %v0, %v0
@@ -227,21 +227,21 @@
 	vchfs	%v0, %v0, %v0
 	vchgs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlbs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlhs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlfs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vchlgs	%v0, %v0, %v0
 
 	vchlb	%v0, %v0, %v0
@@ -253,23 +253,23 @@
 	vchlfs	%v0, %v0, %v0
 	vchlgs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vcksm	%v0, %v0, %v0
 
 	vcksm	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vclgdb	%v0, %v0, 0, 0
 
 	vclgdb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vclzb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vclzf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vclzg	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vclzh	%v0, %v0
 
 	vclzb	%v0, %v0
@@ -277,13 +277,13 @@
 	vclzg	%v0, %v0
 	vclzh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vctzb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vctzf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vctzg	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vctzh	%v0, %v0
 
 	vctzb	%v0, %v0
@@ -291,13 +291,13 @@
 	vctzg	%v0, %v0
 	vctzh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vecb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vecf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vecg	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vech	%v0, %v0
 
 	vecb	%v0, %v0
@@ -305,13 +305,13 @@
 	vecg	%v0, %v0
 	vech	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verimb	%v0, %v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verimf	%v0, %v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verimg	%v0, %v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verimh	%v0, %v0, %v0, 0
 
 	verimb	%v0, %v0, %v0, 0
@@ -319,13 +319,13 @@
 	verimg	%v0, %v0, %v0, 0
 	verimh	%v0, %v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veclb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veclf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veclg	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veclh	%v0, %v0
 
 	veclb	%v0, %v0
@@ -333,13 +333,13 @@
 	veclg	%v0, %v0
 	veclh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllvb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllvf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllvg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllvh	%v0, %v0, %v0
 
 	verllvb	%v0, %v0, %v0
@@ -347,13 +347,13 @@
 	verllvg	%v0, %v0, %v0
 	verllvh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllb	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllf	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllg	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: verllh	%v0, %v0, 0
 
 	verllb	%v0, %v0, 0
@@ -361,13 +361,13 @@
 	verllg	%v0, %v0, 0
 	verllh	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslvb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslvf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslvg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslvh	%v0, %v0, %v0
 
 	veslvb	%v0, %v0, %v0
@@ -375,13 +375,13 @@
 	veslvg	%v0, %v0, %v0
 	veslvh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslb	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslf	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslg	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: veslh	%v0, %v0, 0
 
 	veslb	%v0, %v0, 0
@@ -389,13 +389,13 @@
 	veslg	%v0, %v0, 0
 	veslh	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesravb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesravf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesravg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesravh	%v0, %v0, %v0
 
 	vesravb	%v0, %v0, %v0
@@ -403,13 +403,13 @@
 	vesravg	%v0, %v0, %v0
 	vesravh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrab	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesraf	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrag	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrah	%v0, %v0, 0
 
 	vesrab	%v0, %v0, 0
@@ -417,13 +417,13 @@
 	vesrag	%v0, %v0, 0
 	vesrah	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlvb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlvf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlvg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlvh	%v0, %v0, %v0
 
 	vesrlvb	%v0, %v0, %v0
@@ -431,13 +431,13 @@
 	vesrlvg	%v0, %v0, %v0
 	vesrlvh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlb	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlf	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlg	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vesrlh	%v0, %v0, 0
 
 	vesrlb	%v0, %v0, 0
@@ -445,53 +445,53 @@
 	vesrlg	%v0, %v0, 0
 	vesrlh	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfadb	%v0, %v0, %v0
 
 	vfadb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfcedb	%v0, %v0, %v0
 #CHECK: vfcedbs	%v0, %v0, %v0
 
 	vfcedb	%v0, %v0, %v0
 	vfcedbs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfchdb	%v0, %v0, %v0
 #CHECK: vfchdbs	%v0, %v0, %v0
 
 	vfchdb	%v0, %v0, %v0
 	vfchdbs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfddb	%v0, %v0, %v0
 
 	vfddb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaeb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaezb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaebs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaezbs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaeh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaezh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaehs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaezhs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaef	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaezf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaefs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfaezfs	%v0, %v0, %v0
 
 	vfaeb	%v0, %v0, %v0
@@ -507,29 +507,29 @@
 	vfaefs	%v0, %v0, %v0
 	vfaezfs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeeb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeezb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeebs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeezbs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeeh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeezh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeehs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeezhs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeef	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeezf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeefs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeezfs	%v0, %v0, %v0
 
 	vfeeb	%v0, %v0, %v0
@@ -545,29 +545,29 @@
 	vfeefs	%v0, %v0, %v0
 	vfeezfs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeneb   %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenezb  %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenebs  %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenezbs %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfeneh   %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenezh  %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenehs  %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenezhs %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenef   %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenezf  %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenefs  %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfenezfs %v0, %v0, %v0
 
 	vfeneb   %v0, %v0, %v0
@@ -583,22 +583,22 @@
 	vfenefs  %v0, %v0, %v0
 	vfenezfs %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfidb	%v0, %v0, 0, 0
 
 	vfidb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vistrb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vistrbs	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vistrh	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vistrhs	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vistrf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vistrfs	%v0, %v0
 
 	vistrb	%v0, %v0
@@ -608,71 +608,71 @@
 	vistrf	%v0, %v0
 	vistrfs	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vflcdb	%v0, %v0
 
 	vflcdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vflndb	%v0, %v0
 
 	vflndb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vflpdb	%v0, %v0
 
 	vflpdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfmadb	%v0, %v0, %v0, %v0
 
 	vfmadb	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfmdb	%v0, %v0, %v0
 
 	vfmdb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfmsdb	%v0, %v0, %v0, %v0
 
 	vfmsdb	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfsdb	%v0, %v0, %v0
 
 	vfsdb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vfsqdb	%v0, %v0
 
 	vfsqdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vftcidb	%v0, %v0, 0
 
 	vftcidb	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgbm	%v0, 0
 
 	vgbm	%v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgef	%v0, 0(%v0, %r1), 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgeg	%v0, 0(%v0, %r1), 0
 
 	vgef	%v0, 0(%v0, %r1), 0
 	vgeg	%v0, 0(%v0, %r1), 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmab	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmaf	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmag	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmah	%v0, %v0, %v0, %v0
 
 	vgfmab	%v0, %v0, %v0, %v0
@@ -680,13 +680,13 @@
 	vgfmag	%v0, %v0, %v0, %v0
 	vgfmah	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgfmh	%v0, %v0, %v0
 
 	vgfmb	%v0, %v0, %v0
@@ -694,13 +694,13 @@
 	vgfmg	%v0, %v0, %v0
 	vgfmh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgmb	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgmf	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgmg	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vgmh	%v0, 0, 0
 
 	vgmb	%v0, 0, 0
@@ -708,23 +708,23 @@
 	vgmg	%v0, 0, 0
 	vgmh	%v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vl	%v0, 0
 
 	vl	%v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlbb	%v0, 0, 0
 
 	vlbb	%v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlcb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlcf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlcg	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlch	%v0, %v0
 
 	vlcb	%v0, %v0
@@ -732,18 +732,18 @@
 	vlcg	%v0, %v0
 	vlch	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vldeb	%v0, %v0
 
 	vldeb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleb	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlef	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleg	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleh	%v0, 0, 0
 
 	vleb	%v0, 0, 0
@@ -751,18 +751,18 @@
 	vleg	%v0, 0, 0
 	vleh	%v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vledb	%v0, %v0, 0, 0
 
 	vledb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleib	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleif	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleig	%v0, 0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vleih	%v0, 0, 0
 
 	vleib	%v0, 0, 0
@@ -770,13 +770,13 @@
 	vleig	%v0, 0, 0
 	vleih	%v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlgvb	%r0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlgvf	%r0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlgvg	%r0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlgvh	%r0, %v0, 0
 
 	vlgvb	%r0, %v0, 0
@@ -784,18 +784,18 @@
 	vlgvg	%r0, %v0, 0
 	vlgvh	%r0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vll	%v0, %r0, 0
 
 	vll	%v0, %r0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vllezb	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vllezf	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vllezg	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vllezh	%v0, 0
 
 	vllezb	%v0, 0
@@ -803,18 +803,18 @@
 	vllezg	%v0, 0
 	vllezh	%v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlm	%v0, %v0, 0
 
 	vlm	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlpb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlpf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlpg	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlph	%v0, %v0
 
 	vlpb	%v0, %v0
@@ -822,18 +822,18 @@
 	vlpg	%v0, %v0
 	vlph	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlr	%v0, %v0
 
 	vlr	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlrepb	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlrepf	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlrepg	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlreph	%v0, 0
 
 	vlrepb	%v0, 0
@@ -841,13 +841,13 @@
 	vlrepg	%v0, 0
 	vlreph	%v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlvgb	%v0, %r0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlvgf	%v0, %r0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlvgg	%v0, %r0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlvgh	%v0, %r0, 0
 
 	vlvgb	%v0, %r0, 0
@@ -855,161 +855,161 @@
 	vlvgg	%v0, %r0, 0
 	vlvgh	%v0, %r0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vlvgp	%v0, %r0, %r0
 
 	vlvgp	%v0, %r0, %r0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaeb	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaef	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaeh	%v0, %v0, %v0, %v0
 
 	vmaeb	%v0, %v0, %v0, %v0
 	vmaef	%v0, %v0, %v0, %v0
 	vmaeh	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmahb	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmahf	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmahh	%v0, %v0, %v0, %v0
 
 	vmahb	%v0, %v0, %v0, %v0
 	vmahf	%v0, %v0, %v0, %v0
 	vmahh	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalb	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalf	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalhw	%v0, %v0, %v0, %v0
 
 	vmalb	%v0, %v0, %v0, %v0
 	vmalf	%v0, %v0, %v0, %v0
 	vmalhw	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaleb	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalef	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaleh	%v0, %v0, %v0, %v0
 
 	vmaleb	%v0, %v0, %v0, %v0
 	vmalef	%v0, %v0, %v0, %v0
 	vmaleh	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalhb	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalhf	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalhh	%v0, %v0, %v0, %v0
 
 	vmalhb	%v0, %v0, %v0, %v0
 	vmalhf	%v0, %v0, %v0, %v0
 	vmalhh	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalob	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmalof	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaloh	%v0, %v0, %v0, %v0
 
 	vmalob	%v0, %v0, %v0, %v0
 	vmalof	%v0, %v0, %v0, %v0
 	vmaloh	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaob	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaof	%v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmaoh	%v0, %v0, %v0, %v0
 
 	vmaob	%v0, %v0, %v0, %v0
 	vmaof	%v0, %v0, %v0, %v0
 	vmaoh	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmeb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmef	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmeh	%v0, %v0, %v0
 
 	vmeb	%v0, %v0, %v0
 	vmef	%v0, %v0, %v0
 	vmeh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmhb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmhf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmhh	%v0, %v0, %v0
 
 	vmhb	%v0, %v0, %v0
 	vmhf	%v0, %v0, %v0
 	vmhh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
-#CHECK: vmlh	%v0, %v0, %v0
+#CHECK: error: instruction requires: vector
+#CHECK: vmlhw	%v0, %v0, %v0
 
 	vmlb	%v0, %v0, %v0
 	vmlf	%v0, %v0, %v0
-	vmlh	%v0, %v0, %v0
+	vmlhw	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmleb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlef	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmleh	%v0, %v0, %v0
 
 	vmleb	%v0, %v0, %v0
 	vmlef	%v0, %v0, %v0
 	vmleh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlhb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlhf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlhh	%v0, %v0, %v0
 
 	vmlhb	%v0, %v0, %v0
 	vmlhf	%v0, %v0, %v0
 	vmlhh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlob	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmlof	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmloh	%v0, %v0, %v0
 
 	vmlob	%v0, %v0, %v0
 	vmlof	%v0, %v0, %v0
 	vmloh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmng	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnh	%v0, %v0, %v0
 
 	vmnb	%v0, %v0, %v0
@@ -1017,13 +1017,13 @@
 	vmng	%v0, %v0, %v0
 	vmnh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnlb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnlf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnlg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmnlh	%v0, %v0, %v0
 
 	vmnlb	%v0, %v0, %v0
@@ -1031,24 +1031,24 @@
 	vmnlg	%v0, %v0, %v0
 	vmnlh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmob	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmof	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmoh	%v0, %v0, %v0
 
 	vmob	%v0, %v0, %v0
 	vmof	%v0, %v0, %v0
 	vmoh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrhb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrhf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrhg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrhh	%v0, %v0, %v0
 
 	vmrhb	%v0, %v0, %v0
@@ -1056,13 +1056,13 @@
 	vmrhg	%v0, %v0, %v0
 	vmrhh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrlb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrlf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrlg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmrlh	%v0, %v0, %v0
 
 	vmrlb	%v0, %v0, %v0
@@ -1070,13 +1070,13 @@
 	vmrlg	%v0, %v0, %v0
 	vmrlh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxh	%v0, %v0, %v0
 
 	vmxb	%v0, %v0, %v0
@@ -1084,13 +1084,13 @@
 	vmxg	%v0, %v0, %v0
 	vmxh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxlb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxlf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxlg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vmxlh	%v0, %v0, %v0
 
 	vmxlb	%v0, %v0, %v0
@@ -1098,63 +1098,63 @@
 	vmxlg	%v0, %v0, %v0
 	vmxlh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vn	%v0, %v0, %v0
 
 	vn	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vnc	%v0, %v0, %v0
 
 	vnc	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vno	%v0, %v0, %v0
 
 	vno	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vo	%v0, %v0, %v0
 
 	vo	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vone	%v0
 
 	vone	%v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpdi	%v0, %v0, %v0, 0
 
 	vpdi	%v0, %v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vperm	%v0, %v0, %v0, %v0
 
 	vperm	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpkf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpkg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpkh	%v0, %v0, %v0
 
 	vpkf	%v0, %v0, %v0
 	vpkg	%v0, %v0, %v0
 	vpkh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpksf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpksg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpksh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpksfs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpksgs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpkshs	%v0, %v0, %v0
 
 	vpksf	%v0, %v0, %v0
@@ -1164,17 +1164,17 @@
 	vpksgs	%v0, %v0, %v0
 	vpkshs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpklsf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpklsg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpklsh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpklsfs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpklsgs	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vpklshs	%v0, %v0, %v0
 
 	vpklsf	%v0, %v0, %v0
@@ -1184,18 +1184,18 @@
 	vpklsgs	%v0, %v0, %v0
 	vpklshs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
-#CHECK: vpopct	%v0, %v0
+#CHECK: error: instruction requires: vector
+#CHECK: vpopct	%v0, %v0, 0
 
-	vpopct	%v0, %v0
+	vpopct	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepb	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepf	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepg	%v0, %v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vreph	%v0, %v0, 0
 
 	vrepb	%v0, %v0, 0
@@ -1203,13 +1203,13 @@
 	vrepg	%v0, %v0, 0
 	vreph	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepib	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepif	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepig	%v0, 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vrepih	%v0, 0
 
 	vrepib	%v0, 0
@@ -1217,15 +1217,15 @@
 	vrepig	%v0, 0
 	vrepih	%v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsg	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsq	%v0, %v0, %v0
 
 	vsb	%v0, %v0, %v0
@@ -1234,25 +1234,25 @@
 	vsh	%v0, %v0, %v0
 	vsq	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
-#CHECK: vsbcbiq	%v0, %v0, %v0
+#CHECK: error: instruction requires: vector
+#CHECK: vsbcbiq	%v0, %v0, %v0, %v0
 
-	vsbcbiq	%v0, %v0, %v0
+	vsbcbiq	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
-#CHECK: vsbiq	%v0, %v0, %v0
+#CHECK: error: instruction requires: vector
+#CHECK: vsbiq	%v0, %v0, %v0, %v0
 
-	vsbiq	%v0, %v0, %v0
+	vsbiq	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vscbib	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vscbif	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vscbig	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vscbih	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vscbiq	%v0, %v0, %v0
 
 	vscbib	%v0, %v0, %v0
@@ -1261,103 +1261,103 @@
 	vscbih	%v0, %v0, %v0
 	vscbiq	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vscef	%v0, 0(%v0, %r1), 0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsceg	%v0, 0(%v0, %r1), 0
 
 	vscef	%v0, 0(%v0, %r1), 0
 	vsceg	%v0, 0(%v0, %r1), 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsegb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsegf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsegh	%v0, %v0
 
 	vsegb	%v0, %v0
 	vsegf	%v0, %v0
 	vsegh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsel	%v0, %v0, %v0, %v0
 
 	vsel	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsl	%v0, %v0, %v0
 
 	vsl	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vslb	%v0, %v0, %v0
 
 	vslb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsldb	%v0, %v0, %v0, 0
 
 	vsldb	%v0, %v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsra	%v0, %v0, %v0
 
 	vsra	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsrab	%v0, %v0, %v0
 
 	vsrab	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsrl	%v0, %v0, %v0
 
 	vsrl	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsrlb	%v0, %v0, %v0
 
 	vsrlb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vst	%v0, 0
 
 	vst	%v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstl	%v0, %r0, 0
 
 	vstl	%v0, %r0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstm	%v0, %v0, 0
 
 	vstm	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrcb   %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrczb  %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrcbs  %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrczbs %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrch   %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrczh  %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrchs  %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrczhs %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrcf   %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrczf  %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrcfs  %v0, %v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vstrczfs %v0, %v0, %v0, %v0
 
         vstrcb   %v0, %v0, %v0, %v0
@@ -1373,216 +1373,216 @@
         vstrcfs  %v0, %v0, %v0, %v0
         vstrczfs %v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsumgh	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsumgf	%v0, %v0, %v0
 
 	vsumgh	%v0, %v0, %v0
 	vsumgf	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsumqf	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsumqg	%v0, %v0, %v0
 
 	vsumqf	%v0, %v0, %v0
 	vsumqg	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsumb	%v0, %v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vsumh	%v0, %v0, %v0
 
 	vsumb	%v0, %v0, %v0
 	vsumh	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vtm	%v0, %v0
 
 	vtm	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuphb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuphf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuphh	%v0, %v0
 
 	vuphb	%v0, %v0
 	vuphf	%v0, %v0
 	vuphh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuplhb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuplhf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuplhh	%v0, %v0
 
 	vuplhb	%v0, %v0
 	vuplhf	%v0, %v0
 	vuplhh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuplb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuplf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vuplhw	%v0, %v0
 
 	vuplb	%v0, %v0
 	vuplf	%v0, %v0
 	vuplhw	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vupllb	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vupllf	%v0, %v0
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vupllh	%v0, %v0
 
 	vupllb	%v0, %v0
 	vupllf	%v0, %v0
 	vupllh	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vx	%v0, %v0, %v0
 
 	vx	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: vzero	%v0
 
 	vzero	%v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wcdgb	%v0, %v0, 0, 0
 
 	wcdgb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wcdlgb	%v0, %v0, 0, 0
 
 	wcdlgb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wcgdb	%v0, %v0, 0, 0
 
 	wcgdb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wclgdb	%v0, %v0, 0, 0
 
 	wclgdb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfadb	%v0, %v0, %v0
 
 	wfadb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfcdb	%v0, %v0
 
 	wfcdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfcedb	%v0, %v0, %v0
 #CHECK: wfcedbs	%v0, %v0, %v0
 
 	wfcedb	%v0, %v0, %v0
 	wfcedbs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfchdb	%v0, %v0, %v0
 #CHECK: wfchdbs	%v0, %v0, %v0
 
 	wfchdb	%v0, %v0, %v0
 	wfchdbs	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfchedb	%v0, %v0, %v0
 #CHECK: wfchedbs %v0, %v0, %v0
 
 	wfchedb	%v0, %v0, %v0
 	wfchedbs %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfddb	%v0, %v0, %v0
 
 	wfddb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfidb	%v0, %v0, 0, 0
 
 	wfidb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfkdb	%v0, %v0
 
 	wfkdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wflcdb	%v0, %v0
 
 	wflcdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wflndb	%v0, %v0
 
 	wflndb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wflpdb	%v0, %v0
 
 	wflpdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfmadb	%v0, %v0, %v0, %v0
 
 	wfmadb	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfmdb	%v0, %v0, %v0
 
 	wfmdb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfmsdb	%v0, %v0, %v0, %v0
 
 	wfmsdb	%v0, %v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfsdb	%v0, %v0, %v0
 
 	wfsdb	%v0, %v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wfsqdb	%v0, %v0
 
 	wfsqdb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wftcidb	%v0, %v0, 0
 
 	wftcidb	%v0, %v0, 0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wldeb	%v0, %v0
 
 	wldeb	%v0, %v0
 
-#CHECK: error: {{(instruction requires: vector)?}}
+#CHECK: error: instruction requires: vector
 #CHECK: wledb	%v0, %v0, 0, 0
 
 	wledb	%v0, %v0, 0, 0
 
-#CHECK: error: {{(instruction requires: load store on condition 2)?}}
+#CHECK: error: instruction requires: load-store-on-cond-2
 #CHECK: lochio %r11, 42
         
         lochio %r11, 42        
 
-#CHECK: error: {{(instruction requires: load store on condition 2)?}}
+#CHECK: error: instruction requires: load-store-on-cond-2
 #CHECK: locghio %r11, 42
         
         locghio %r11, 42        

Modified: llvm/trunk/test/MC/SystemZ/insn-bad.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/SystemZ/insn-bad.s?rev=285575&r1=285574&r2=285575&view=diff
==============================================================================
--- llvm/trunk/test/MC/SystemZ/insn-bad.s (original)
+++ llvm/trunk/test/MC/SystemZ/insn-bad.s Mon Oct 31 09:25:05 2016
@@ -69,12 +69,12 @@
 	aghi	%r0, 32768
 	aghi	%r0, foo
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: aghik	%r1, %r2, 3
 
 	aghik	%r1, %r2, 3
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: agrk	%r2,%r3,%r4
 
 	agrk	%r2,%r3,%r4
@@ -115,7 +115,7 @@
 	ahi	%r0, 32768
 	ahi	%r0, foo
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: ahik	%r1, %r2, 3
 
 	ahik	%r1, %r2, 3
@@ -128,7 +128,7 @@
 	ahy	%r0, -524289
 	ahy	%r0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: aih	%r0, 0
 
 	aih	%r0, 0
@@ -165,12 +165,12 @@
 	alfi	%r0, -1
 	alfi	%r0, (1 << 32)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: alghsik	%r1, %r2, 3
 
 	alghsik	%r1, %r2, 3
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: alhsik	%r1, %r2, 3
 
 	alhsik	%r1, %r2, 3
@@ -199,12 +199,12 @@
 	algfi	%r0, -1
 	algfi	%r0, (1 << 32)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: algrk	%r2,%r3,%r4
 
 	algrk	%r2,%r3,%r4
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: alrk	%r2,%r3,%r4
 
 	alrk	%r2,%r3,%r4
@@ -217,7 +217,7 @@
 	aly	%r0, -524289
 	aly	%r0, 524288
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: ark	%r2,%r3,%r4
 
 	ark	%r2,%r3,%r4
@@ -414,12 +414,12 @@
 	cdb	%f0, -1
 	cdb	%f0, 4096
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: cdlfbr	%f0, 0, %r0, 0
 
 	cdlfbr	%f0, 0, %r0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: cdlgbr	%f0, 0, %r0, 0
 
 	cdlgbr	%f0, 0, %r0, 0
@@ -432,12 +432,12 @@
 	ceb	%f0, -1
 	ceb	%f0, 4096
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: celfbr	%f0, 0, %r0, 0
 
 	celfbr	%f0, 0, %r0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: celgbr	%f0, 0, %r0, 0
 
 	celgbr	%f0, 0, %r0, 0
@@ -690,7 +690,7 @@
 	ch	%r0, -1
 	ch	%r0, 4096
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: chf	%r0, 0
 
 	chf	%r0, 0
@@ -762,7 +762,7 @@
 	chy	%r0, -524289
 	chy	%r0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: cih	%r0, 0
 
 	cih	%r0, 0
@@ -863,17 +863,17 @@
 	clc	0(1,%r2), 0(%r1,%r2)
 	clc	0(-), 0
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: clhf	%r0, 0
 
 	clhf	%r0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: clfdbr	%r0, 0, %f0, 0
 
 	clfdbr	%r0, 0, %f0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: clfebr	%r0, 0, %f0, 0
 
 	clfebr	%r0, 0, %f0, 0
@@ -917,7 +917,7 @@
         clfito  %r0, 0
         clfitno %r0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: clfxbr	%r0, 0, %f0, 0
 
 	clfxbr	%r0, 0, %f0, 0
@@ -944,12 +944,12 @@
         clgito  %r0, 0
         clgitno %r0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: clgdbr	%r0, 0, %f0, 0
 
 	clgdbr	%r0, 0, %f0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: clgebr	%r0, 0, %f0, 0
 
 	clgebr	%r0, 0, %f0, 0
@@ -1081,7 +1081,7 @@
         clgrto    %r0, %r0
         clgrtno   %r0, %r0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: clgxbr	%r0, 0, %f0, 0
 
 	clgxbr	%r0, 0, %f0, 0
@@ -1134,7 +1134,7 @@
 	cli	0, -1
 	cli	0, 256
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: clih	%r0, 0
 
 	clih	%r0, 0
@@ -1333,12 +1333,12 @@
 
 	cxgbr	%f2, %r0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: cxlfbr	%f0, 0, %r0, 0
 
 	cxlfbr	%f0, 0, %r0, 0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: cxlgbr	%f0, 0, %r0, 0
 
 	cxlgbr	%f0, 0, %r0, 0
@@ -1472,7 +1472,7 @@
 	fidbr	%f0, -1, %f0
 	fidbr	%f0, 16, %f0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: fidbra	%f0, 0, %f0, 0
 
 	fidbra	%f0, 0, %f0, 0
@@ -1485,7 +1485,7 @@
 	fiebr	%f0, -1, %f0
 	fiebr	%f0, 16, %f0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: fiebra	%f0, 0, %f0, 0
 
 	fiebra	%f0, 0, %f0, 0
@@ -1504,7 +1504,7 @@
 	fixbr	%f0, 0, %f2
 	fixbr	%f2, 0, %f0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: fixbra	%f0, 0, %f0, 0
 
 	fixbra	%f0, 0, %f0, 0
@@ -1636,43 +1636,43 @@
 	la	%r0, -1
 	la	%r0, 4096
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: laa	%r1, %r2, 100(%r3)
 	laa	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: laag	%r1, %r2, 100(%r3)
 	laag	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: laal	%r1, %r2, 100(%r3)
 	laal	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: laalg	%r1, %r2, 100(%r3)
 	laalg	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: lan	%r1, %r2, 100(%r3)
 	lan	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: lang	%r1, %r2, 100(%r3)
 	lang	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: lao	%r1, %r2, 100(%r3)
 	lao	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: laog	%r1, %r2, 100(%r3)
 	laog	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: lax	%r1, %r2, 100(%r3)
 	lax	%r1, %r2, 100(%r3)
 
-#CHECK: error: {{(instruction requires: interlocked-access1)?}}
+#CHECK: error: instruction requires: interlocked-access1
 #CHECK: laxg	%r1, %r2, 100(%r3)
 	laxg	%r1, %r2, 100(%r3)
 
@@ -1706,7 +1706,7 @@
 	lb	%r0, -524289
 	lb	%r0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: lbh	%r0, 0
 
 	lbh	%r0, 0
@@ -1743,7 +1743,7 @@
 	ldxbr	%f0, %f2
 	ldxbr	%f2, %f0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: ldxbra	%f0, 0, %f0, 0
 
 	ldxbra	%f0, 0, %f0, 0
@@ -1764,7 +1764,7 @@
 	le	%f0, -1
 	le	%f0, 4096
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: ledbra	%f0, 0, %f0, 0
 
 	ledbra	%f0, 0, %f0, 0
@@ -1777,7 +1777,7 @@
 	lexbr	%f0, %f2
 	lexbr	%f2, %f0
 
-#CHECK: error: {{(instruction requires: fp-extension)?}}
+#CHECK: error: instruction requires: fp-extension
 #CHECK: lexbra	%f0, 0, %f0, 0
 
 	lexbra	%f0, 0, %f0, 0
@@ -1790,7 +1790,7 @@
 	ley	%f0, -524289
 	ley	%f0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: lfh	%r0, 0
 
 	lfh	%r0, 0
@@ -1896,7 +1896,7 @@
 	lh	%r0, -1
 	lh	%r0, 4096
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: lhh	%r0, 0
 
 	lhh	%r0, 0
@@ -1942,7 +1942,7 @@
 	llc	%r0, -524289
 	llc	%r0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: llch	%r0, 0
 
 	llch	%r0, 0
@@ -2007,7 +2007,7 @@
 	llh	%r0, -524289
 	llh	%r0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: llhh	%r0, 0
 
 	llhh	%r0, 0
@@ -2614,7 +2614,7 @@
 	ng	%r0, -524289
 	ng	%r0, 524288
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: ngrk	%r2,%r3,%r4
 
 	ngrk	%r2,%r3,%r4
@@ -2701,7 +2701,7 @@
 	niy	0, -1
 	niy	0, 256
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: nrk	%r2,%r3,%r4
 
 	nrk	%r2,%r3,%r4
@@ -2774,7 +2774,7 @@
 	og	%r0, -524289
 	og	%r0, 524288
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: ogrk	%r2,%r3,%r4
 
 	ogrk	%r2,%r3,%r4
@@ -2861,7 +2861,7 @@
 	oiy	0, -1
 	oiy	0, 256
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: ork	%r2,%r3,%r4
 
 	ork	%r2,%r3,%r4
@@ -2908,7 +2908,7 @@
 	pfdrl	1, 1
 	pfdrl	1, 0x100000000
 
-#CHECK: error: {{(instruction requires: population-count)?}}
+#CHECK: error: instruction requires: population-count
 #CHECK: popcnt	%r0, %r0
 
 	popcnt	%r0, %r0
@@ -2937,12 +2937,12 @@
 	risbg	%r0,%r0,-1,0,0
 	risbg	%r0,%r0,256,0,0
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: risbhg	%r1, %r2, 0, 0, 0
 
 	risbhg	%r1, %r2, 0, 0, 0
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: risblg	%r1, %r2, 0, 0, 0
 
 	risblg	%r1, %r2, 0, 0, 0
@@ -3075,7 +3075,7 @@
 	sgf	%r0, -524289
 	sgf	%r0, 524288
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: sgrk	%r2,%r3,%r4
 
 	sgrk	%r2,%r3,%r4
@@ -3152,7 +3152,7 @@
 	slgfi	%r0, -1
 	slgfi	%r0, (1 << 32)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: slgrk	%r2,%r3,%r4
 
 	slgrk	%r2,%r3,%r4
@@ -3171,7 +3171,7 @@
 	sla	%r0,0(%r0)
 	sla	%r0,0(%r1,%r2)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: slak	%r2,%r3,4(%r5)
 
 	slak	%r2,%r3,4(%r5)
@@ -3204,12 +3204,12 @@
 	sllg	%r0,%r0,0(%r0)
 	sllg	%r0,%r0,0(%r1,%r2)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: sllk	%r2,%r3,4(%r5)
 
 	sllk	%r2,%r3,4(%r5)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: slrk	%r2,%r3,%r4
 
 	slrk	%r2,%r3,%r4
@@ -3274,12 +3274,12 @@
 	srag	%r0,%r0,0(%r0)
 	srag	%r0,%r0,0(%r1,%r2)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: srak	%r2,%r3,4(%r5)
 
 	srak	%r2,%r3,4(%r5)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: srk	%r2,%r3,%r4
 
 	srk	%r2,%r3,%r4
@@ -3312,7 +3312,7 @@
 	srlg	%r0,%r0,0(%r0)
 	srlg	%r0,%r0,0(%r1,%r2)
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: srlk	%r2,%r3,4(%r5)
 
 	srlk	%r2,%r3,4(%r5)
@@ -3333,7 +3333,7 @@
 	stc	%r0, -1
 	stc	%r0, 4096
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: stch	%r0, 0
 
 	stch	%r0, 0
@@ -3408,7 +3408,7 @@
 	sth	%r0, -1
 	sth	%r0, 4096
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: sthh	%r0, 0
 
 	sthh	%r0, 0
@@ -3435,7 +3435,7 @@
 	sthy	%r0, -524289
 	sthy	%r0, 524288
 
-#CHECK: error: {{(instruction requires: high-word)?}}
+#CHECK: error: instruction requires: high-word
 #CHECK: stfh	%r0, 0
 
 	stfh	%r0, 0
@@ -3718,7 +3718,7 @@
 	xg	%r0, -524289
 	xg	%r0, 524288
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: xgrk	%r2,%r3,%r4
 
 	xgrk	%r2,%r3,%r4
@@ -3773,7 +3773,7 @@
 	xiy	0, -1
 	xiy	0, 256
 
-#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: error: instruction requires: distinct-ops
 #CHECK: xrk	%r2,%r3,%r4
 
 	xrk	%r2,%r3,%r4




More information about the llvm-commits mailing list