From 19e305e8e7e512b61153bd5489209652c14e026b Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 31 Oct 2016 14:25:05 +0000 Subject: [PATCH] [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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285575 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../SystemZ/AsmParser/SystemZAsmParser.cpp | 8 +- test/MC/SystemZ/insn-bad-z196.s | 16 +- test/MC/SystemZ/insn-bad-zEC12.s | 816 +++++++++--------- test/MC/SystemZ/insn-bad.s | 132 +-- 4 files changed, 489 insertions(+), 483 deletions(-) diff --git a/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp b/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp index 457f76f3416..fa0ae5c4ea0 100644 --- a/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp +++ b/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp @@ -1075,8 +1075,14 @@ bool SystemZAsmParser::ParseInstruction(ParseInstructionInfo &Info, 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; diff --git a/test/MC/SystemZ/insn-bad-z196.s b/test/MC/SystemZ/insn-bad-z196.s index e94f837a091..1d705f87785 100644 --- a/test/MC/SystemZ/insn-bad-z196.s +++ b/test/MC/SystemZ/insn-bad-z196.s @@ -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 diff --git a/test/MC/SystemZ/insn-bad-zEC12.s b/test/MC/SystemZ/insn-bad-zEC12.s index 371dc72a167..8c0e2bc32ee 100644 --- a/test/MC/SystemZ/insn-bad-zEC12.s +++ b/test/MC/SystemZ/insn-bad-zEC12.s @@ -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 diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index 34c954a0a0c..e152b52df32 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -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