summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrFormats.td183
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrVector.td109
-rw-r--r--llvm/test/MC/Disassembler/SystemZ/insns-z13.txt888
-rw-r--r--llvm/test/MC/SystemZ/insn-bad-z13.s442
-rw-r--r--llvm/test/MC/SystemZ/insn-good-z13.s1633
5 files changed, 3237 insertions, 18 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrFormats.td b/llvm/lib/Target/SystemZ/SystemZInstrFormats.td
index 4b63f229cee..ba5c2d2d865 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrFormats.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrFormats.td
@@ -1759,6 +1759,10 @@ class UnaryVRIa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M3 = type;
}
+class UnaryVRIaGeneric<string mnemonic, bits<16> opcode, Immediate imm>
+ : InstVRIa<opcode, (outs VR128:$V1), (ins imm:$I2, imm32zx4:$M3),
+ mnemonic#"\t$V1, $I2, $M3", []>;
+
class UnaryVRRa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> type = 0, bits<4> m4 = 0,
bits<4> m5 = 0>
@@ -1770,6 +1774,21 @@ class UnaryVRRa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M5 = m5;
}
+class UnaryVRRaGeneric<string mnemonic, bits<16> opcode, bits<4> m4 = 0,
+ bits<4> m5 = 0>
+ : InstVRRa<opcode, (outs VR128:$V1), (ins VR128:$V2, imm32zx4:$M3),
+ mnemonic#"\t$V1, $V2, $M3", []> {
+ let M4 = m4;
+ let M5 = m5;
+}
+
+class UnaryVRRaFloatGeneric<string mnemonic, bits<16> opcode, bits<4> m5 = 0>
+ : InstVRRa<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, imm32zx4:$M3, imm32zx4:$M4),
+ mnemonic#"\t$V1, $V2, $M3, $M4", []> {
+ let M5 = m5;
+}
+
// Declare a pair of instructions, one which sets CC and one which doesn't.
// The CC-setting form ends with "S" and sets the low bit of M5.
// The form that does not set CC has an extra operand to optionally allow
@@ -1791,6 +1810,16 @@ multiclass UnaryExtraVRRaSPair<string mnemonic, bits<16> opcode,
type, 0, 1>;
}
+multiclass UnaryExtraVRRaSPairGeneric<string mnemonic, bits<16> opcode> {
+ let M4 = 0 in
+ def "" : InstVRRa<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, imm32zx4:$M3, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $M3, $M5", []>;
+ def : InstAlias<mnemonic#"\t$V1, $V2, $M3",
+ (!cast<Instruction>(NAME) VR128:$V1, VR128:$V2,
+ imm32zx4:$M3, 0)>;
+}
+
class UnaryVRX<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr, bits<5> bytes, bits<4> type = 0>
: InstVRX<opcode, (outs tr.op:$V1), (ins bdxaddr12only:$XBD2),
@@ -1801,6 +1830,12 @@ class UnaryVRX<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let AccessBytes = bytes;
}
+class UnaryVRXGeneric<string mnemonic, bits<16> opcode>
+ : InstVRX<opcode, (outs VR128:$V1), (ins bdxaddr12only:$XBD2, imm32zx4:$M3),
+ mnemonic#"\t$V1, $XBD2, $M3", []> {
+ let mayLoad = 1;
+}
+
class BinaryRR<string mnemonic, bits<8> opcode, SDPatternOperator operator,
RegisterOperand cls1, RegisterOperand cls2>
: InstRR<opcode, (outs cls1:$R1), (ins cls1:$R1src, cls2:$R2),
@@ -2021,6 +2056,11 @@ class BinaryVRIb<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M4 = type;
}
+class BinaryVRIbGeneric<string mnemonic, bits<16> opcode>
+ : InstVRIb<opcode, (outs VR128:$V1),
+ (ins imm32zx8:$I2, imm32zx8:$I3, imm32zx4:$M4),
+ mnemonic#"\t$V1, $I2, $I3, $M4", []>;
+
class BinaryVRIc<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> type>
: InstVRIc<opcode, (outs tr1.op:$V1), (ins tr2.op:$V3, imm32zx16:$I2),
@@ -2030,6 +2070,11 @@ class BinaryVRIc<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M4 = type;
}
+class BinaryVRIcGeneric<string mnemonic, bits<16> opcode>
+ : InstVRIc<opcode, (outs VR128:$V1),
+ (ins VR128:$V3, imm32zx16:$I2, imm32zx4:$M4),
+ mnemonic#"\t$V1, $V3, $I2, $M4", []>;
+
class BinaryVRIe<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> type, bits<4> m5>
: InstVRIe<opcode, (outs tr1.op:$V1), (ins tr2.op:$V2, imm32zx12:$I3),
@@ -2040,13 +2085,26 @@ class BinaryVRIe<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M5 = m5;
}
-class BinaryVRRa<string mnemonic, bits<16> opcode>
- : InstVRRa<opcode, (outs VR128:$V1), (ins VR128:$V2, imm32zx4:$M3),
- mnemonic#"\t$V1, $V2, $M3", []> {
- let M4 = 0;
- let M5 = 0;
+class BinaryVRIeFloatGeneric<string mnemonic, bits<16> opcode>
+ : InstVRIe<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, imm32zx12:$I3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $I3, $M4, $M5", []>;
+
+class BinaryVRRa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
+ TypedReg tr1, TypedReg tr2, bits<4> type = 0, bits<4> m4 = 0>
+ : InstVRRa<opcode, (outs tr1.op:$V1), (ins tr2.op:$V2, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $M5",
+ [(set tr1.op:$V1, (tr1.vt (operator (tr2.vt tr2.op:$V2),
+ imm32zx12:$M5)))]> {
+ let M3 = type;
+ let M4 = m4;
}
+class BinaryVRRaFloatGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRa<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, imm32zx4:$M3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $M3, $M4, $M5", []>;
+
class BinaryVRRb<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> type = 0,
bits<4> modifier = 0>
@@ -2071,6 +2129,11 @@ multiclass BinaryVRRbSPair<string mnemonic, bits<16> opcode,
!add (!and (modifier, 14), 1)>;
}
+class BinaryVRRbSPairGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRb<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $V3, $M4, $M5", []>;
+
// Declare a pair of instructions, one which sets CC and one which doesn't.
// The CC-setting form ends with "S" and sets the low bit of M5.
// The form that does not set CC has an extra operand to optionally allow
@@ -2092,6 +2155,15 @@ multiclass BinaryExtraVRRbSPair<string mnemonic, bits<16> opcode,
def S : BinaryVRRb<mnemonic##"s", opcode, operator_cc, tr1, tr2, type, 1>;
}
+multiclass BinaryExtraVRRbSPairGeneric<string mnemonic, bits<16> opcode> {
+ def "" : InstVRRb<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $V3, $M4, $M5", []>;
+ def : InstAlias<mnemonic#"\t$V1, $V2, $V3, $M4",
+ (!cast<Instruction>(NAME) VR128:$V1, VR128:$V2, VR128:$V3,
+ imm32zx4:$M4, 0)>;
+}
+
class BinaryVRRc<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> type = 0, bits<4> m5 = 0,
bits<4> m6 = 0>
@@ -2104,6 +2176,22 @@ class BinaryVRRc<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M6 = m6;
}
+class BinaryVRRcGeneric<string mnemonic, bits<16> opcode, bits<4> m5 = 0,
+ bits<4> m6 = 0>
+ : InstVRRc<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, imm32zx4:$M4),
+ mnemonic#"\t$V1, $V2, $V3, $M4", []> {
+ let M5 = m5;
+ let M6 = m6;
+}
+
+class BinaryVRRcFloatGeneric<string mnemonic, bits<16> opcode, bits<4> m6 = 0>
+ : InstVRRc<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $V3, $M4, $M5", []> {
+ let M6 = m6;
+}
+
// Declare a pair of instructions, one which sets CC and one which doesn't.
// The CC-setting form ends with "S" and sets the low bit of M5.
multiclass BinaryVRRcSPair<string mnemonic, bits<16> opcode,
@@ -2118,6 +2206,12 @@ multiclass BinaryVRRcSPair<string mnemonic, bits<16> opcode,
m5, !add (!and (modifier, 14), 1)>;
}
+class BinaryVRRcSPairFloatGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRc<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, imm32zx4:$M4, imm32zx4:$M5,
+ imm32zx4:$M6),
+ mnemonic#"\t$V1, $V2, $V3, $M4, $M5, $M6", []>;
+
class BinaryVRRf<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr>
: InstVRRf<opcode, (outs tr.op:$V1), (ins GR64:$R2, GR64:$R3),
@@ -2133,6 +2227,11 @@ class BinaryVRSa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M4 = type;
}
+class BinaryVRSaGeneric<string mnemonic, bits<16> opcode>
+ : InstVRSa<opcode, (outs VR128:$V1),
+ (ins VR128:$V3, shift12only:$BD2, imm32zx4:$M4),
+ mnemonic#"\t$V1, $V3, $BD2, $M4", []>;
+
class BinaryVRSb<string mnemonic, bits<16> opcode, SDPatternOperator operator,
bits<5> bytes>
: InstVRSb<opcode, (outs VR128:$V1), (ins GR32:$R3, bdaddr12only:$BD2),
@@ -2151,6 +2250,11 @@ class BinaryVRSc<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M4 = type;
}
+class BinaryVRScGeneric<string mnemonic, bits<16> opcode>
+ : InstVRSc<opcode, (outs GR64:$R1),
+ (ins VR128:$V3, shift12only:$BD2, imm32zx4: $M4),
+ mnemonic#"\t$R1, $V3, $BD2, $M4", []>;
+
class BinaryVRX<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr, bits<5> bytes>
: InstVRX<opcode, (outs VR128:$V1), (ins bdxaddr12only:$XBD2, imm32zx4:$M3),
@@ -2332,6 +2436,22 @@ class CompareVRRa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M5 = 0;
}
+class CompareVRRaGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRa<opcode, (outs), (ins VR128:$V1, VR128:$V2, imm32zx4:$M3),
+ mnemonic#"\t$V1, $V2, $M3", []> {
+ let isCompare = 1;
+ let M4 = 0;
+ let M5 = 0;
+}
+
+class CompareVRRaFloatGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRa<opcode, (outs),
+ (ins VR64:$V1, VR64:$V2, imm32zx4:$M3, imm32zx4:$M4),
+ mnemonic#"\t$V1, $V2, $M3, $M4", []> {
+ let isCompare = 1;
+ let M5 = 0;
+}
+
class TestRXE<string mnemonic, bits<16> opcode, SDPatternOperator operator,
RegisterOperand cls>
: InstRXE<opcode, (outs), (ins cls:$R1, bdxaddr12only:$XBD2),
@@ -2433,6 +2553,11 @@ class TernaryVRRa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M3 = type;
}
+class TernaryVRRaFloatGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRa<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, imm32zx4:$M3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $M3, $M4, $M5", []>;
+
class TernaryVRRb<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> type,
SDPatternOperator m5mask, bits<4> m5or>
@@ -2467,6 +2592,15 @@ multiclass TernaryOptVRRbSPair<string mnemonic, bits<16> opcode,
tr2.op:$V3, 0)>;
}
+multiclass TernaryOptVRRbSPairGeneric<string mnemonic, bits<16> opcode> {
+ def "" : InstVRRb<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, imm32zx4:$M4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $V3, $M4, $M5", []>;
+ def : InstAlias<mnemonic#"\t$V1, $V2, $V3, $M4",
+ (!cast<Instruction>(NAME) VR128:$V1, VR128:$V2, VR128:$V3,
+ imm32zx4:$M4, 0)>;
+}
+
class TernaryVRRc<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2>
: InstVRRc<opcode, (outs tr1.op:$V1),
@@ -2491,6 +2625,13 @@ class TernaryVRRd<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M6 = 0;
}
+class TernaryVRRdGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRd<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, VR128:$V4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $V3, $V4, $M5", []> {
+ let M6 = 0;
+}
+
class TernaryVRRe<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, bits<4> m5 = 0, bits<4> type = 0>
: InstVRRe<opcode, (outs tr1.op:$V1),
@@ -2503,6 +2644,11 @@ class TernaryVRRe<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M6 = type;
}
+class TernaryVRReFloatGeneric<string mnemonic, bits<16> opcode>
+ : InstVRRe<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, VR128:$V4, imm32zx4:$M5, imm32zx4:$M6),
+ mnemonic#"\t$V1, $V2, $V3, $V4, $M5, $M6", []>;
+
class TernaryVRSb<string mnemonic, bits<16> opcode, SDPatternOperator operator,
TypedReg tr1, TypedReg tr2, RegisterOperand cls, bits<4> type>
: InstVRSb<opcode, (outs tr1.op:$V1),
@@ -2516,6 +2662,14 @@ class TernaryVRSb<string mnemonic, bits<16> opcode, SDPatternOperator operator,
let M4 = type;
}
+class TernaryVRSbGeneric<string mnemonic, bits<16> opcode>
+ : InstVRSb<opcode, (outs VR128:$V1),
+ (ins VR128:$V1src, GR64:$R3, shift12only:$BD2, imm32zx4:$M4),
+ mnemonic#"\t$V1, $R3, $BD2, $M4", []> {
+ let Constraints = "$V1 = $V1src";
+ let DisableEncoding = "$V1src";
+}
+
class TernaryVRV<string mnemonic, bits<16> opcode, bits<5> bytes,
Immediate index>
: InstVRV<opcode, (outs VR128:$V1),
@@ -2555,6 +2709,15 @@ class QuaternaryVRId<string mnemonic, bits<16> opcode, SDPatternOperator operato
let M5 = type;
}
+class QuaternaryVRIdGeneric<string mnemonic, bits<16> opcode>
+ : InstVRId<opcode, (outs VR128:$V1),
+ (ins VR128:$V1src, VR128:$V2, VR128:$V3,
+ imm32zx8:$I4, imm32zx4:$M5),
+ mnemonic#"\t$V1, $V2, $V3, $I4, $M5", []> {
+ let Constraints = "$V1 = $V1src";
+ let DisableEncoding = "$V1src";
+}
+
class QuaternaryVRRd<string mnemonic, bits<16> opcode,
SDPatternOperator operator, TypedReg tr1, TypedReg tr2,
bits<4> type, SDPatternOperator m6mask, bits<4> m6or>
@@ -2590,6 +2753,16 @@ multiclass QuaternaryOptVRRdSPair<string mnemonic, bits<16> opcode,
tr2.op:$V3, tr2.op:$V4, 0)>;
}
+multiclass QuaternaryOptVRRdSPairGeneric<string mnemonic, bits<16> opcode> {
+ def "" : InstVRRd<opcode, (outs VR128:$V1),
+ (ins VR128:$V2, VR128:$V3, VR128:$V4,
+ imm32zx4:$M5, imm32zx4:$M6),
+ mnemonic#"\t$V1, $V2, $V3, $V4, $M5, $M6", []>;
+ def : InstAlias<mnemonic#"\t$V1, $V2, $V3, $V4, $M5",
+ (!cast<Instruction>(NAME) VR128:$V1, VR128:$V2, VR128:$V3,
+ VR128:$V4, imm32zx4:$M5, 0)>;
+}
+
class LoadAndOpRSY<string mnemonic, bits<16> opcode, SDPatternOperator operator,
RegisterOperand cls, AddressingMode mode = bdaddr20only>
: InstRSY<opcode, (outs cls:$R1), (ins cls:$R3, mode:$BD2),
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrVector.td b/llvm/lib/Target/SystemZ/SystemZInstrVector.td
index ca1a12b8e79..71873e62c23 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrVector.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrVector.td
@@ -18,12 +18,14 @@ let Predicates = [FeatureVector] in {
def VLR64 : UnaryAliasVRR<null_frag, v64db, v64db>;
// Load GR from VR element.
+ def VLGV : BinaryVRScGeneric<"vlgv", 0xE721>;
def VLGVB : BinaryVRSc<"vlgvb", 0xE721, null_frag, v128b, 0>;
def VLGVH : BinaryVRSc<"vlgvh", 0xE721, null_frag, v128h, 1>;
def VLGVF : BinaryVRSc<"vlgvf", 0xE721, null_frag, v128f, 2>;
def VLGVG : BinaryVRSc<"vlgvg", 0xE721, z_vector_extract, v128g, 3>;
// Load VR element from GR.
+ def VLVG : TernaryVRSbGeneric<"vlvg", 0xE722>;
def VLVGB : TernaryVRSb<"vlvgb", 0xE722, z_vector_insert,
v128b, v128b, GR32, 0>;
def VLVGH : TernaryVRSb<"vlvgh", 0xE722, z_vector_insert,
@@ -60,6 +62,7 @@ let Predicates = [FeatureVector] in {
def VGBM : UnaryVRIa<"vgbm", 0xE744, z_byte_mask, v128b, imm32zx16>;
// Generate mask.
+ def VGM : BinaryVRIbGeneric<"vgm", 0xE746>;
def VGMB : BinaryVRIb<"vgmb", 0xE746, z_rotate_mask, v128b, 0>;
def VGMH : BinaryVRIb<"vgmh", 0xE746, z_rotate_mask, v128h, 1>;
def VGMF : BinaryVRIb<"vgmf", 0xE746, z_rotate_mask, v128f, 2>;
@@ -85,6 +88,7 @@ let Predicates = [FeatureVector] in {
}
// Replicate immediate.
+ def VREPI : UnaryVRIaGeneric<"vrepi", 0xE745, imm32sx16>;
def VREPIB : UnaryVRIa<"vrepib", 0xE745, z_replicate, v128b, imm32sx16, 0>;
def VREPIH : UnaryVRIa<"vrepih", 0xE745, z_replicate, v128h, imm32sx16, 1>;
def VREPIF : UnaryVRIa<"vrepif", 0xE745, z_replicate, v128f, imm32sx16, 2>;
@@ -119,6 +123,7 @@ let Predicates = [FeatureVector] in {
def VLM : LoadMultipleVRSa<"vlm", 0xE736>;
// Load and replicate
+ def VLREP : UnaryVRXGeneric<"vlrep", 0xE705>;
def VLREPB : UnaryVRX<"vlrepb", 0xE705, z_replicate_loadi8, v128b, 1, 0>;
def VLREPH : UnaryVRX<"vlreph", 0xE705, z_replicate_loadi16, v128h, 2, 1>;
def VLREPF : UnaryVRX<"vlrepf", 0xE705, z_replicate_loadi32, v128f, 4, 2>;
@@ -136,6 +141,7 @@ let Predicates = [FeatureVector] in {
def VL64 : UnaryAliasVRX<load, v64db, bdxaddr12pair>;
// Load logical element and zero.
+ def VLLEZ : UnaryVRXGeneric<"vllez", 0xE704>;
def VLLEZB : UnaryVRX<"vllezb", 0xE704, z_vllezi8, v128b, 1, 0>;
def VLLEZH : UnaryVRX<"vllezh", 0xE704, z_vllezi16, v128h, 2, 1>;
def VLLEZF : UnaryVRX<"vllezf", 0xE704, z_vllezi32, v128f, 4, 2>;
@@ -223,6 +229,7 @@ let Predicates = [FeatureVector] in {
let Predicates = [FeatureVector] in {
// Merge high.
+ def VMRH: BinaryVRRcGeneric<"vmrh", 0xE761>;
def VMRHB : BinaryVRRc<"vmrhb", 0xE761, z_merge_high, v128b, v128b, 0>;
def VMRHH : BinaryVRRc<"vmrhh", 0xE761, z_merge_high, v128h, v128h, 1>;
def VMRHF : BinaryVRRc<"vmrhf", 0xE761, z_merge_high, v128f, v128f, 2>;
@@ -231,6 +238,7 @@ let Predicates = [FeatureVector] in {
def : BinaryRRWithType<VMRHG, VR128, z_merge_high, v2f64>;
// Merge low.
+ def VMRL: BinaryVRRcGeneric<"vmrl", 0xE760>;
def VMRLB : BinaryVRRc<"vmrlb", 0xE760, z_merge_low, v128b, v128b, 0>;
def VMRLH : BinaryVRRc<"vmrlh", 0xE760, z_merge_low, v128h, v128h, 1>;
def VMRLF : BinaryVRRc<"vmrlf", 0xE760, z_merge_low, v128f, v128f, 2>;
@@ -245,6 +253,7 @@ let Predicates = [FeatureVector] in {
def VPDI : TernaryVRRc<"vpdi", 0xE784, z_permute_dwords, v128g, v128g>;
// Replicate.
+ def VREP: BinaryVRIcGeneric<"vrep", 0xE74D>;
def VREPB : BinaryVRIc<"vrepb", 0xE74D, z_splat, v128b, v128b, 0>;
def VREPH : BinaryVRIc<"vreph", 0xE74D, z_splat, v128h, v128h, 1>;
def VREPF : BinaryVRIc<"vrepf", 0xE74D, z_splat, v128f, v128f, 2>;
@@ -264,11 +273,13 @@ let Predicates = [FeatureVector] in {
let Predicates = [FeatureVector] in {
// Pack
+ def VPK : BinaryVRRcGeneric<"vpk", 0xE794>;
def VPKH : BinaryVRRc<"vpkh", 0xE794, z_pack, v128b, v128h, 1>;
def VPKF : BinaryVRRc<"vpkf", 0xE794, z_pack, v128h, v128f, 2>;
def VPKG : BinaryVRRc<"vpkg", 0xE794, z_pack, v128f, v128g, 3>;
// Pack saturate.
+ def VPKS : BinaryVRRbSPairGeneric<"vpks", 0xE797>;
defm VPKSH : BinaryVRRbSPair<"vpksh", 0xE797, int_s390_vpksh, z_packs_cc,
v128b, v128h, 1>;
defm VPKSF : BinaryVRRbSPair<"vpksf", 0xE797, int_s390_vpksf, z_packs_cc,
@@ -277,6 +288,7 @@ let Predicates = [FeatureVector] in {
v128f, v128g, 3>;
// Pack saturate logical.
+ def VPKLS : BinaryVRRbSPairGeneric<"vpkls", 0xE795>;
defm VPKLSH : BinaryVRRbSPair<"vpklsh", 0xE795, int_s390_vpklsh, z_packls_cc,
v128b, v128h, 1>;
defm VPKLSF : BinaryVRRbSPair<"vpklsf", 0xE795, int_s390_vpklsf, z_packls_cc,
@@ -285,6 +297,7 @@ let Predicates = [FeatureVector] in {
v128f, v128g, 3>;
// Sign-extend to doubleword.
+ def VSEG : UnaryVRRaGeneric<"vseg", 0xE75F>;
def VSEGB : UnaryVRRa<"vsegb", 0xE75F, z_vsei8, v128g, v128g, 0>;
def VSEGH : UnaryVRRa<"vsegh", 0xE75F, z_vsei16, v128g, v128g, 1>;
def VSEGF : UnaryVRRa<"vsegf", 0xE75F, z_vsei32, v128g, v128g, 2>;
@@ -293,21 +306,25 @@ let Predicates = [FeatureVector] in {
def : Pat<(z_vsei32_by_parts (v4i32 VR128:$src)), (VSEGF VR128:$src)>;
// Unpack high.
+ def VUPH : UnaryVRRaGeneric<"vuph", 0xE7D7>;
def VUPHB : UnaryVRRa<"vuphb", 0xE7D7, z_unpack_high, v128h, v128b, 0>;
def VUPHH : UnaryVRRa<"vuphh", 0xE7D7, z_unpack_high, v128f, v128h, 1>;
def VUPHF : UnaryVRRa<"vuphf", 0xE7D7, z_unpack_high, v128g, v128f, 2>;
// Unpack logical high.
+ def VUPLH : UnaryVRRaGeneric<"vuplh", 0xE7D5>;
def VUPLHB : UnaryVRRa<"vuplhb", 0xE7D5, z_unpackl_high, v128h, v128b, 0>;
def VUPLHH : UnaryVRRa<"vuplhh", 0xE7D5, z_unpackl_high, v128f, v128h, 1>;
def VUPLHF : UnaryVRRa<"vuplhf", 0xE7D5, z_unpackl_high, v128g, v128f, 2>;
// Unpack low.
+ def VUPL : UnaryVRRaGeneric<"vupl", 0xE7D6>;
def VUPLB : UnaryVRRa<"vuplb", 0xE7D6, z_unpack_low, v128h, v128b, 0>;
def VUPLHW : UnaryVRRa<"vuplhw", 0xE7D6, z_unpack_low, v128f, v128h, 1>;
def VUPLF : UnaryVRRa<"vuplf", 0xE7D6, z_unpack_low, v128g, v128f, 2>;
// Unpack logical low.
+ def VUPLL : UnaryVRRaGeneric<"vupll", 0xE7D4>;
def VUPLLB : UnaryVRRa<"vupllb", 0xE7D4, z_unpackl_low, v128h, v128b, 0>;
def VUPLLH : UnaryVRRa<"vupllh", 0xE7D4, z_unpackl_low, v128f, v128h, 1>;
def VUPLLF : UnaryVRRa<"vupllf", 0xE7D4, z_unpackl_low, v128g, v128f, 2>;
@@ -343,6 +360,7 @@ defm : GenericVectorOps<v2f64, v2i64>;
let Predicates = [FeatureVector] in {
// Add.
+ def VA : BinaryVRRcGeneric<"va", 0xE7F3>;
def VAB : BinaryVRRc<"vab", 0xE7F3, add, v128b, v128b, 0>;
def VAH : BinaryVRRc<"vah", 0xE7F3, add, v128h, v128h, 1>;
def VAF : BinaryVRRc<"vaf", 0xE7F3, add, v128f, v128f, 2>;
@@ -350,6 +368,7 @@ let Predicates = [FeatureVector] in {
def VAQ : BinaryVRRc<"vaq", 0xE7F3, int_s390_vaq, v128q, v128q, 4>;
// Add compute carry.
+ def VACC : BinaryVRRcGeneric<"vacc", 0xE7F1>;
def VACCB : BinaryVRRc<"vaccb", 0xE7F1, int_s390_vaccb, v128b, v128b, 0>;
def VACCH : BinaryVRRc<"vacch", 0xE7F1, int_s390_vacch, v128h, v128h, 1>;
def VACCF : BinaryVRRc<"vaccf", 0xE7F1, int_s390_vaccf, v128f, v128f, 2>;
@@ -357,9 +376,11 @@ let Predicates = [FeatureVector] in {
def VACCQ : BinaryVRRc<"vaccq", 0xE7F1, int_s390_vaccq, v128q, v128q, 4>;
// Add with carry.
+ def VAC : TernaryVRRdGeneric<"vac", 0xE7BB>;
def VACQ : TernaryVRRd<"vacq", 0xE7BB, int_s390_vacq, v128q, v128q, 4>;
// Add with carry compute carry.
+ def VACCC : TernaryVRRdGeneric<"vaccc", 0xE7B9>;
def VACCCQ : TernaryVRRd<"vacccq", 0xE7B9, int_s390_vacccq, v128q, v128q, 4>;
// And.
@@ -369,12 +390,14 @@ let Predicates = [FeatureVector] in {
def VNC : BinaryVRRc<"vnc", 0xE769, null_frag, v128any, v128any>;
// Average.
+ def VAVG : BinaryVRRcGeneric<"vavg", 0xE7F2>;
def VAVGB : BinaryVRRc<"vavgb", 0xE7F2, int_s390_vavgb, v128b, v128b, 0>;
def VAVGH : BinaryVRRc<"vavgh", 0xE7F2, int_s390_vavgh, v128h, v128h, 1>;
def VAVGF : BinaryVRRc<"vavgf", 0xE7F2, int_s390_vavgf, v128f, v128f, 2>;
def VAVGG : BinaryVRRc<"vavgg", 0xE7F2, int_s390_vavgg, v128g, v128g, 3>;
// Average logical.
+ def VAVGL : BinaryVRRcGeneric<"vavgl", 0xE7F0>;
def VAVGLB : BinaryVRRc<"vavglb", 0xE7F0, int_s390_vavglb, v128b, v128b, 0>;
def VAVGLH : BinaryVRRc<"vavglh", 0xE7F0, int_s390_vavglh, v128h, v128h, 1>;
def VAVGLF : BinaryVRRc<"vavglf", 0xE7F0, int_s390_vavglf, v128f, v128f, 2>;
@@ -384,12 +407,14 @@ let Predicates = [FeatureVector] in {
def VCKSM : BinaryVRRc<"vcksm", 0xE766, int_s390_vcksm, v128f, v128f>;
// Count leading zeros.
+ def VCLZ : UnaryVRRaGeneric<"vclz", 0xE753>;
def VCLZB : UnaryVRRa<"vclzb", 0xE753, ctlz, v128b, v128b, 0>;
def VCLZH : UnaryVRRa<"vclzh", 0xE753, ctlz, v128h, v128h, 1>;
def VCLZF : UnaryVRRa<"vclzf", 0xE753, ctlz, v128f, v128f, 2>;
def VCLZG : UnaryVRRa<"vclzg", 0xE753, ctlz, v128g, v128g, 3>;
// Count trailing zeros.
+ def VCLT : UnaryVRRaGeneric<"vctz", 0xE752>;
def VCTZB : UnaryVRRa<"vctzb", 0xE752, cttz, v128b, v128b, 0>;
def VCTZH : UnaryVRRa<"vctzh", 0xE752, cttz, v128h, v128h, 1>;
def VCTZF : UnaryVRRa<"vctzf", 0xE752, cttz, v128f, v128f, 2>;
@@ -399,134 +424,158 @@ let Predicates = [FeatureVector] in {
def VX : BinaryVRRc<"vx", 0xE76D, null_frag, v128any, v128any>;
// Galois field multiply sum.
+ def VGFM : BinaryVRRcGeneric<"vgfm", 0xE7B4>;
def VGFMB : BinaryVRRc<"vgfmb", 0xE7B4, int_s390_vgfmb, v128h, v128b, 0>;
def VGFMH : BinaryVRRc<"vgfmh", 0xE7B4, int_s390_vgfmh, v128f, v128h, 1>;
def VGFMF : BinaryVRRc<"vgfmf", 0xE7B4, int_s390_vgfmf, v128g, v128f, 2>;
def VGFMG : BinaryVRRc<"vgfmg", 0xE7B4, int_s390_vgfmg, v128q, v128g, 3>;
// Galois field multiply sum and accumulate.
+ def VGFMA : TernaryVRRdGeneric<"vgfma", 0xE7BC>;
def VGFMAB : TernaryVRRd<"vgfmab", 0xE7BC, int_s390_vgfmab, v128h, v128b, 0>;
def VGFMAH : TernaryVRRd<"vgfmah", 0xE7BC, int_s390_vgfmah, v128f, v128h, 1>;
def VGFMAF : TernaryVRRd<"vgfmaf", 0xE7BC, int_s390_vgfmaf, v128g, v128f, 2>;
def VGFMAG : TernaryVRRd<"vgfmag", 0xE7BC, int_s390_vgfmag, v128q, v128g, 3>;
// Load complement.
+ def VLC : UnaryVRRaGeneric<"vlc", 0xE7DE>;
def VLCB : UnaryVRRa<"vlcb", 0xE7DE, z_vneg, v128b, v128b, 0>;
def VLCH : UnaryVRRa<"vlch", 0xE7DE, z_vneg, v128h, v128h, 1>;
def VLCF : UnaryVRRa<"vlcf", 0xE7DE, z_vneg, v128f, v128f, 2>;
def VLCG : UnaryVRRa<"vlcg", 0xE7DE, z_vneg, v128g, v128g, 3>;
// Load positive.
+ def VLP : UnaryVRRaGeneric<"vlp", 0xE7DF>;
def VLPB : UnaryVRRa<"vlpb", 0xE7DF, z_viabs8, v128b, v128b, 0>;
def VLPH : UnaryVRRa<"vlph", 0xE7DF, z_viabs16, v128h, v128h, 1>;
def VLPF : UnaryVRRa<"vlpf", 0xE7DF, z_viabs32, v128f, v128f, 2>;
def VLPG : UnaryVRRa<"vlpg", 0xE7DF, z_viabs64, v128g, v128g, 3>;
// Maximum.
+ def VMX : BinaryVRRcGeneric<"vmx", 0xE7FF>;
def VMXB : BinaryVRRc<"vmxb", 0xE7FF, null_frag, v128b, v128b, 0>;
def VMXH : BinaryVRRc<"vmxh", 0xE7FF, null_frag, v128h, v128h, 1>;
def VMXF : BinaryVRRc<"vmxf", 0xE7FF, null_frag, v128f, v128f, 2>;
def VMXG : BinaryVRRc<"vmxg", 0xE7FF, null_frag, v128g, v128g, 3>;
// Maximum logical.
+ def VMXL : BinaryVRRcGeneric<"vmxl", 0xE7FD>;
def VMXLB : BinaryVRRc<"vmxlb", 0xE7FD, null_frag, v128b, v128b, 0>;
def VMXLH : BinaryVRRc<"vmxlh", 0xE7FD, null_frag, v128h, v128h, 1>;
def VMXLF : BinaryVRRc<"vmxlf", 0xE7FD, null_frag, v128f, v128f, 2>;
def VMXLG : BinaryVRRc<"vmxlg", 0xE7FD, null_frag, v128g, v128g, 3>;
// Minimum.
+ def VMN : BinaryVRRcGeneric<"vmn", 0xE7FE>;
def VMNB : BinaryVRRc<"vmnb", 0xE7FE, null_frag, v128b, v128b, 0>;
def VMNH : BinaryVRRc<"vmnh", 0xE7FE, null_frag, v128h, v128h, 1>;
def VMNF : BinaryVRRc<"vmnf", 0xE7FE, null_frag, v128f, v128f, 2>;
def VMNG : BinaryVRRc<"vmng", 0xE7FE, null_frag, v128g, v128g, 3>;
// Minimum logical.
+ def VMNL : BinaryVRRcGeneric<"vmnl", 0xE7FC>;
def VMNLB : BinaryVRRc<"vmnlb", 0xE7FC, null_frag, v128b, v128b, 0>;
def VMNLH : BinaryVRRc<"vmnlh", 0xE7FC, null_frag, v128h, v128h, 1>;
def VMNLF : BinaryVRRc<"vmnlf", 0xE7FC, null_frag, v128f, v128f, 2>;
def VMNLG : BinaryVRRc<"vmnlg", 0xE7FC, null_frag, v128g, v128g, 3>;
// Multiply and add low.
+ def VMAL : TernaryVRRdGeneric<"vmal", 0xE7AA>;
def VMALB : TernaryVRRd<"vmalb", 0xE7AA, z_muladd, v128b, v128b, 0>;
def VMALHW : TernaryVRRd<"vmalhw", 0xE7AA, z_muladd, v128h, v128h, 1>;
def VMALF : TernaryVRRd<"vmalf", 0xE7AA, z_muladd, v128f, v128f, 2>;
// Multiply and add high.
+ def VMAH : TernaryVRRdGeneric<"vmah", 0xE7AB>;
def VMAHB : TernaryVRRd<"vmahb", 0xE7AB, int_s390_vmahb, v128b, v128b, 0>;
def VMAHH : TernaryVRRd<"vmahh", 0xE7AB, int_s390_vmahh, v128h, v128h, 1>;
def VMAHF : TernaryVRRd<"vmahf", 0xE7AB, int_s390_vmahf, v128f, v128f, 2>;
// Multiply and add logical high.
+ def VMALH : TernaryVRRdGeneric<"vmalh", 0xE7A9>;
def VMALHB : TernaryVRRd<"vmalhb", 0xE7A9, int_s390_vmalhb, v128b, v128b, 0>;
def VMALHH : TernaryVRRd<"vmalhh", 0xE7A9, int_s390_vmalhh, v128h, v128h, 1>;
def VMALHF : TernaryVRRd<"vmalhf", 0xE7A9, int_s390_vmalhf, v128f, v128f, 2>;
// Multiply and add even.
+ def VMAE : TernaryVRRdGeneric<"vmae", 0xE7AE>;
def VMAEB : TernaryVRRd<"vmaeb", 0xE7AE, int_s390_vmaeb, v128h, v128b, 0>;
def VMAEH : TernaryVRRd<"vmaeh", 0xE7AE, int_s390_vmaeh, v128f, v128h, 1>;
def VMAEF : TernaryVRRd<"vmaef", 0xE7AE, int_s390_vmaef, v128g, v128f, 2>;
// Multiply and add logical even.
+ def VMALE : TernaryVRRdGeneric<"vmale", 0xE7AC>;
def VMALEB : TernaryVRRd<"vmaleb", 0xE7AC, int_s390_vmaleb, v128h, v128b, 0>;
def VMALEH : TernaryVRRd<"vmaleh", 0xE7AC, int_s390_vmaleh, v128f, v128h, 1>;
def VMALEF : TernaryVRRd<"vmalef", 0xE7AC, int_s390_vmalef, v128g, v128f, 2>;
// Multiply and add odd.
+ def VMAO : TernaryVRRdGeneric<"vmao", 0xE7AF>;
def VMAOB : TernaryVRRd<"vmaob", 0xE7AF, int_s390_vmaob, v128h, v128b, 0>;
def VMAOH : TernaryVRRd<"vmaoh", 0xE7AF, int_s390_vmaoh, v128f, v128h, 1>;
def VMAOF : TernaryVRRd<"vmaof", 0xE7AF, int_s390_vmaof, v128g, v128f, 2>;
// Multiply and add logical odd.
+ def VMALO : TernaryVRRdGeneric<"vmalo", 0xE7AD>;
def VMALOB : TernaryVRRd<"vmalob", 0xE7AD, int_s390_vmalob, v128h, v128b, 0>;
def VMALOH : TernaryVRRd<"vmaloh", 0xE7AD, int_s390_vmaloh, v128f, v128h, 1>;
def VMALOF : TernaryVRRd<"vmalof", 0xE7AD, int_s390_vmalof, v128g, v128f, 2>;
// Multiply high.
+ def VMH : BinaryVRRcGeneric<"vmh", 0xE7A3>;
def VMHB : BinaryVRRc<"vmhb", 0xE7A3, int_s390_vmhb, v128b, v128b, 0>;
def VMHH : BinaryVRRc<"vmhh", 0xE7A3, int_s390_vmhh, v128h, v128h, 1>;
def VMHF : BinaryVRRc<"vmhf", 0xE7A3, int_s390_vmhf, v128f, v128f, 2>;
// Multiply logical high.
+ def VMLH : BinaryVRRcGeneric<"vmlh", 0xE7A1>;
def VMLHB : BinaryVRRc<"vmlhb", 0xE7A1, int_s390_vmlhb, v128b, v128b, 0>;
def VMLHH : BinaryVRRc<"vmlhh", 0xE7A1, int_s390_vmlhh, v128h, v128h, 1>;
def VMLHF : BinaryVRRc<"vmlhf", 0xE7A1, int_s390_vmlhf, v128f, v128f, 2>;
// Multiply low.
+ def VML : BinaryVRRcGeneric<"vml", 0xE7A2>;
def VMLB : BinaryVRRc<"vmlb", 0xE7A2, mul, v128b, v128b, 0>;
def VMLHW : BinaryVRRc<"vmlhw", 0xE7A2, mul, v128h, v128h, 1>;
def VMLF : BinaryVRRc<"vmlf", 0xE7A2, mul, v128f, v128f, 2>;
// Multiply even.
+ def VME : BinaryVRRcGeneric<"vme", 0xE7A6>;
def VMEB : BinaryVRRc<"vmeb", 0xE7A6, int_s390_vmeb, v128h, v128b, 0>;
def VMEH : BinaryVRRc<"vmeh", 0xE7A6, int_s390_vmeh, v128f, v128h, 1>;
def VMEF : BinaryVRRc<"vmef", 0xE7A6, int_s390_vmef, v128g, v128f, 2>;
// Multiply logical even.
+ def VMLE : BinaryVRRcGeneric<"vmle", 0xE7A4>;
def VMLEB : BinaryVRRc<"vmleb", 0xE7A4, int_s390_vmleb, v128h, v128b, 0>;
def VMLEH : BinaryVRRc<"vmleh", 0xE7A4, int_s390_vmleh, v128f, v128h, 1>;
def VMLEF : BinaryVRRc<"vmlef", 0xE7A4, int_s390_vmlef, v128g, v128f, 2>;
// Multiply odd.
+ def VMO : BinaryVRRcGeneric<"vmo", 0xE7A7>;
def VMOB : BinaryVRRc<"vmob", 0xE7A7, int_s390_vmob, v128h, v128b, 0>;
def VMOH : BinaryVRRc<"vmoh", 0xE7A7, int_s390_vmoh, v128f, v128h, 1>;
def VMOF : BinaryVRRc<"vmof", 0xE7A7, int_s390_vmof, v128g, v128f, 2>;
// Multiply logical odd.
+ def VMLO : BinaryVRRcGeneric<"vmlo", 0xE7A5>;
def VMLOB : BinaryVRRc<"vmlob", 0xE7A5, int_s390_vmlob, v128h, v128b, 0>;
def VMLOH : BinaryVRRc<"vmloh", 0xE7A5, int_s390_vmloh, v128f, v128h, 1>;
def VMLOF : BinaryVRRc<"vmlof", 0xE7A5, int_s390_vmlof, v128g, v128f, 2>;
// Nor.
def VNO : BinaryVRRc<"vno", 0xE76B, null_frag, v128any, v128any>;
+ def : InstAlias<"vnot\t$V1, $V2", (VNO VR128:$V1, VR128:$V2, VR128:$V2), 0>;
// Or.
def VO : BinaryVRRc<"vo", 0xE76A, null_frag, v128any, v128any>;
// Population count.
- def VPOPCT : BinaryVRRa<"vpopct", 0xE750>;
+ def VPOPCT : UnaryVRRaGeneric<"vpopct", 0xE750>;
def : Pat<(v16i8 (z_popcnt VR128:$x)), (VPOPCT VR128:$x, 0)>;
// Element rotate left logical (with vector shift amount).
+ def VERLLV : BinaryVRRcGeneric<"verllv", 0xE773>;
def VERLLVB : BinaryVRRc<"verllvb", 0xE773, int_s390_verllvb,
v128b, v128b, 0>;
def VERLLVH : BinaryVRRc<"verllvh", 0xE773, int_s390_verllvh,
@@ -537,48 +586,56 @@ let Predicates = [FeatureVector] in {
v128g, v128g, 3>;
// Element rotate left logical (with scalar shift amount).
+ def VERLL : BinaryVRSaGeneric<"verll", 0xE733>;
def VERLLB : BinaryVRSa<"verllb", 0xE733, int_s390_verllb, v128b, v128b, 0>;
def VERLLH : BinaryVRSa<"verllh", 0xE733, int_s390_verllh, v128h, v128h, 1>;
def VERLLF : BinaryVRSa<"verllf", 0xE733, int_s390_verllf, v128f, v128f, 2>;
def VERLLG : BinaryVRSa<"verllg", 0xE733, int_s390_verllg, v128g, v128g, 3>;
// Element rotate and insert under mask.
+ def VERIM : QuaternaryVRIdGeneric<"verim", 0xE772>;
def VERIMB : QuaternaryVRId<"verimb", 0xE772, int_s390_verimb, v128b, v128b, 0>;
def VERIMH : QuaternaryVRId<"verimh", 0xE772, int_s390_verimh, v128h, v128h, 1>;
def VERIMF : QuaternaryVRId<"verimf", 0xE772, int_s390_verimf, v128f, v128f, 2>;
def VERIMG : QuaternaryVRId<"verimg", 0xE772, int_s390_verimg, v128g, v128g, 3>;
// Element shift left (with vector shift amount).
+ def VESLV : BinaryVRRcGeneric<"veslv", 0xE770>;
def VESLVB : BinaryVRRc<"veslvb", 0xE770, z_vshl, v128b, v128b, 0>;
def VESLVH : BinaryVRRc<"veslvh", 0xE770, z_vshl, v128h, v128h, 1>;
def VESLVF : BinaryVRRc<"veslvf", 0xE770, z_vshl, v128f, v128f, 2>;
def VESLVG : BinaryVRRc<"veslvg", 0xE770, z_vshl, v128g, v128g, 3>;
// Element shift left (with scalar shift amount).
+ def VESL : BinaryVRSaGeneric<"vesl", 0xE730>;
def VESLB : BinaryVRSa<"veslb", 0xE730, z_vshl_by_scalar, v128b, v128b, 0>;
def VESLH : BinaryVRSa<"veslh", 0xE730, z_vshl_by_scalar, v128h, v128h, 1>;
def VESLF : BinaryVRSa<"veslf", 0xE730, z_vshl_by_scalar, v128f, v128f, 2>;
def VESLG : BinaryVRSa<"veslg", 0xE730, z_vshl_by_scalar, v128g, v128g, 3>;
// Element shift right arithmetic (with vector shift amount).
+ def VESRAV : BinaryVRRcGeneric<"vesrav", 0xE77A>;
def VESRAVB : BinaryVRRc<"vesravb", 0xE77A, z_vsra, v128b, v128b, 0>;
def VESRAVH : BinaryVRRc<"vesravh", 0xE77A, z_vsra, v128h, v128h, 1>;
def VESRAVF : BinaryVRRc<"vesravf", 0xE77A, z_vsra, v128f, v128f, 2>;
def VESRAVG : BinaryVRRc<"vesravg", 0xE77A, z_vsra, v128g, v128g, 3>;
// Element shift right arithmetic (with scalar shift amount).
+ def VESRA : BinaryVRSaGeneric<"vesra", 0xE73A>;
def VESRAB : BinaryVRSa<"vesrab", 0xE73A, z_vsra_by_scalar, v128b, v128b, 0>;
def VESRAH : BinaryVRSa<"vesrah", 0xE73A, z_vsra_by_scalar, v128h, v128h, 1>;
def VESRAF : BinaryVRSa<"vesraf", 0xE73A, z_vsra_by_scalar, v128f, v128f, 2>;
def VESRAG : BinaryVRSa<"vesrag", 0xE73A, z_vsra_by_scalar, v128g, v128g, 3>;
// Element shift right logical (with vector shift amount).
+ def VESRLV : BinaryVRRcGeneric<"vesrlv", 0xE778>;
def VESRLVB : BinaryVRRc<"vesrlvb", 0xE778, z_vsrl, v128b, v128b, 0>;
def VESRLVH : BinaryVRRc<"vesrlvh", 0xE778, z_vsrl, v128h, v128h, 1>;
def VESRLVF : BinaryVRRc<"vesrlvf", 0xE778, z_vsrl, v128f, v128f, 2>;
def VESRLVG : BinaryVRRc<"vesrlvg", 0xE778, z_vsrl, v128g, v128g, 3>;
// Element shift right logical (with scalar shift amount).
+ def VESRL : BinaryVRSaGeneric<"vesrl", 0xE738>;
def VESRLB : BinaryVRSa<"vesrlb", 0xE738, z_vsrl_by_scalar, v128b, v128b, 0>;
def VESRLH : BinaryVRSa<"vesrlh", 0xE738, z_vsrl_by_scalar, v128h, v128h, 1>;
def VESRLF : BinaryVRSa<"vesrlf", 0xE738, z_vsrl_by_scalar, v128f, v128f, 2>;
@@ -608,6 +665,7 @@ let Predicates = [FeatureVector] in {
def VSRLB : BinaryVRRc<"vsrlb", 0xE77D, int_s390_vsrlb, v128b, v128b>;
// Subtract.
+ def VS : BinaryVRRcGeneric<"vs", 0xE7F7>;
def VSB : BinaryVRRc<"vsb", 0xE7F7, sub, v128b, v128b, 0>;
def VSH : BinaryVRRc<"vsh", 0xE7F7, sub, v128h, v128h, 1>;
def VSF : BinaryVRRc<"vsf", 0xE7F7, sub, v128f, v128f, 2>;
@@ -615,6 +673,7 @@ let Predicates = [FeatureVector] in {
def VSQ : BinaryVRRc<"vsq", 0xE7F7, int_s390_vsq, v128q, v128q, 4>;
// Subtract compute borrow indication.
+ def VSCBI : BinaryVRRcGeneric<"vscbi", 0xE7F5>;
def VSCBIB : BinaryVRRc<"vscbib", 0xE7F5, int_s390_vscbib, v128b, v128b, 0>;
def VSCBIH : BinaryVRRc<"vscbih", 0xE7F5, int_s390_vscbih, v128h, v128h, 1>;
def VSCBIF : BinaryVRRc<"vscbif", 0xE7F5, int_s390_vscbif, v128f, v128f, 2>;
@@ -622,21 +681,26 @@ let Predicates = [FeatureVector] in {
def VSCBIQ : BinaryVRRc<"vscbiq", 0xE7F5, int_s390_vscbiq, v128q, v128q, 4>;
// Subtract with borrow indication.
+ def VSBI : TernaryVRRdGeneric<"vsbi", 0xE7BF>;
def VSBIQ : TernaryVRRd<"vsbiq", 0xE7BF, int_s390_vsbiq, v128q, v128q, 4>;
// Subtract with borrow compute borrow indication.
+ def VSBCBI : TernaryVRRdGeneric<"vsbcbi", 0xE7BD>;
def VSBCBIQ : TernaryVRRd<"vsbcbiq", 0xE7BD, int_s390_vsbcbiq,
v128q, v128q, 4>;
// Sum across doubleword.
+ def VSUMG : BinaryVRRcGeneric<"vsumg", 0xE765>;
def VSUMGH : BinaryVRRc<"vsumgh", 0xE765, z_vsum, v128g, v128h, 1>;
def VSUMGF : BinaryVRRc<"vsumgf", 0xE765, z_vsum, v128g, v128f, 2>;
// Sum across quadword.
+ def VSUMQ : BinaryVRRcGeneric<"vsumq", 0xE767>;
def VSUMQF : BinaryVRRc<"vsumqf", 0xE767, z_vsum, v128q, v128f, 2>;
def VSUMQG : BinaryVRRc<"vsumqg", 0xE767, z_vsum, v128q, v128g, 3>;
// Sum across word.
+ def VSUM : BinaryVRRcGeneric<"vsum", 0xE764>;
def VSUMB : BinaryVRRc<"vsumb", 0xE764, z_vsum, v128f, v128b, 0>;
def VSUMH : BinaryVRRc<"vsumh", 0xE764, z_vsum, v128f, v128h, 1>;
}
@@ -737,6 +801,7 @@ defm : IntegerMinMaxVectorOps<v2i64, z_vicmphl, VMNLG, VMXLG>;
let Predicates = [FeatureVector] in {
// Element compare.
let Defs = [CC] in {
+ def VEC : CompareVRRaGeneric<"vec", 0xE7DB>;
def VECB : CompareVRRa<"vecb", 0xE7DB, null_frag, v128b, 0>;
def VECH : CompareVRRa<"vech", 0xE7DB, null_frag, v128h, 1>;
def VECF : CompareVRRa<"vecf", 0xE7DB, null_frag, v128f, 2>;
@@ -745,6 +810,7 @@ let Predicates = [FeatureVector] in {
// Element compare logical.
let Defs = [CC] in {
+ def VECL : CompareVRRaGeneric<"vecl", 0xE7D9>;
def VECLB : CompareVRRa<"veclb", 0xE7D9, null_frag, v128b, 0>;
def VECLH : CompareVRRa<"veclh", 0xE7D9, null_frag, v128h, 1>;
def VECLF : CompareVRRa<"veclf", 0xE7D9, null_frag, v128f, 2>;
@@ -752,6 +818,7 @@ let Predicates = [FeatureVector] in {
}
// Compare equal.
+ def VCEQ : BinaryVRRbSPairGeneric<"vceq", 0xE7F8>;
defm VCEQB : BinaryVRRbSPair<"vceqb", 0xE7F8, z_vicmpe, z_vicmpes,
v128b, v128b, 0>;
defm VCEQH : BinaryVRRbSPair<"vceqh", 0xE7F8, z_vicmpe, z_vicmpes,
@@ -762,6 +829,7 @@ let Predicates = [FeatureVector] in {
v128g, v128g, 3>;
// Compare high.
+ def VCH : BinaryVRRbSPairGeneric<"vch", 0xE7FB>;
defm VCHB : BinaryVRRbSPair<"vchb", 0xE7FB, z_vicmph, z_vicmphs,
v128b, v128b, 0>;
defm VCHH : BinaryVRRbSPair<"vchh", 0xE7FB, z_vicmph, z_vicmphs,
@@ -772,6 +840,7 @@ let Predicates = [FeatureVector] in {
v128g, v128g, 3>;
// Compare high logical.
+ def VCHL : BinaryVRRbSPairGeneric<"vchl", 0xE7F9>;
defm VCHLB : BinaryVRRbSPair<"vchlb", 0xE7F9, z_vicmphl, z_vicmphls,
v128b, v128b, 0>;
defm VCHLH : BinaryVRRbSPair<"vchlh", 0xE7F9, z_vicmphl, z_vicmphls,
@@ -803,64 +872,81 @@ multiclass VectorRounding<Instruction insn, TypedReg tr> {
let Predicates = [FeatureVector] in {
// Add.
+ def VFA : BinaryVRRcFloatGeneric<"vfa", 0xE7E3>;
def VFADB : BinaryVRRc<"vfadb", 0xE7E3, fadd, v128db, v128db, 3, 0>;
def WFADB : BinaryVRRc<"wfadb", 0xE7E3, fadd, v64db, v64db, 3, 8>;
// Convert from fixed 64-bit.
+ def VCDG : TernaryVRRaFloatGeneric<"vcdg", 0xE7C3>;
def VCDGB : TernaryVRRa<"vcdgb", 0xE7C3, null_frag, v128db, v128g, 3, 0>;
def WCDGB : TernaryVRRa<"wcdgb", 0xE7C3, null_frag, v64db, v64g, 3, 8>;
def : FPConversion<VCDGB, sint_to_fp, v128db, v128g, 0, 0>;
// Convert from logical 64-bit.
+ def VCDLG : TernaryVRRaFloatGeneric<"vcdlg", 0xE7C1>;
def VCDLGB : TernaryVRRa<"vcdlgb", 0xE7C1, null_frag, v128db, v128g, 3, 0>;
def WCDLGB : TernaryVRRa<"wcdlgb", 0xE7C1, null_frag, v64db, v64g, 3, 8>;
def : FPConversion<VCDLGB, uint_to_fp, v128db, v128g, 0, 0>;
// Convert to fixed 64-bit.
+ def VCGD : TernaryVRRaFloatGeneric<"vcgd", 0xE7C2>;
def VCGDB : TernaryVRRa<"vcgdb", 0xE7C2, null_frag, v128g, v128db, 3, 0>;
def WCGDB : TernaryVRRa<"wcgdb", 0xE7C2, null_frag, v64g, v64db, 3, 8>;
// Rounding mode should agree with SystemZInstrFP.td.
def : FPConversion<VCGDB, fp_to_sint, v128g, v128db, 0, 5>;
// Convert to logical 64-bit.
+ def VCLGD : TernaryVRRaFloatGeneric<"vclgd", 0xE7C0>;
def VCLGDB : TernaryVRRa<"vclgdb", 0xE7C0, null_frag, v128g, v128db, 3, 0>;
def WCLGDB : TernaryVRRa<"wclgdb", 0xE7C0, null_frag, v64g, v64db, 3, 8>;
// Rounding mode should agree with SystemZInstrFP.td.
def : FPConversion<VCLGDB, fp_to_uint, v128g, v128db, 0, 5>;
// Divide.
+ def VFD : BinaryVRRcFloatGeneric<"vfd", 0xE7E5>;
def VFDDB : BinaryVRRc<"vfddb", 0xE7E5, fdiv, v128db, v128db, 3, 0>;
def WFDDB : BinaryVRRc<"wfddb", 0xE7E5, fdiv, v64db, v64db, 3, 8>;
// Load FP integer.
+ def VFI : TernaryVRRaFloatGeneric<"vfi", 0xE7C7>;
def VFIDB : TernaryVRRa<"vfidb", 0xE7C7, int_s390_vfidb, v128db, v128db, 3, 0>;
def WFIDB : TernaryVRRa<"wfidb", 0xE7C7, null_frag, v64db, v64db, 3, 8>;
defm : VectorRounding<VFIDB, v128db>;
defm : VectorRounding<WFIDB, v64db>;
// Load lengthened.
+ def VLDE : UnaryVRRaFloatGeneric<"vlde", 0xE7C4>;
def VLDEB : UnaryVRRa<"vldeb", 0xE7C4, z_vextend, v128db, v128eb, 2, 0>;
def WLDEB : UnaryVRRa<"wldeb", 0xE7C4, fpextend, v64db, v32eb, 2, 8>;
// Load rounded,
+ def VLED : TernaryVRRaFloatGeneric<"vled", 0xE7C5>;
def VLEDB : TernaryVRRa<"vledb", 0xE7C5, null_frag, v128eb, v128db, 3, 0>;
def WLEDB : TernaryVRRa<"wledb", 0xE7C5, null_frag, v32eb, v64db, 3, 8>;
def : Pat<(v4f32 (z_vround (v2f64 VR128:$src))), (VLEDB VR128:$src, 0, 0)>;
def : FPConversion<WLEDB, fpround, v32eb, v64db, 0, 0>;
// Multiply.
+ def VFM : BinaryVRRcFloatGeneric<"vfm", 0xE7E7>;
def VFMDB : BinaryVRRc<"vfmdb", 0xE7E7, fmul, v128db, v128db, 3, 0>;
def WFMDB : BinaryVRRc<"wfmdb", 0xE7E7, fmul, v64db, v64db, 3, 8>;
// Multiply and add.
+ def VFMA : TernaryVRReFloatGeneric<"vfma", 0xE78F>;
def VFMADB : TernaryVRRe<"vfmadb", 0xE78F, fma, v128db, v128db, 0, 3>;
def WFMADB : TernaryVRRe<"wfmadb", 0xE78F, fma, v64db, v64db, 8, 3>;
// Multiply and subtract.
+ def VFMS : TernaryVRReFloatGeneric<"vfms", 0xE78E>;
def VFMSDB : TernaryVRRe<"vfmsdb", 0xE78E, fms, v128db, v128db, 0, 3>;
def WFMSDB : TernaryVRRe<"wfmsdb", 0xE78E, fms, v64db, v64db, 8, 3>;
- // Load complement,
+ // Perform sign operation.
+ def VFPSO : BinaryVRRaFloatGeneric<"vfpso", 0xE7CC>;
+ def VFPSODB : BinaryVRRa<"vfpsodb", 0xE7CC, null_frag, v128db, v128db, 3, 0>;
+ def WFPSODB : BinaryVRRa<"wfpsodb", 0xE7CC, null_frag, v64db, v64db, 3, 8>;
+
+ // Load complement.
def VFLCDB : UnaryVRRa<"vflcdb", 0xE7CC, fneg, v128db, v128db, 3, 0, 0>;
def WFLCDB : UnaryVRRa<"wflcdb", 0xE7CC, fneg, v64db, v64db, 3, 8, 0>;
@@ -873,15 +959,18 @@ let Predicates = [FeatureVector] in {
def WFLPDB : UnaryVRRa<"wflpdb", 0xE7CC, fabs, v64db, v64db, 3, 8, 2>;
// Square root.
+ def VFSQ : UnaryVRRaFloatGeneric<"vfsq", 0xE7CE>;
def VFSQDB : UnaryVRRa<"vfsqdb", 0xE7CE, fsqrt, v128db, v128db, 3, 0>;
def WFSQDB : UnaryVRRa<"wfsqdb", 0xE7CE, fsqrt, v64db, v64db, 3, 8>;
// Subtract.
+ def VFS : BinaryVRRcFloatGeneric<"vfs", 0xE7E2>;
def VFSDB : BinaryVRRc<"vfsdb", 0xE7E2, fsub, v128db, v128db, 3, 0>;
def WFSDB : BinaryVRRc<"wfsdb", 0xE7E2, fsub, v64db, v64db, 3, 8>;
// Test data class immediate.
let Defs = [CC] in {
+ def VFTCI : BinaryVRIeFloatGeneric<"vftci", 0xE74A>;
def VFTCIDB : BinaryVRIe<"vftcidb", 0xE74A, z_vftci, v128g, v128db, 3, 0>;
def WFTCIDB : BinaryVRIe<"wftcidb", 0xE74A, null_frag, v64g, v64db, 3, 8>;
}
@@ -893,26 +982,33 @@ let Predicates = [FeatureVector] in {
let Predicates = [FeatureVector] in {
// Compare scalar.
- let Defs = [CC] in
+ let Defs = [CC] in {
+ def WFC : CompareVRRaFloatGeneric<"wfc", 0xE7CB>;
def WFCDB : CompareVRRa<"wfcdb", 0xE7CB, z_fcmp, v64db, 3>;
+ }
// Compare and signal scalar.
- let Defs = [CC] in
+ let Defs = [CC] in {
+ def WFK : CompareVRRaFloatGeneric<"wfk", 0xE7CA>;
def WFKDB : CompareVRRa<"wfkdb", 0xE7CA, null_frag, v64db, 3>;
+ }
// Compare equal.
+ def VFCE : BinaryVRRcSPairFloatGeneric<"vfce", 0xE7E8>;
defm VFCEDB : BinaryVRRcSPair<"vfcedb", 0xE7E8, z_vfcmpe, z_vfcmpes,
v128g, v128db, 3, 0>;
defm WFCEDB : BinaryVRRcSPair<"wfcedb", 0xE7E8, null_frag, null_frag,
v64g, v64db, 3, 8>;
// Compare high.
+ def VFCH : BinaryVRRcSPairFloatGeneric<"vfch", 0xE7EB>;
defm VFCHDB : BinaryVRRcSPair<"vfchdb", 0xE7EB, z_vfcmph, z_vfcmphs,
v128g, v128db, 3, 0>;
defm WFCHDB : BinaryVRRcSPair<"wfchdb", 0xE7EB, null_frag, null_frag,
v64g, v64db, 3, 8>;
// Compare high or equal.
+ def VFCHE : BinaryVRRcSPairFloatGeneric<"vfche", 0xE7EA>;
defm VFCHEDB : BinaryVRRcSPair<"vfchedb", 0xE7EA, z_vfcmphe, z_vfcmphes,
v128g, v128db, 3, 0>;
defm WFCHEDB : BinaryVRRcSPair<"wfchedb", 0xE7EA, null_frag, null_frag,
@@ -1036,6 +1132,7 @@ let AddedComplexity = 4 in {
//===----------------------------------------------------------------------===//
let Predicates = [FeatureVector] in {
+ defm VFAE : TernaryOptVRRbSPairGeneric<"vfae", 0xE782>;
defm VFAEB : TernaryOptVRRbSPair<"vfaeb", 0xE782, int_s390_vfaeb,
z_vfae_cc, v128b, v128b, 0>;
defm VFAEH : TernaryOptVRRbSPair<"vfaeh", 0xE782, int_s390_vfaeh,
@@ -1049,6 +1146,7 @@ let Predicates = [FeatureVector] in {
defm VFAEZF : TernaryOptVRRbSPair<"vfaezf", 0xE782, int_s390_vfaezf,
z_vfaez_cc, v128f, v128f, 2, 2>;
+ defm VFEE : BinaryExtraVRRbSPairGeneric<"vfee", 0xE780>;
defm VFEEB : BinaryExtraVRRbSPair<"vfeeb", 0xE780, int_s390_vfeeb,
z_vfee_cc, v128b, v128b, 0>;
defm VFEEH : BinaryExtraVRRbSPair<"vfeeh", 0xE780, int_s390_vfeeh,
@@ -1062,6 +1160,7 @@ let Predicates = [FeatureVector] in {
defm VFEEZF : BinaryVRRbSPair<"vfeezf", 0xE780, int_s390_vfeezf,
z_vfeez_cc, v128f, v128f, 2, 2>;
+ defm VFENE : BinaryExtraVRRbSPairGeneric<"vfene", 0xE781>;
defm VFENEB : BinaryExtraVRRbSPair<"vfeneb", 0xE781, int_s390_vfeneb,
z_vfene_cc, v128b, v128b, 0>;
defm VFENEH : BinaryExtraVRRbSPair<"vfeneh", 0xE781, int_s390_vfeneh,
@@ -1075,6 +1174,7 @@ let Predicates = [FeatureVector] in {
defm VFENEZF : BinaryVRRbSPair<"vfenezf", 0xE781, int_s390_vfenezf,
z_vfenez_cc, v128f, v128f, 2, 2>;
+ defm VISTR : UnaryExtraVRRaSPairGeneric<"vistr", 0xE75C>;
defm VISTRB : UnaryExtraVRRaSPair<"vistrb", 0xE75C, int_s390_vistrb,
z_vistr_cc, v128b, v128b, 0>;
defm VISTRH : UnaryExtraVRRaSPair<"vistrh", 0xE75C, int_s390_vistrh,
@@ -1082,6 +1182,7 @@ let Predicates = [FeatureVector] in {
defm VISTRF : UnaryExtraVRRaSPair<"vistrf", 0xE75C, int_s390_vistrf,
z_vistr_cc, v128f, v128f, 2>;
+ defm VSTRC : QuaternaryOptVRRdSPairGeneric<"vstrc", 0xE78A>;
defm VSTRCB : QuaternaryOptVRRdSPair<"vstrcb", 0xE78A, int_s390_vstrcb,
z_vstrc_cc, v128b, v128b, 0>;
defm VSTRCH : QuaternaryOptVRRdSPair<"vstrch", 0xE78A, int_s390_vstrch,
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns-z13.txt b/llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
index 68869ab3369..147a7552f33 100644
--- a/llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
+++ b/llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
@@ -11,6 +11,15 @@
#CHECK: lcbb %r15, 4095(%r15,%r15), 15
0xe7 0xff 0xff 0xff 0xf0 0x27
+#CHECK: va %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xf3
+
+#CHECK: va %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xf3
+
+#CHECK: va %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xf3
+
#CHECK: vab %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf3
@@ -20,6 +29,15 @@
#CHECK: vab %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x0e 0xf3
+#CHECK: vacc %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xf1
+
+#CHECK: vacc %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xf1
+
+#CHECK: vacc %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xf1
+
#CHECK: vaccb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf1
@@ -29,6 +47,15 @@
#CHECK: vaccb %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x0e 0xf1
+#CHECK: vaccc %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xb9
+
+#CHECK: vaccc %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xb9
+
+#CHECK: vaccc %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xb9
+
#CHECK: vacccq %v0, %v0, %v0, %v0
0xe7 0x00 0x04 0x00 0x00 0xb9
@@ -74,6 +101,15 @@
#CHECK: vaccq %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x4e 0xf1
+#CHECK: vac %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xbb
+
+#CHECK: vac %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xbb
+
+#CHECK: vac %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xbb
+
#CHECK: vacq %v0, %v0, %v0, %v0
0xe7 0x00 0x04 0x00 0x00 0xbb
@@ -119,6 +155,15 @@
#CHECK: vaq %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x4e 0xf3
+#CHECK: vavg %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xf2
+
+#CHECK: vavg %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xf2
+
+#CHECK: vavg %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xf2
+
#CHECK: vavgb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf2
@@ -155,6 +200,15 @@
#CHECK: vavgh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xf2
+#CHECK: vavgl %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xf0
+
+#CHECK: vavgl %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xf0
+
+#CHECK: vavgl %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xf0
+
#CHECK: vavglb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf0
@@ -191,6 +245,15 @@
#CHECK: vavglh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xf0
+#CHECK: vcdg %v0, %v0, 11, 0, 0
+0xe7 0x00 0x00 0x00 0xb0 0xc3
+
+#CHECK: vcdg %v19, %v14, 11, 4, 10
+0xe7 0x3e 0x00 0xa4 0xb8 0xc3
+
+#CHECK: vcdg %v31, %v31, 11, 7, 15
+0xe7 0xff 0x00 0xf7 0xbc 0xc3
+
#CHECK: vcdgb %v0, %v0, 0, 0
0xe7 0x00 0x00 0x00 0x30 0xc3
@@ -200,6 +263,15 @@
#CHECK: vcdgb %v31, %v31, 7, 15
0xe7 0xff 0x00 0xf7 0x3c 0xc3
+#CHECK: vcdlg %v0, %v0, 11, 0, 0
+0xe7 0x00 0x00 0x00 0xb0 0xc1
+
+#CHECK: vcdlg %v19, %v14, 11, 4, 10
+0xe7 0x3e 0x00 0xa4 0xb8 0xc1
+
+#CHECK: vcdlg %v31, %v31, 11, 7, 15
+0xe7 0xff 0x00 0xf7 0xbc 0xc1
+
#CHECK: vcdlgb %v0, %v0, 0, 0
0xe7 0x00 0x00 0x00 0x30 0xc1
@@ -209,6 +281,18 @@
#CHECK: vcdlgb %v31, %v31, 7, 15
0xe7 0xff 0x00 0xf7 0x3c 0xc1
+#CHECK: vceq %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x90 0xb0 0xf8
+
+#CHECK: vceq %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x90 0xba 0xf8
+
+#CHECK: vceq %v7, %v24, %v9, 11, 9
+0xe7 0x78 0x90 0x90 0xb4 0xf8
+
+#CHECK: vceq %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x90 0xbe 0xf8
+
#CHECK: vceqb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf8
@@ -257,6 +341,15 @@
#CHECK: vceqh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xf8
+#CHECK: vcgd %v0, %v0, 11, 0, 0
+0xe7 0x00 0x00 0x00 0xb0 0xc2
+
+#CHECK: vcgd %v19, %v14, 11, 4, 10
+0xe7 0x3e 0x00 0xa4 0xb8 0xc2
+
+#CHECK: vcgd %v31, %v31, 11, 7, 15
+0xe7 0xff 0x00 0xf7 0xbc 0xc2
+
#CHECK: vcgdb %v0, %v0, 0, 0
0xe7 0x00 0x00 0x00 0x30 0xc2
@@ -266,6 +359,18 @@
#CHECK: vcgdb %v31, %v31, 7, 15
0xe7 0xff 0x00 0xf7 0x3c 0xc2
+#CHECK: vch %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x90 0xb0 0xfb
+
+#CHECK: vch %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x90 0xba 0xfb
+
+#CHECK: vch %v7, %v24, %v9, 11, 9
+0xe7 0x78 0x90 0x90 0xb4 0xfb
+
+#CHECK: vch %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x90 0xbe 0xfb
+
#CHECK: vchb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xfb
@@ -314,6 +419,18 @@
#CHECK: vchh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xfb
+#CHECK: vchl %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x90 0xb0 0xf9
+
+#CHECK: vchl %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x90 0xba 0xf9
+
+#CHECK: vchl %v7, %v24, %v9, 11, 9
+0xe7 0x78 0x90 0x90 0xb4 0xf9
+
+#CHECK: vchl %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x90 0xbe 0xf9
+
#CHECK: vchlb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf9
@@ -371,6 +488,15 @@
#CHECK: vcksm %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x0e 0x66
+#CHECK: vclgd %v0, %v0, 11, 0, 0
+0xe7 0x00 0x00 0x00 0xb0 0xc0
+
+#CHECK: vclgd %v19, %v14, 11, 4, 10
+0xe7 0x3e 0x00 0xa4 0xb8 0xc0
+
+#CHECK: vclgd %v31, %v31, 11, 7, 15
+0xe7 0xff 0x00 0xf7 0xbc 0xc0
+
#CHECK: vclgdb %v0, %v0, 0, 0
0xe7 0x00 0x00 0x00 0x30 0xc0
@@ -380,6 +506,15 @@
#CHECK: vclgdb %v31, %v31, 7, 15
0xe7 0xff 0x00 0xf7 0x3c 0xc0
+#CHECK: vclz %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x53
+
+#CHECK: vclz %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0x53
+
+#CHECK: vclz %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0x53
+
#CHECK: vclzb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x53
@@ -416,6 +551,15 @@
#CHECK: vclzh %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0x53
+#CHECK: vctz %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x52
+
+#CHECK: vctz %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0x52
+
+#CHECK: vctz %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0x52
+
#CHECK: vctzb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x52
@@ -452,6 +596,15 @@
#CHECK: vctzh %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0x52
+#CHECK: vec %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xdb
+
+#CHECK: vec %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xdb
+
+#CHECK: vec %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xdb
+
#CHECK: vecb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xdb
@@ -488,6 +641,15 @@
#CHECK: vech %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0xdb
+#CHECK: vecl %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xd9
+
+#CHECK: vecl %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xd9
+
+#CHECK: vecl %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xd9
+
#CHECK: veclb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xd9
@@ -524,6 +686,15 @@
#CHECK: veclh %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0xd9
+#CHECK: verim %v0, %v0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x72
+
+#CHECK: verim %v3, %v20, %v5, 103, 11
+0xe7 0x34 0x50 0x67 0xb4 0x72
+
+#CHECK: verim %v31, %v31, %v31, 255, 11
+0xe7 0xff 0xf0 0xff 0xbe 0x72
+
#CHECK: verimb %v0, %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x72
@@ -560,6 +731,15 @@
#CHECK: verimh %v31, %v31, %v31, 255
0xe7 0xff 0xf0 0xff 0x1e 0x72
+#CHECK: verllv %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x73
+
+#CHECK: verllv %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x73
+
+#CHECK: verllv %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x73
+
#CHECK: verllvb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x73
@@ -596,6 +776,15 @@
#CHECK: verllvh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x73
+#CHECK: verll %v0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x33
+
+#CHECK: verll %v12, %v18, 1110(%r3), 11
+0xe7 0xc2 0x34 0x56 0xb4 0x33
+
+#CHECK: verll %v31, %v31, 4095(%r15), 11
+0xe7 0xff 0xff 0xff 0xbc 0x33
+
#CHECK: verllb %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x33
@@ -632,6 +821,15 @@
#CHECK: verllh %v31, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x1c 0x33
+#CHECK: veslv %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x70
+
+#CHECK: veslv %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x70
+
+#CHECK: veslv %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x70
+
#CHECK: veslvb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x70
@@ -668,6 +866,15 @@
#CHECK: veslvh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x70
+#CHECK: vesl %v0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x30
+
+#CHECK: vesl %v12, %v18, 1110(%r3), 11
+0xe7 0xc2 0x34 0x56 0xb4 0x30
+
+#CHECK: vesl %v31, %v31, 4095(%r15), 11
+0xe7 0xff 0xff 0xff 0xbc 0x30
+
#CHECK: veslb %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x30
@@ -704,6 +911,15 @@
#CHECK: veslh %v31, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x1c 0x30
+#CHECK: vesrav %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x7a
+
+#CHECK: vesrav %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x7a
+
+#CHECK: vesrav %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x7a
+
#CHECK: vesravb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x7a
@@ -740,6 +956,15 @@
#CHECK: vesravh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x7a
+#CHECK: vesra %v0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x3a
+
+#CHECK: vesra %v12, %v18, 1110(%r3), 11
+0xe7 0xc2 0x34 0x56 0xb4 0x3a
+
+#CHECK: vesra %v31, %v31, 4095(%r15), 11
+0xe7 0xff 0xff 0xff 0xbc 0x3a
+
#CHECK: vesrab %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x3a
@@ -776,6 +1001,15 @@
#CHECK: vesrah %v31, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x1c 0x3a
+#CHECK: vesrlv %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x78
+
+#CHECK: vesrlv %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x78
+
+#CHECK: vesrlv %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x78
+
#CHECK: vesrlvb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x78
@@ -812,6 +1046,15 @@
#CHECK: vesrlvh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x78
+#CHECK: vesrl %v0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x38
+
+#CHECK: vesrl %v12, %v18, 1110(%r3), 11
+0xe7 0xc2 0x34 0x56 0xb4 0x38
+
+#CHECK: vesrl %v31, %v31, 4095(%r15), 11
+0xe7 0xff 0xff 0xff 0xbc 0x38
+
#CHECK: vesrlb %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x38
@@ -848,6 +1091,15 @@
#CHECK: vesrlh %v31, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x1c 0x38
+#CHECK: vfa %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xe3
+
+#CHECK: vfa %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xe3
+
+#CHECK: vfa %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xe3
+
#CHECK: vfadb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xe3
@@ -857,6 +1109,18 @@
#CHECK: vfadb %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x3e 0xe3
+#CHECK: vfae %v0, %v0, %v0, 11, 0
+0xe7 0x00 0x00 0x00 0xb0 0x82
+
+#CHECK: vfae %v0, %v0, %v0, 11, 12
+0xe7 0x00 0x00 0xc0 0xb0 0x82
+
+#CHECK: vfae %v18, %v3, %v20, 11, 0
+0xe7 0x23 0x40 0x00 0xba 0x82
+
+#CHECK: vfae %v31, %v31, %v31, 11, 4
+0xe7 0xff 0xf0 0x40 0xbe 0x82
+
#CHECK: vfaeb %v0, %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x82
@@ -920,6 +1184,15 @@
#CHECK: vfaezhs %v31, %v31, %v31, 8
0xe7 0xff 0xf0 0xb0 0x1e 0x82
+#CHECK: vfce %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xe8
+
+#CHECK: vfce %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xe8
+
+#CHECK: vfce %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xe8
+
#CHECK: vfcedb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xe8
@@ -938,6 +1211,15 @@
#CHECK: vfcedbs %v31, %v31, %v31
0xe7 0xff 0xf0 0x10 0x3e 0xe8
+#CHECK: vfch %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xeb
+
+#CHECK: vfch %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xeb
+
+#CHECK: vfch %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xeb
+
#CHECK: vfchdb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xeb
@@ -956,6 +1238,15 @@
#CHECK: vfchdbs %v31, %v31, %v31
0xe7 0xff 0xf0 0x10 0x3e 0xeb
+#CHECK: vfche %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xea
+
+#CHECK: vfche %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xea
+
+#CHECK: vfche %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xea
+
#CHECK: vfchedb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xea
@@ -974,6 +1265,15 @@
#CHECK: vfchedbs %v31, %v31, %v31
0xe7 0xff 0xf0 0x10 0x3e 0xea
+#CHECK: vfd %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xe5
+
+#CHECK: vfd %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xe5
+
+#CHECK: vfd %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xe5
+
#CHECK: vfddb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xe5
@@ -983,6 +1283,18 @@
#CHECK: vfddb %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x3e 0xe5
+#CHECK: vfee %v0, %v0, %v0, 11, 0
+0xe7 0x00 0x00 0x00 0xb0 0x80
+
+#CHECK: vfee %v0, %v0, %v0, 11, 12
+0xe7 0x00 0x00 0xc0 0xb0 0x80
+
+#CHECK: vfee %v18, %v3, %v20, 11, 0
+0xe7 0x23 0x40 0x00 0xba 0x80
+
+#CHECK: vfee %v31, %v31, %v31, 11, 0
+0xe7 0xff 0xf0 0x00 0xbe 0x80
+
#CHECK: vfeeb %v0, %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x80
@@ -1046,6 +1358,18 @@
#CHECK: vfeeh %v31, %v31, %v31, 0
0xe7 0xff 0xf0 0x00 0x1e 0x80
+#CHECK: vfene %v0, %v0, %v0, 11, 0
+0xe7 0x00 0x00 0x00 0xb0 0x81
+
+#CHECK: vfene %v0, %v0, %v0, 11, 12
+0xe7 0x00 0x00 0xc0 0xb0 0x81
+
+#CHECK: vfene %v18, %v3, %v20, 11, 0
+0xe7 0x23 0x40 0x00 0xba 0x81
+
+#CHECK: vfene %v31, %v31, %v31, 11, 0
+0xe7 0xff 0xf0 0x00 0xbe 0x81
+
#CHECK: vfeneb %v0, %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x81
@@ -1109,6 +1433,15 @@
#CHECK: vfeneh %v31, %v31, %v31, 0
0xe7 0xff 0xf0 0x00 0x1e 0x81
+#CHECK: vfi %v0, %v0, 11, 0, 0
+0xe7 0x00 0x00 0x00 0xb0 0xc7
+
+#CHECK: vfi %v19, %v14, 11, 4, 10
+0xe7 0x3e 0x00 0xa4 0xb8 0xc7
+
+#CHECK: vfi %v31, %v31, 11, 7, 15
+0xe7 0xff 0x00 0xf7 0xbc 0xc7
+
#CHECK: vfidb %v0, %v0, 0, 0
0xe7 0x00 0x00 0x00 0x30 0xc7
@@ -1118,6 +1451,18 @@
#CHECK: vfidb %v31, %v31, 7, 15
0xe7 0xff 0x00 0xf7 0x3c 0xc7
+#CHECK: vistr %v0, %v0, 11, 0
+0xe7 0x00 0x00 0x00 0xb0 0x5c
+
+#CHECK: vistr %v0, %v0, 11, 12
+0xe7 0x00 0x00 0xc0 0xb0 0x5c
+
+#CHECK: vistr %v18, %v3, 11, 0
+0xe7 0x23 0x00 0x00 0xb8 0x5c
+
+#CHECK: vistr %v31, %v31, 11, 0
+0xe7 0xff 0x00 0x00 0xbc 0x5c
+
#CHECK: vistrb %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x5c
@@ -1163,6 +1508,15 @@
#CHECK: vistrh %v31, %v31, 0
0xe7 0xff 0x00 0x00 0x1c 0x5c
+#CHECK: vfma %v0, %v0, %v0, %v0, 9, 11
+0xe7 0x00 0x0b 0x09 0x00 0x8f
+
+#CHECK: vfma %v3, %v20, %v5, %v22, 9, 11
+0xe7 0x34 0x5b 0x09 0x65 0x8f
+
+#CHECK: vfma %v31, %v31, %v31, %v31, 9, 11
+0xe7 0xff 0xfb 0x09 0xff 0x8f
+
#CHECK: vfmadb %v0, %v0, %v0, %v0
0xe7 0x00 0x03 0x00 0x00 0x8f
@@ -1172,6 +1526,15 @@
#CHECK: vfmadb %v31, %v31, %v31, %v31
0xe7 0xff 0xf3 0x00 0xff 0x8f
+#CHECK: vfm %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xe7
+
+#CHECK: vfm %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xe7
+
+#CHECK: vfm %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xe7
+
#CHECK: vfmdb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xe7
@@ -1181,6 +1544,15 @@
#CHECK: vfmdb %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x3e 0xe7
+#CHECK: vfms %v0, %v0, %v0, %v0, 9, 11
+0xe7 0x00 0x0b 0x09 0x00 0x8e
+
+#CHECK: vfms %v3, %v20, %v5, %v22, 9, 11
+0xe7 0x34 0x5b 0x09 0x65 0x8e
+
+#CHECK: vfms %v31, %v31, %v31, %v31, 9, 11
+0xe7 0xff 0xfb 0x09 0xff 0x8e
+
#CHECK: vfmsdb %v0, %v0, %v0, %v0
0xe7 0x00 0x03 0x00 0x00 0x8e
@@ -1190,6 +1562,15 @@
#CHECK: vfmsdb %v31, %v31, %v31, %v31
0xe7 0xff 0xf3 0x00 0xff 0x8e
+#CHECK: vfs %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xe2
+
+#CHECK: vfs %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x09 0xba 0xe2
+
+#CHECK: vfs %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x09 0xbe 0xe2
+
#CHECK: vfsdb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xe2
@@ -1235,6 +1616,15 @@
#CHECK: vgeg %v31, 4095(%v31,%r15), 1
0xe7 0xff 0xff 0xff 0x1c 0x12
+#CHECK: vgfma %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xbc
+
+#CHECK: vgfma %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xbc
+
+#CHECK: vgfma %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xbc
+
#CHECK: vgfmab %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xbc
@@ -1271,6 +1661,15 @@
#CHECK: vgfmah %v31, %v31, %v31, %v31
0xe7 0xff 0xf1 0x00 0xff 0xbc
+#CHECK: vgfm %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xb4
+
+#CHECK: vgfm %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xb4
+
+#CHECK: vgfm %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xb4
+
#CHECK: vgfmb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xb4
@@ -1307,6 +1706,15 @@
#CHECK: vgfmh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xb4
+#CHECK: vgm %v0, 0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x46
+
+#CHECK: vgm %v22, 55, 66, 11
+0xe7 0x60 0x37 0x42 0xb8 0x46
+
+#CHECK: vgm %v31, 255, 255, 11
+0xe7 0xf0 0xff 0xff 0xb8 0x46
+
#CHECK: vgmb %v0, 0, 0
0xe7 0x00 0x00 0x00 0x00 0x46
@@ -1361,6 +1769,15 @@
#CHECK: vlbb %v31, 4095(%r15,%r15), 15
0xe7 0xff 0xff 0xff 0xf8 0x07
+#CHECK: vlc %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xde
+
+#CHECK: vlc %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xde
+
+#CHECK: vlc %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xde
+
#CHECK: vlcb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xde
@@ -1397,6 +1814,15 @@
#CHECK: vlch %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0xde
+#CHECK: vlde %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xc4
+
+#CHECK: vlde %v19, %v14, 11, 9
+0xe7 0x3e 0x00 0x09 0xb8 0xc4
+
+#CHECK: vlde %v31, %v31, 11, 9
+0xe7 0xff 0x00 0x09 0xbc 0xc4
+
#CHECK: vldeb %v0, %v0
0xe7 0x00 0x00 0x00 0x20 0xc4
@@ -1415,6 +1841,15 @@
#CHECK: vleb %v31, 4095(%r15,%r15), 15
0xe7 0xff 0xff 0xff 0xf8 0x00
+#CHECK: vled %v0, %v0, 11, 0, 0
+0xe7 0x00 0x00 0x00 0xb0 0xc5
+
+#CHECK: vled %v19, %v14, 11, 4, 10
+0xe7 0x3e 0x00 0xa4 0xb8 0xc5
+
+#CHECK: vled %v31, %v31, 11, 7, 15
+0xe7 0xff 0x00 0xf7 0xbc 0xc5
+
#CHECK: vledb %v0, %v0, 0, 0
0xe7 0x00 0x00 0x00 0x30 0xc5
@@ -1487,6 +1922,24 @@
#CHECK: vleih %v31, -1, 7
0xe7 0xf0 0xff 0xff 0x78 0x41
+#CHECK: vfpso %v0, %v0, 11, 9, 7
+0xe7 0x00 0x00 0x79 0xb0 0xcc
+
+#CHECK: vfpso %v19, %v14, 11, 9, 7
+0xe7 0x3e 0x00 0x79 0xb8 0xcc
+
+#CHECK: vfpso %v31, %v31, 11, 9, 7
+0xe7 0xff 0x00 0x79 0xbc 0xcc
+
+#CHECK: vfpsodb %v0, %v0, 7
+0xe7 0x00 0x00 0x70 0x30 0xcc
+
+#CHECK: vfpsodb %v19, %v14, 7
+0xe7 0x3e 0x00 0x70 0x38 0xcc
+
+#CHECK: vfpsodb %v31, %v31, 7
+0xe7 0xff 0x00 0x70 0x3c 0xcc
+
#CHECK: vflcdb %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xcc
@@ -1514,6 +1967,15 @@
#CHECK: vflpdb %v31, %v31
0xe7 0xff 0x00 0x20 0x3c 0xcc
+#CHECK: vlgv %r0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x21
+
+#CHECK: vlgv %r2, %v19, 1383(%r4), 11
+0xe7 0x23 0x45 0x67 0xb4 0x21
+
+#CHECK: vlgv %r15, %v31, 4095(%r15), 11
+0xe7 0xff 0xff 0xff 0xb4 0x21
+
#CHECK: vlgvb %r0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x21
@@ -1550,6 +2012,15 @@
#CHECK: vlgvh %r15, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x14 0x21
+#CHECK: vfsq %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xce
+
+#CHECK: vfsq %v19, %v14, 11, 9
+0xe7 0x3e 0x00 0x09 0xb8 0xce
+
+#CHECK: vfsq %v31, %v31, 11, 9
+0xe7 0xff 0x00 0x09 0xbc 0xce
+
#CHECK: vfsqdb %v0, %v0
0xe7 0x00 0x00 0x00 0x30 0xce
@@ -1559,6 +2030,15 @@
#CHECK: vfsqdb %v31, %v31
0xe7 0xff 0x00 0x00 0x3c 0xce
+#CHECK: vftci %v0, %v0, 0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0x4a
+
+#CHECK: vftci %v19, %v4, 1383, 11, 9
+0xe7 0x34 0x56 0x79 0xb8 0x4a
+
+#CHECK: vftci %v31, %v31, 4095, 11, 9
+0xe7 0xff 0xff 0xf9 0xbc 0x4a
+
#CHECK: vftcidb %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x30 0x4a
@@ -1577,6 +2057,15 @@
#CHECK: vll %v31, %r15, 4095(%r15)
0xe7 0xff 0xff 0xff 0x08 0x37
+#CHECK: vllez %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x04
+
+#CHECK: vllez %v17, 2475(%r7,%r8), 11
+0xe7 0x17 0x89 0xab 0xb8 0x04
+
+#CHECK: vllez %v31, 4095(%r15,%r15), 11
+0xe7 0xff 0xff 0xff 0xb8 0x04
+
#CHECK: vllezb %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x04
@@ -1622,6 +2111,15 @@
#CHECK: vlm %v31, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x0c 0x36
+#CHECK: vlp %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xdf
+
+#CHECK: vlp %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xdf
+
+#CHECK: vlp %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xdf
+
#CHECK: vlpb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xdf
@@ -1667,6 +2165,15 @@
#CHECK: vlr %v31, %v31
0xe7 0xff 0x00 0x00 0x0c 0x56
+#CHECK: vlrep %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x05
+
+#CHECK: vlrep %v17, 2475(%r7,%r8), 11
+0xe7 0x17 0x89 0xab 0xb8 0x05
+
+#CHECK: vlrep %v31, 4095(%r15,%r15), 11
+0xe7 0xff 0xff 0xff 0xb8 0x05
+
#CHECK: vlrepb %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x05
@@ -1703,6 +2210,15 @@
#CHECK: vlreph %v31, 4095(%r15,%r15)
0xe7 0xff 0xff 0xff 0x18 0x05
+#CHECK: vlvg %v0, %r0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x22
+
+#CHECK: vlvg %v18, %r3, 1383(%r4), 11
+0xe7 0x23 0x45 0x67 0xb8 0x22
+
+#CHECK: vlvg %v31, %r15, 4095(%r15), 11
+0xe7 0xff 0xff 0xff 0xb8 0x22
+
#CHECK: vlvgb %v0, %r0, 0
0xe7 0x00 0x00 0x00 0x00 0x22
@@ -1748,6 +2264,15 @@
#CHECK: vlvgp %v31, %r15, %r15
0xe7 0xff 0xf0 0x00 0x08 0x62
+#CHECK: vmae %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xae
+
+#CHECK: vmae %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xae
+
+#CHECK: vmae %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xae
+
#CHECK: vmaeb %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xae
@@ -1775,6 +2300,15 @@
#CHECK: vmaeh %v31, %v31, %v31, %v31
0xe7 0xff 0xf1 0x00 0xff 0xae
+#CHECK: vmah %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xab
+
+#CHECK: vmah %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xab
+
+#CHECK: vmah %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xab
+
#CHECK: vmahb %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xab
@@ -1802,6 +2336,15 @@
#CHECK: vmahh %v31, %v31, %v31, %v31
0xe7 0xff 0xf1 0x00 0xff 0xab
+#CHECK: vmal %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xaa
+
+#CHECK: vmal %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xaa
+
+#CHECK: vmal %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xaa
+
#CHECK: vmalb %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xaa
@@ -1811,6 +2354,15 @@
#CHECK: vmalb %v31, %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0xff 0xaa
+#CHECK: vmale %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xac
+
+#CHECK: vmale %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xac
+
+#CHECK: vmale %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xac
+
#CHECK: vmaleb %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xac
@@ -1847,6 +2399,15 @@
#CHECK: vmalf %v31, %v31, %v31, %v31
0xe7 0xff 0xf2 0x00 0xff 0xaa
+#CHECK: vmalh %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xa9
+
+#CHECK: vmalh %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xa9
+
+#CHECK: vmalh %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xa9
+
#CHECK: vmalhb %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa9
@@ -1883,6 +2444,15 @@
#CHECK: vmalhw %v31, %v31, %v31, %v31
0xe7 0xff 0xf1 0x00 0xff 0xaa
+#CHECK: vmalo %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xad
+
+#CHECK: vmalo %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xad
+
+#CHECK: vmalo %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xad
+
#CHECK: vmalob %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xad
@@ -1910,6 +2480,15 @@
#CHECK: vmaloh %v31, %v31, %v31, %v31
0xe7 0xff 0xf1 0x00 0xff 0xad
+#CHECK: vmao %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xaf
+
+#CHECK: vmao %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xaf
+
+#CHECK: vmao %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xaf
+
#CHECK: vmaob %v0, %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xaf
@@ -1937,6 +2516,15 @@
#CHECK: vmaoh %v31, %v31, %v31, %v31
0xe7 0xff 0xf1 0x00 0xff 0xaf
+#CHECK: vme %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa6
+
+#CHECK: vme %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa6
+
+#CHECK: vme %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa6
+
#CHECK: vmeb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa6
@@ -1964,6 +2552,15 @@
#CHECK: vmeh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xa6
+#CHECK: vmh %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa3
+
+#CHECK: vmh %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa3
+
+#CHECK: vmh %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa3
+
#CHECK: vmhb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa3
@@ -1991,6 +2588,15 @@
#CHECK: vmhh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xa3
+#CHECK: vml %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa2
+
+#CHECK: vml %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa2
+
+#CHECK: vml %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa2
+
#CHECK: vmlb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa2
@@ -2009,6 +2615,15 @@
#CHECK: vmlf %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x2e 0xa2
+#CHECK: vmle %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa4
+
+#CHECK: vmle %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa4
+
+#CHECK: vmle %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa4
+
#CHECK: vmleb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa4
@@ -2036,6 +2651,15 @@
#CHECK: vmleh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xa4
+#CHECK: vmlh %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa1
+
+#CHECK: vmlh %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa1
+
+#CHECK: vmlh %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa1
+
#CHECK: vmlhb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa1
@@ -2072,6 +2696,15 @@
#CHECK: vmlhw %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xa2
+#CHECK: vmlo %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa5
+
+#CHECK: vmlo %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa5
+
+#CHECK: vmlo %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa5
+
#CHECK: vmlob %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa5
@@ -2099,6 +2732,15 @@
#CHECK: vmloh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xa5
+#CHECK: vmn %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xfe
+
+#CHECK: vmn %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xfe
+
+#CHECK: vmn %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xfe
+
#CHECK: vmnb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xfe
@@ -2135,6 +2777,15 @@
#CHECK: vmnh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xfe
+#CHECK: vmnl %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xfc
+
+#CHECK: vmnl %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xfc
+
+#CHECK: vmnl %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xfc
+
#CHECK: vmnlb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xfc
@@ -2171,6 +2822,15 @@
#CHECK: vmnlh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xfc
+#CHECK: vmo %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xa7
+
+#CHECK: vmo %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xa7
+
+#CHECK: vmo %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xa7
+
#CHECK: vmob %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xa7
@@ -2198,6 +2858,15 @@
#CHECK: vmoh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xa7
+#CHECK: vmrh %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x61
+
+#CHECK: vmrh %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x61
+
+#CHECK: vmrh %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x61
+
#CHECK: vmrhb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x61
@@ -2234,6 +2903,15 @@
#CHECK: vmrhh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x61
+#CHECK: vmrl %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x60
+
+#CHECK: vmrl %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x60
+
+#CHECK: vmrl %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x60
+
#CHECK: vmrlb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x60
@@ -2270,6 +2948,15 @@
#CHECK: vmrlh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x60
+#CHECK: vmx %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xff
+
+#CHECK: vmx %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xff
+
+#CHECK: vmx %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xff
+
#CHECK: vmxb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xff
@@ -2306,6 +2993,15 @@
#CHECK: vmxh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0xff
+#CHECK: vmxl %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xfd
+
+#CHECK: vmxl %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xfd
+
+#CHECK: vmxl %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xfd
+
#CHECK: vmxlb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xfd
@@ -2396,6 +3092,15 @@
#CHECK: vperm %v31, %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0xff 0x8c
+#CHECK: vpk %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x94
+
+#CHECK: vpk %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x94
+
+#CHECK: vpk %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x94
+
#CHECK: vpkf %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x20 0x94
@@ -2423,6 +3128,15 @@
#CHECK: vpkh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x94
+#CHECK: vpkls %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x90 0xb0 0x95
+
+#CHECK: vpkls %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x90 0xba 0x95
+
+#CHECK: vpkls %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x90 0xbe 0x95
+
#CHECK: vpklsf %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x20 0x95
@@ -2459,6 +3173,15 @@
#CHECK: vpklsh %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x1e 0x95
+#CHECK: vpks %v0, %v0, %v0, 11, 9
+0xe7 0x00 0x00 0x90 0xb0 0x97
+
+#CHECK: vpks %v18, %v3, %v20, 11, 9
+0xe7 0x23 0x40 0x90 0xba 0x97
+
+#CHECK: vpks %v31, %v31, %v31, 11, 9
+0xe7 0xff 0xf0 0x90 0xbe 0x97
+
#CHECK: vpksf %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x20 0x97
@@ -2504,6 +3227,15 @@
#CHECK: vpopct %v31, %v31
0xe7 0xff 0x00 0x00 0x0c 0x50
+#CHECK: vrep %v0, %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x4d
+
+#CHECK: vrep %v19, %v4, 22136, 11
+0xe7 0x34 0x56 0x78 0xb8 0x4d
+
+#CHECK: vrep %v31, %v31, 65535, 11
+0xe7 0xff 0xff 0xff 0xbc 0x4d
+
#CHECK: vrepb %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x4d
@@ -2540,6 +3272,15 @@
#CHECK: vreph %v31, %v31, 65535
0xe7 0xff 0xff 0xff 0x1c 0x4d
+#CHECK: vrepi %v0, 0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x45
+
+#CHECK: vrepi %v23, -30293, 11
+0xe7 0x70 0x89 0xab 0xb8 0x45
+
+#CHECK: vrepi %v31, -1, 11
+0xe7 0xf0 0xff 0xff 0xb8 0x45
+
#CHECK: vrepib %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x45
@@ -2576,6 +3317,15 @@
#CHECK: vrepih %v31, -1
0xe7 0xf0 0xff 0xff 0x18 0x45
+#CHECK: vs %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xf7
+
+#CHECK: vs %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xf7
+
+#CHECK: vs %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xf7
+
#CHECK: vsb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf7
@@ -2585,6 +3335,15 @@
#CHECK: vsb %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x0e 0xf7
+#CHECK: vsbi %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xbf
+
+#CHECK: vsbi %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xbf
+
+#CHECK: vsbi %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xbf
+
#CHECK: vsbiq %v0, %v0, %v0, %v0
0xe7 0x00 0x04 0x00 0x00 0xbf
@@ -2594,6 +3353,15 @@
#CHECK: vsbiq %v31, %v31, %v31, %v31
0xe7 0xff 0xf4 0x00 0xff 0xbf
+#CHECK: vsbcbi %v0, %v0, %v0, %v0, 11
+0xe7 0x00 0x0b 0x00 0x00 0xbd
+
+#CHECK: vsbcbi %v3, %v20, %v5, %v22, 11
+0xe7 0x34 0x5b 0x00 0x65 0xbd
+
+#CHECK: vsbcbi %v31, %v31, %v31, %v31, 11
+0xe7 0xff 0xfb 0x00 0xff 0xbd
+
#CHECK: vsbcbiq %v0, %v0, %v0, %v0
0xe7 0x00 0x04 0x00 0x00 0xbd
@@ -2603,6 +3371,15 @@
#CHECK: vsbcbiq %v31, %v31, %v31, %v31
0xe7 0xff 0xf4 0x00 0xff 0xbd
+#CHECK: vscbi %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xf5
+
+#CHECK: vscbi %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0xf5
+
+#CHECK: vscbi %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0xf5
+
#CHECK: vscbib %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xf5
@@ -2666,6 +3443,15 @@
#CHECK: vsceg %v31, 4095(%v31,%r15), 1
0xe7 0xff 0xff 0xff 0x1c 0x1a
+#CHECK: vseg %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x5f
+
+#CHECK: vseg %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0x5f
+
+#CHECK: vseg %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0x5f
+
#CHECK: vsegb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x5f
@@ -2864,6 +3650,18 @@
#CHECK: vstm %v31, %v31, 4095(%r15)
0xe7 0xff 0xff 0xff 0x0c 0x3e
+#CHECK: vstrc %v0, %v0, %v0, %v0, 11, 0
+0xe7 0x00 0x0b 0x00 0x00 0x8a
+
+#CHECK: vstrc %v0, %v0, %v0, %v0, 11, 12
+0xe7 0x00 0x0b 0xc0 0x00 0x8a
+
+#CHECK: vstrc %v18, %v3, %v20, %v5, 11, 0
+0xe7 0x23 0x4b 0x00 0x5a 0x8a
+
+#CHECK: vstrc %v31, %v31, %v31, %v31, 11, 4
+0xe7 0xff 0xfb 0x40 0xff 0x8a
+
#CHECK: vstrcb %v0, %v0, %v0, %v0, 0
0xe7 0x00 0x00 0x00 0x00 0x8a
@@ -2927,6 +3725,15 @@
#CHECK: vstrczhs %v31, %v31, %v31, %v31, 8
0xe7 0xff 0xf1 0xb0 0xff 0x8a
+#CHECK: vsumg %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x65
+
+#CHECK: vsumg %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x65
+
+#CHECK: vsumg %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x65
+
#CHECK: vsumgh %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x10 0x65
@@ -2945,6 +3752,15 @@
#CHECK: vsumgf %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x2e 0x65
+#CHECK: vsumq %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x67
+
+#CHECK: vsumq %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x67
+
+#CHECK: vsumq %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x67
+
#CHECK: vsumqf %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x20 0x67
@@ -2963,6 +3779,15 @@
#CHECK: vsumqg %v31, %v31, %v31
0xe7 0xff 0xf0 0x00 0x3e 0x67
+#CHECK: vsum %v0, %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0x64
+
+#CHECK: vsum %v18, %v3, %v20, 11
+0xe7 0x23 0x40 0x00 0xba 0x64
+
+#CHECK: vsum %v31, %v31, %v31, 11
+0xe7 0xff 0xf0 0x00 0xbe 0x64
+
#CHECK: vsumb %v0, %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0x64
@@ -2990,6 +3815,15 @@
#CHECK: vtm %v31, %v31
0xe7 0xff 0x00 0x00 0x0c 0xd8
+#CHECK: vuph %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xd7
+
+#CHECK: vuph %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xd7
+
+#CHECK: vuph %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xd7
+
#CHECK: vuphb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xd7
@@ -3017,6 +3851,15 @@
#CHECK: vuphh %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0xd7
+#CHECK: vuplh %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xd5
+
+#CHECK: vuplh %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xd5
+
+#CHECK: vuplh %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xd5
+
#CHECK: vuplhb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xd5
@@ -3044,6 +3887,15 @@
#CHECK: vuplhh %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0xd5
+#CHECK: vupl %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xd6
+
+#CHECK: vupl %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xd6
+
+#CHECK: vupl %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xd6
+
#CHECK: vuplb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xd6
@@ -3071,6 +3923,15 @@
#CHECK: vuplhw %v31, %v31
0xe7 0xff 0x00 0x00 0x1c 0xd6
+#CHECK: vupll %v0, %v0, 11
+0xe7 0x00 0x00 0x00 0xb0 0xd4
+
+#CHECK: vupll %v19, %v14, 11
+0xe7 0x3e 0x00 0x00 0xb8 0xd4
+
+#CHECK: vupll %v31, %v31, 11
+0xe7 0xff 0x00 0x00 0xbc 0xd4
+
#CHECK: vupllb %v0, %v0
0xe7 0x00 0x00 0x00 0x00 0xd4
@@ -3152,6 +4013,15 @@
#CHECK: wfadb %v31, %v31, %v31
0xe7 0xff 0xf0 0x08 0x3e 0xe3
+#CHECK: wfc %f0, %f0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xcb
+
+#CHECK: wfc %v19, %f14, 11, 9
+0xe7 0x3e 0x00 0x09 0xb8 0xcb
+
+#CHECK: wfc %v31, %v31, 11, 9
+0xe7 0xff 0x00 0x09 0xbc 0xcb
+
#CHECK: wfcdb %f0, %f0
0xe7 0x00 0x00 0x00 0x30 0xcb
@@ -3233,6 +4103,15 @@
#CHECK: wfidb %v31, %v31, 7, 15
0xe7 0xff 0x00 0xff 0x3c 0xc7
+#CHECK: wfk %f0, %f0, 11, 9
+0xe7 0x00 0x00 0x09 0xb0 0xca
+
+#CHECK: wfk %v19, %f14, 11, 9
+0xe7 0x3e 0x00 0x09 0xb8 0xca
+
+#CHECK: wfk %v31, %v31, 11, 9
+0xe7 0xff 0x00 0x09 0xbc 0xca
+
#CHECK: wfkdb %f0, %f0
0xe7 0x00 0x00 0x00 0x30 0xca
@@ -3242,6 +4121,15 @@
#CHECK: wfkdb %v31, %v31
0xe7 0xff 0x00 0x00 0x3c 0xca
+#CHECK: wfpsodb %f0, %f0, 7
+0xe7 0x00 0x00 0x78 0x30 0xcc
+
+#CHECK: wfpsodb %v19, %f14, 7
+0xe7 0x3e 0x00 0x78 0x38 0xcc
+
+#CHECK: wfpsodb %v31, %v31, 7
+0xe7 0xff 0x00 0x78 0x3c 0xcc
+
#CHECK: wflcdb %f0, %f0
0xe7 0x00 0x00 0x08 0x30 0xcc
diff --git a/llvm/test/MC/SystemZ/insn-bad-z13.s b/llvm/test/MC/SystemZ/insn-bad-z13.s
index b0fbab525ba..9407d86bd57 100644
--- a/llvm/test/MC/SystemZ/insn-bad-z13.s
+++ b/llvm/test/MC/SystemZ/insn-bad-z13.s
@@ -20,6 +20,26 @@
lcbb %r0, 0(%v1,%r2), 0
#CHECK: error: invalid operand
+#CHECK: vcdg %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vcdg %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vcdg %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vcdg %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vcdg %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vcdg %v0, %v0, 16, 0, 0
+
+ vcdg %v0, %v0, 0, 0, -1
+ vcdg %v0, %v0, 0, 0, 16
+ vcdg %v0, %v0, 0, -1, 0
+ vcdg %v0, %v0, 0, 16, 0
+ vcdg %v0, %v0, -1, 0, 0
+ vcdg %v0, %v0, 16, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vcdgb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vcdgb %v0, %v0, 0, 16
@@ -34,6 +54,26 @@
vcdgb %v0, %v0, 16, 0
#CHECK: error: invalid operand
+#CHECK: vcdlg %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vcdlg %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vcdlg %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vcdlg %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vcdlg %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vcdlg %v0, %v0, 16, 0, 0
+
+ vcdlg %v0, %v0, 0, 0, -1
+ vcdlg %v0, %v0, 0, 0, 16
+ vcdlg %v0, %v0, 0, -1, 0
+ vcdlg %v0, %v0, 0, 16, 0
+ vcdlg %v0, %v0, -1, 0, 0
+ vcdlg %v0, %v0, 16, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vcdlgb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vcdlgb %v0, %v0, 0, 16
@@ -48,6 +88,26 @@
vcdlgb %v0, %v0, 16, 0
#CHECK: error: invalid operand
+#CHECK: vcgd %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vcgd %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vcgd %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vcgd %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vcgd %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vcgd %v0, %v0, 16, 0, 0
+
+ vcgd %v0, %v0, 0, 0, -1
+ vcgd %v0, %v0, 0, 0, 16
+ vcgd %v0, %v0, 0, -1, 0
+ vcgd %v0, %v0, 0, 16, 0
+ vcgd %v0, %v0, -1, 0, 0
+ vcgd %v0, %v0, 16, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vcgdb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vcgdb %v0, %v0, 0, 16
@@ -62,6 +122,26 @@
vcgdb %v0, %v0, 16, 0
#CHECK: error: invalid operand
+#CHECK: vclgd %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vclgd %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vclgd %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vclgd %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vclgd %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vclgd %v0, %v0, 16, 0, 0
+
+ vclgd %v0, %v0, 0, 0, -1
+ vclgd %v0, %v0, 0, 0, 16
+ vclgd %v0, %v0, 0, -1, 0
+ vclgd %v0, %v0, 0, 16, 0
+ vclgd %v0, %v0, -1, 0, 0
+ vclgd %v0, %v0, 16, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vclgdb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vclgdb %v0, %v0, 0, 16
@@ -76,6 +156,20 @@
vclgdb %v0, %v0, 16, 0
#CHECK: error: invalid operand
+#CHECK: verim %v0, %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: verim %v0, %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: verim %v0, %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: verim %v0, %v0, %v0, 256, 0
+
+ verim %v0, %v0, %v0, 0, -1
+ verim %v0, %v0, %v0, 0, 16
+ verim %v0, %v0, %v0, -1, 0
+ verim %v0, %v0, %v0, 256, 0
+
+#CHECK: error: invalid operand
#CHECK: verimb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: verimb %v0, %v0, %v0, 256
@@ -108,6 +202,20 @@
verimh %v0, %v0, %v0, 256
#CHECK: error: invalid operand
+#CHECK: verll %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: verll %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: verll %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: verll %v0, %v0, 4096, 0
+
+ verll %v0, %v0, 0, -1
+ verll %v0, %v0, 0, 16
+ verll %v0, %v0, -1, 0
+ verll %v0, %v0, 4096, 0
+
+#CHECK: error: invalid operand
#CHECK: verllb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: verllb %v0, %v0, 4096
@@ -140,6 +248,20 @@
verllh %v0, %v0, 4096
#CHECK: error: invalid operand
+#CHECK: vesl %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vesl %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vesl %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vesl %v0, %v0, 4096, 0
+
+ vesl %v0, %v0, 0, -1
+ vesl %v0, %v0, 0, 16
+ vesl %v0, %v0, -1, 0
+ vesl %v0, %v0, 4096, 0
+
+#CHECK: error: invalid operand
#CHECK: veslb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: veslb %v0, %v0, 4096
@@ -172,6 +294,20 @@
veslh %v0, %v0, 4096
#CHECK: error: invalid operand
+#CHECK: vesra %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vesra %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vesra %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vesra %v0, %v0, 4096, 0
+
+ vesra %v0, %v0, 0, -1
+ vesra %v0, %v0, 0, 16
+ vesra %v0, %v0, -1, 0
+ vesra %v0, %v0, 4096, 0
+
+#CHECK: error: invalid operand
#CHECK: vesrab %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vesrab %v0, %v0, 4096
@@ -204,6 +340,20 @@
vesrah %v0, %v0, 4096
#CHECK: error: invalid operand
+#CHECK: vesrl %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vesrl %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vesrl %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vesrl %v0, %v0, 4096, 0
+
+ vesrl %v0, %v0, 0, -1
+ vesrl %v0, %v0, 0, 16
+ vesrl %v0, %v0, -1, 0
+ vesrl %v0, %v0, 4096, 0
+
+#CHECK: error: invalid operand
#CHECK: vesrlb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vesrlb %v0, %v0, 4096
@@ -236,6 +386,26 @@
vesrlh %v0, %v0, 4096
#CHECK: error: invalid operand
+#CHECK: vfae %v0, %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vfae %v0, %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vfae %v0, %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vfae %v0, %v0, %v0, 16, 0
+#CHECK: error: too few operands
+#CHECK: vfae %v0, %v0, %v0
+#CHECK: error: invalid operand
+#CHECK: vfae %v0, %v0, %v0, 0, 0, 0
+
+ vfae %v0, %v0, %v0, 0, -1
+ vfae %v0, %v0, %v0, 0, 16
+ vfae %v0, %v0, %v0, -1, 0
+ vfae %v0, %v0, %v0, 16, 0
+ vfae %v0, %v0, %v0
+ vfae %v0, %v0, %v0, 0, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vfaeb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfaeb %v0, %v0, %v0, 16
@@ -320,6 +490,26 @@
vfaezfs %v0, %v0, %v0, 0, 0
#CHECK: error: invalid operand
+#CHECK: vfee %v0, %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vfee %v0, %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vfee %v0, %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vfee %v0, %v0, %v0, 16, 0
+#CHECK: error: too few operands
+#CHECK: vfee %v0, %v0, %v0
+#CHECK: error: invalid operand
+#CHECK: vfee %v0, %v0, %v0, 0, 0, 0
+
+ vfee %v0, %v0, %v0, 0, -1
+ vfee %v0, %v0, %v0, 0, 16
+ vfee %v0, %v0, %v0, -1, 0
+ vfee %v0, %v0, %v0, 16, 0
+ vfee %v0, %v0, %v0
+ vfee %v0, %v0, %v0, 0, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vfeeb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfeeb %v0, %v0, %v0, 16
@@ -434,6 +624,26 @@
vfeezhs %v0, %v0, %v0, 0
#CHECK: error: invalid operand
+#CHECK: vfi %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vfi %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vfi %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vfi %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vfi %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vfi %v0, %v0, 16, 0, 0
+
+ vfi %v0, %v0, 0, 0, -1
+ vfi %v0, %v0, 0, 0, 16
+ vfi %v0, %v0, 0, -1, 0
+ vfi %v0, %v0, 0, 16, 0
+ vfi %v0, %v0, -1, 0, 0
+ vfi %v0, %v0, 16, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vfidb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfidb %v0, %v0, 0, 16
@@ -448,6 +658,26 @@
vfidb %v0, %v0, 16, 0
#CHECK: error: invalid operand
+#CHECK: vftci %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vftci %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vftci %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vftci %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vftci %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vftci %v0, %v0, 4096, 0, 0
+
+ vftci %v0, %v0, 0, 0, -1
+ vftci %v0, %v0, 0, 0, 16
+ vftci %v0, %v0, 0, -1, 0
+ vftci %v0, %v0, 0, 16, 0
+ vftci %v0, %v0, -1, 0, 0
+ vftci %v0, %v0, 4096, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vftcidb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vftcidb %v0, %v0, 4096
@@ -504,62 +734,102 @@
vgeg %v0, 4096(%v0,%r1), 0
#CHECK: error: invalid operand
-#CHECK: vgmb %v0, 0, -1
+#CHECK: vgm %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vgm %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vgm %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vgm %v0, 0, 256, 0
+#CHECK: error: invalid operand
+#CHECK: vgm %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vgm %v0, 256, 0, 0
+
+ vgm %v0, 0, 0, -1
+ vgm %v0, 0, 0, 16
+ vgm %v0, 0, -1, 0
+ vgm %v0, 0, 256, 0
+ vgm %v0, -1, 0, 0
+ vgm %v0, 256, 0, 0
+
#CHECK: error: invalid operand
#CHECK: vgmb %v0, 0, -1
#CHECK: error: invalid operand
+#CHECK: vgmb %v0, 0, 256
+#CHECK: error: invalid operand
#CHECK: vgmb %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vgmb %v0, 256, 0
vgmb %v0, 0, -1
- vgmb %v0, 0, -1
+ vgmb %v0, 0, 256
vgmb %v0, -1, 0
vgmb %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vgmf %v0, 0, -1
#CHECK: error: invalid operand
-#CHECK: vgmf %v0, 0, -1
+#CHECK: vgmf %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vgmf %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vgmf %v0, 256, 0
vgmf %v0, 0, -1
- vgmf %v0, 0, -1
+ vgmf %v0, 0, 256
vgmf %v0, -1, 0
vgmf %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vgmg %v0, 0, -1
#CHECK: error: invalid operand
-#CHECK: vgmg %v0, 0, -1
+#CHECK: vgmg %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vgmg %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vgmg %v0, 256, 0
vgmg %v0, 0, -1
- vgmg %v0, 0, -1
+ vgmg %v0, 0, 256
vgmg %v0, -1, 0
vgmg %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vgmh %v0, 0, -1
#CHECK: error: invalid operand
-#CHECK: vgmh %v0, 0, -1
+#CHECK: vgmh %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vgmh %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vgmh %v0, 256, 0
vgmh %v0, 0, -1
- vgmh %v0, 0, -1
+ vgmh %v0, 0, 256
vgmh %v0, -1, 0
vgmh %v0, 256, 0
#CHECK: error: invalid operand
+#CHECK: vistr %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vistr %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vistr %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vistr %v0, %v0, 16, 0
+#CHECK: error: too few operands
+#CHECK: vistr %v0, %v0
+#CHECK: error: invalid operand
+#CHECK: vistr %v0, %v0, 0, 0, 0
+
+ vistr %v0, %v0, 0, -1
+ vistr %v0, %v0, 0, 16
+ vistr %v0, %v0, -1, 0
+ vistr %v0, %v0, 16, 0
+ vistr %v0, %v0
+ vistr %v0, %v0, 0, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vistrb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vistrb %v0, %v0, 16
@@ -671,6 +941,26 @@
vleb %v0, 0(%v1,%r2), 0
#CHECK: error: invalid operand
+#CHECK: vled %v0, %v0, 0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vled %v0, %v0, 0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vled %v0, %v0, 0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vled %v0, %v0, 0, 16, 0
+#CHECK: error: invalid operand
+#CHECK: vled %v0, %v0, -1, 0, 0
+#CHECK: error: invalid operand
+#CHECK: vled %v0, %v0, 16, 0, 0
+
+ vled %v0, %v0, 0, 0, -1
+ vled %v0, %v0, 0, 0, 16
+ vled %v0, %v0, 0, -1, 0
+ vled %v0, %v0, 0, 16, 0
+ vled %v0, %v0, -1, 0, 0
+ vled %v0, %v0, 16, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vledb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vledb %v0, %v0, 0, 16
@@ -792,6 +1082,23 @@
vleih %v0, 32768, 0
#CHECK: error: invalid operand
+#CHECK: vlgv %r0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vlgv %r0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vlgv %r0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vlgv %r0, %v0, 4096, 0
+#CHECK: error: %r0 used in an address
+#CHECK: vlgv %r0, %v0, 0(%r0), 0
+
+ vlgv %r0, %v0, 0, -1
+ vlgv %r0, %v0, 0, 16
+ vlgv %r0, %v0, -1, 0
+ vlgv %r0, %v0, 4096, 0
+ vlgv %r0, %v0, 0(%r0), 0
+
+#CHECK: error: invalid operand
#CHECK: vlgvb %r0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vlgvb %r0, %v0, 4096
@@ -847,6 +1154,23 @@
vll %v0, %r0, 0(%r0)
#CHECK: error: invalid operand
+#CHECK: vllez %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vllez %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vllez %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vllez %v0, 4096, 0
+#CHECK: error: invalid use of vector addressing
+#CHECK: vllez %v0, 0(%v1,%r2), 0
+
+ vllez %v0, 0, -1
+ vllez %v0, 0, 16
+ vllez %v0, -1, 0
+ vllez %v0, 4096, 0
+ vllez %v0, 0(%v1,%r2), 0
+
+#CHECK: error: invalid operand
#CHECK: vllezb %v0, -1
#CHECK: error: invalid operand
#CHECK: vllezb %v0, 4096
@@ -899,6 +1223,23 @@
vlm %v0, %v0, 4096
#CHECK: error: invalid operand
+#CHECK: vlrep %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vlrep %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vlrep %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vlrep %v0, 4096, 0
+#CHECK: error: invalid use of vector addressing
+#CHECK: vlrep %v0, 0(%v1,%r2), 0
+
+ vlrep %v0, 0, -1
+ vlrep %v0, 0, 16
+ vlrep %v0, -1, 0
+ vlrep %v0, 4096, 0
+ vlrep %v0, 0(%v1,%r2), 0
+
+#CHECK: error: invalid operand
#CHECK: vlrepb %v0, -1
#CHECK: error: invalid operand
#CHECK: vlrepb %v0, 4096
@@ -943,6 +1284,23 @@
vlreph %v0, 0(%v1,%r2)
#CHECK: error: invalid operand
+#CHECK: vlvg %v0, %r0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vlvg %v0, %r0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vlvg %v0, %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vlvg %v0, %r0, 4096, 0
+#CHECK: error: %r0 used in an address
+#CHECK: vlvg %v0, %r0, 0(%r0), 0
+
+ vlvg %v0, %r0, 0, -1
+ vlvg %v0, %r0, 0, 16
+ vlvg %v0, %r0, -1, 0
+ vlvg %v0, %r0, 4096, 0
+ vlvg %v0, %r0, 0(%r0), 0
+
+#CHECK: error: invalid operand
#CHECK: vlvgb %v0, %r0, -1
#CHECK: error: invalid operand
#CHECK: vlvgb %v0, %r0, 4096
@@ -987,6 +1345,26 @@
vlvgh %v0, %r0, 0(%r0)
#CHECK: error: invalid operand
+#CHECK: vfene %v0, %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vfene %v0, %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vfene %v0, %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vfene %v0, %v0, %v0, 16, 0
+#CHECK: error: too few operands
+#CHECK: vfene %v0, %v0, %v0
+#CHECK: error: invalid operand
+#CHECK: vfene %v0, %v0, %v0, 0, 0, 0
+
+ vfene %v0, %v0, %v0, 0, -1
+ vfene %v0, %v0, %v0, 0, 16
+ vfene %v0, %v0, %v0, -1, 0
+ vfene %v0, %v0, %v0, 16, 0
+ vfene %v0, %v0, %v0
+ vfene %v0, %v0, %v0, 0, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vfeneb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfeneb %v0, %v0, %v0, 16
@@ -1101,6 +1479,20 @@
vpdi %v0, %v0, %v0, 16
#CHECK: error: invalid operand
+#CHECK: vrep %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vrep %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vrep %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vrep %v0, %v0, 65536, 0
+
+ vrep %v0, %v0, 0, -1
+ vrep %v0, %v0, 0, 16
+ vrep %v0, %v0, -1, 0
+ vrep %v0, %v0, 65536, 0
+
+#CHECK: error: invalid operand
#CHECK: vrepb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vrepb %v0, %v0, 65536
@@ -1133,6 +1525,20 @@
vreph %v0, %v0, 65536
#CHECK: error: invalid operand
+#CHECK: vrepi %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vrepi %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vrepi %v0, -32769, 0
+#CHECK: error: invalid operand
+#CHECK: vrepi %v0, 32768, 0
+
+ vrepi %v0, 0, -1
+ vrepi %v0, 0, 16
+ vrepi %v0, -32769, 0
+ vrepi %v0, 32768, 0
+
+#CHECK: error: invalid operand
#CHECK: vrepib %v0, -32769
#CHECK: error: invalid operand
#CHECK: vrepib %v0, 32768
@@ -1311,6 +1717,26 @@
vstm %v0, %v0, 4096
#CHECK: error: invalid operand
+#CHECK: vstrc %v0, %v0, %v0, %v0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: vstrc %v0, %v0, %v0, %v0, 0, 16
+#CHECK: error: invalid operand
+#CHECK: vstrc %v0, %v0, %v0, %v0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: vstrc %v0, %v0, %v0, %v0, 16, 0
+#CHECK: error: too few operands
+#CHECK: vstrc %v0, %v0, %v0, %v0
+#CHECK: error: invalid operand
+#CHECK: vstrc %v0, %v0, %v0, %v0, 0, 0, 0
+
+ vstrc %v0, %v0, %v0, %v0, 0, -1
+ vstrc %v0, %v0, %v0, %v0, 0, 16
+ vstrc %v0, %v0, %v0, %v0, -1, 0
+ vstrc %v0, %v0, %v0, %v0, 16, 0
+ vstrc %v0, %v0, %v0, %v0
+ vstrc %v0, %v0, %v0, %v0, 0, 0, 0
+
+#CHECK: error: invalid operand
#CHECK: vstrcb %v0, %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vstrcb %v0, %v0, %v0, %v0, 16
diff --git a/llvm/test/MC/SystemZ/insn-good-z13.s b/llvm/test/MC/SystemZ/insn-good-z13.s
index 5c25658271c..8946fde14e5 100644
--- a/llvm/test/MC/SystemZ/insn-good-z13.s
+++ b/llvm/test/MC/SystemZ/insn-good-z13.s
@@ -18,6 +18,20 @@
lcbb %r15, 0, 0
lcbb %r2, 1383(%r3,%r4), 8
+#CHECK: va %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf3]
+#CHECK: va %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf3]
+#CHECK: va %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf3]
+#CHECK: va %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf3]
+#CHECK: va %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf3]
+#CHECK: va %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xf3]
+
+ va %v0, %v0, %v0, 0
+ va %v0, %v0, %v0, 15
+ va %v0, %v0, %v31, 0
+ va %v0, %v31, %v0, 0
+ va %v31, %v0, %v0, 0
+ va %v18, %v3, %v20, 11
+
#CHECK: vab %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf3]
#CHECK: vab %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf3]
#CHECK: vab %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf3]
@@ -30,6 +44,36 @@
vab %v31, %v0, %v0
vab %v18, %v3, %v20
+#CHECK: vac %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xbb]
+#CHECK: vac %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xbb]
+#CHECK: vac %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xbb]
+#CHECK: vac %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xbb]
+#CHECK: vac %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xbb]
+#CHECK: vac %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xbb]
+#CHECK: vac %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xbb]
+
+ vac %v0, %v0, %v0, %v0, 0
+ vac %v0, %v0, %v0, %v0, 15
+ vac %v0, %v0, %v0, %v31, 0
+ vac %v0, %v0, %v31, %v0, 0
+ vac %v0, %v31, %v0, %v0, 0
+ vac %v31, %v0, %v0, %v0, 0
+ vac %v13, %v17, %v21, %v25, 11
+
+#CHECK: vacc %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf1]
+#CHECK: vacc %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf1]
+#CHECK: vacc %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf1]
+#CHECK: vacc %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf1]
+#CHECK: vacc %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf1]
+#CHECK: vacc %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xf1]
+
+ vacc %v0, %v0, %v0, 0
+ vacc %v0, %v0, %v0, 15
+ vacc %v0, %v0, %v31, 0
+ vacc %v0, %v31, %v0, 0
+ vacc %v31, %v0, %v0, 0
+ vacc %v18, %v3, %v20, 11
+
#CHECK: vaccb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf1]
#CHECK: vaccb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf1]
#CHECK: vaccb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf1]
@@ -42,6 +86,22 @@
vaccb %v31, %v0, %v0
vaccb %v18, %v3, %v20
+#CHECK: vaccc %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xb9]
+#CHECK: vaccc %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xb9]
+#CHECK: vaccc %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xb9]
+#CHECK: vaccc %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xb9]
+#CHECK: vaccc %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xb9]
+#CHECK: vaccc %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xb9]
+#CHECK: vaccc %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xb9]
+
+ vaccc %v0, %v0, %v0, %v0, 0
+ vaccc %v0, %v0, %v0, %v0, 15
+ vaccc %v0, %v0, %v0, %v31, 0
+ vaccc %v0, %v0, %v31, %v0, 0
+ vaccc %v0, %v31, %v0, %v0, 0
+ vaccc %v31, %v0, %v0, %v0, 0
+ vaccc %v13, %v17, %v21, %v25, 11
+
#CHECK: vacccq %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x04,0x00,0x00,0xb9]
#CHECK: vacccq %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x04,0x00,0xf1,0xb9]
#CHECK: vacccq %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf4,0x00,0x02,0xb9]
@@ -166,6 +226,20 @@
vaq %v31, %v0, %v0
vaq %v18, %v3, %v20
+#CHECK: vavg %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf2]
+#CHECK: vavg %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf2]
+#CHECK: vavg %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf2]
+#CHECK: vavg %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf2]
+#CHECK: vavg %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf2]
+#CHECK: vavg %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xf2]
+
+ vavg %v0, %v0, %v0, 0
+ vavg %v0, %v0, %v0, 15
+ vavg %v0, %v0, %v31, 0
+ vavg %v0, %v31, %v0, 0
+ vavg %v31, %v0, %v0, 0
+ vavg %v18, %v3, %v20, 11
+
#CHECK: vavgb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf2]
#CHECK: vavgb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf2]
#CHECK: vavgb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf2]
@@ -214,6 +288,20 @@
vavgh %v31, %v0, %v0
vavgh %v18, %v3, %v20
+#CHECK: vavgl %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf0]
+#CHECK: vavgl %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf0]
+#CHECK: vavgl %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf0]
+#CHECK: vavgl %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf0]
+#CHECK: vavgl %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf0]
+#CHECK: vavgl %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xf0]
+
+ vavgl %v0, %v0, %v0, 0
+ vavgl %v0, %v0, %v0, 15
+ vavgl %v0, %v0, %v31, 0
+ vavgl %v0, %v31, %v0, 0
+ vavgl %v31, %v0, %v0, 0
+ vavgl %v18, %v3, %v20, 11
+
#CHECK: vavglb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf0]
#CHECK: vavglb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf0]
#CHECK: vavglb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf0]
@@ -262,6 +350,24 @@
vavglh %v31, %v0, %v0
vavglh %v18, %v3, %v20
+#CHECK: vcdg %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc3]
+#CHECK: vcdg %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc3]
+#CHECK: vcdg %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xc3]
+#CHECK: vcdg %v0, %v0, 0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x00,0xc3]
+#CHECK: vcdg %v0, %v0, 0, 12, 0 # encoding: [0xe7,0x00,0x00,0x0c,0x00,0xc3]
+#CHECK: vcdg %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc3]
+#CHECK: vcdg %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc3]
+#CHECK: vcdg %v14, %v17, 11, 4, 10 # encoding: [0xe7,0xe1,0x00,0xa4,0xb4,0xc3]
+
+ vcdg %v0, %v0, 0, 0, 0
+ vcdg %v0, %v0, 15, 0, 0
+ vcdg %v0, %v0, 0, 0, 15
+ vcdg %v0, %v0, 0, 4, 0
+ vcdg %v0, %v0, 0, 12, 0
+ vcdg %v0, %v31, 0, 0, 0
+ vcdg %v31, %v0, 0, 0, 0
+ vcdg %v14, %v17, 11, 4, 10
+
#CHECK: vcdgb %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xc3]
#CHECK: vcdgb %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xc3]
#CHECK: vcdgb %v0, %v0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x30,0xc3]
@@ -278,6 +384,24 @@
vcdgb %v31, %v0, 0, 0
vcdgb %v14, %v17, 4, 10
+#CHECK: vcdlg %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc1]
+#CHECK: vcdlg %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc1]
+#CHECK: vcdlg %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xc1]
+#CHECK: vcdlg %v0, %v0, 0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x00,0xc1]
+#CHECK: vcdlg %v0, %v0, 0, 12, 0 # encoding: [0xe7,0x00,0x00,0x0c,0x00,0xc1]
+#CHECK: vcdlg %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc1]
+#CHECK: vcdlg %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc1]
+#CHECK: vcdlg %v14, %v17, 11, 4, 10 # encoding: [0xe7,0xe1,0x00,0xa4,0xb4,0xc1]
+
+ vcdlg %v0, %v0, 0, 0, 0
+ vcdlg %v0, %v0, 15, 0, 0
+ vcdlg %v0, %v0, 0, 0, 15
+ vcdlg %v0, %v0, 0, 4, 0
+ vcdlg %v0, %v0, 0, 12, 0
+ vcdlg %v0, %v31, 0, 0, 0
+ vcdlg %v31, %v0, 0, 0, 0
+ vcdlg %v14, %v17, 11, 4, 10
+
#CHECK: vcdlgb %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xc1]
#CHECK: vcdlgb %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xc1]
#CHECK: vcdlgb %v0, %v0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x30,0xc1]
@@ -306,6 +430,22 @@
vcksm %v31, %v0, %v0
vcksm %v18, %v3, %v20
+#CHECK: vceq %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf8]
+#CHECK: vceq %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf8]
+#CHECK: vceq %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xf8]
+#CHECK: vceq %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf8]
+#CHECK: vceq %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf8]
+#CHECK: vceq %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf8]
+#CHECK: vceq %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x90,0xba,0xf8]
+
+ vceq %v0, %v0, %v0, 0, 0
+ vceq %v0, %v0, %v0, 15, 0
+ vceq %v0, %v0, %v0, 0, 15
+ vceq %v0, %v0, %v31, 0, 0
+ vceq %v0, %v31, %v0, 0, 0
+ vceq %v31, %v0, %v0, 0, 0
+ vceq %v18, %v3, %v20, 11, 9
+
#CHECK: vceqb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf8]
#CHECK: vceqb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf8]
#CHECK: vceqb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf8]
@@ -362,6 +502,24 @@
vceqh %v18, %v3, %v20
vceqhs %v5, %v22, %v7
+#CHECK: vcgd %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc2]
+#CHECK: vcgd %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc2]
+#CHECK: vcgd %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xc2]
+#CHECK: vcgd %v0, %v0, 0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x00,0xc2]
+#CHECK: vcgd %v0, %v0, 0, 12, 0 # encoding: [0xe7,0x00,0x00,0x0c,0x00,0xc2]
+#CHECK: vcgd %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc2]
+#CHECK: vcgd %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc2]
+#CHECK: vcgd %v14, %v17, 11, 4, 10 # encoding: [0xe7,0xe1,0x00,0xa4,0xb4,0xc2]
+
+ vcgd %v0, %v0, 0, 0, 0
+ vcgd %v0, %v0, 15, 0, 0
+ vcgd %v0, %v0, 0, 0, 15
+ vcgd %v0, %v0, 0, 4, 0
+ vcgd %v0, %v0, 0, 12, 0
+ vcgd %v0, %v31, 0, 0, 0
+ vcgd %v31, %v0, 0, 0, 0
+ vcgd %v14, %v17, 11, 4, 10
+
#CHECK: vcgdb %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xc2]
#CHECK: vcgdb %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xc2]
#CHECK: vcgdb %v0, %v0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x30,0xc2]
@@ -378,6 +536,22 @@
vcgdb %v31, %v0, 0, 0
vcgdb %v14, %v17, 4, 10
+#CHECK: vch %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfb]
+#CHECK: vch %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xfb]
+#CHECK: vch %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xfb]
+#CHECK: vch %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfb]
+#CHECK: vch %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfb]
+#CHECK: vch %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xfb]
+#CHECK: vch %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x90,0xba,0xfb]
+
+ vch %v0, %v0, %v0, 0, 0
+ vch %v0, %v0, %v0, 15, 0
+ vch %v0, %v0, %v0, 0, 15
+ vch %v0, %v0, %v31, 0, 0
+ vch %v0, %v31, %v0, 0, 0
+ vch %v31, %v0, %v0, 0, 0
+ vch %v18, %v3, %v20, 11, 9
+
#CHECK: vchb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfb]
#CHECK: vchb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfb]
#CHECK: vchb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfb]
@@ -434,6 +608,22 @@
vchh %v18, %v3, %v20
vchhs %v5, %v22, %v7
+#CHECK: vchl %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf9]
+#CHECK: vchl %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf9]
+#CHECK: vchl %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xf9]
+#CHECK: vchl %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf9]
+#CHECK: vchl %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf9]
+#CHECK: vchl %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf9]
+#CHECK: vchl %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x90,0xba,0xf9]
+
+ vchl %v0, %v0, %v0, 0, 0
+ vchl %v0, %v0, %v0, 15, 0
+ vchl %v0, %v0, %v0, 0, 15
+ vchl %v0, %v0, %v31, 0, 0
+ vchl %v0, %v31, %v0, 0, 0
+ vchl %v31, %v0, %v0, 0, 0
+ vchl %v18, %v3, %v20, 11, 9
+
#CHECK: vchlb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf9]
#CHECK: vchlb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf9]
#CHECK: vchlb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf9]
@@ -490,6 +680,24 @@
vchlh %v18, %v3, %v20
vchlhs %v5, %v22, %v7
+#CHECK: vclgd %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc0]
+#CHECK: vclgd %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc0]
+#CHECK: vclgd %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xc0]
+#CHECK: vclgd %v0, %v0, 0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x00,0xc0]
+#CHECK: vclgd %v0, %v0, 0, 12, 0 # encoding: [0xe7,0x00,0x00,0x0c,0x00,0xc0]
+#CHECK: vclgd %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc0]
+#CHECK: vclgd %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc0]
+#CHECK: vclgd %v14, %v17, 11, 4, 10 # encoding: [0xe7,0xe1,0x00,0xa4,0xb4,0xc0]
+
+ vclgd %v0, %v0, 0, 0, 0
+ vclgd %v0, %v0, 15, 0, 0
+ vclgd %v0, %v0, 0, 0, 15
+ vclgd %v0, %v0, 0, 4, 0
+ vclgd %v0, %v0, 0, 12, 0
+ vclgd %v0, %v31, 0, 0, 0
+ vclgd %v31, %v0, 0, 0, 0
+ vclgd %v14, %v17, 11, 4, 10
+
#CHECK: vclgdb %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xc0]
#CHECK: vclgdb %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xc0]
#CHECK: vclgdb %v0, %v0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x30,0xc0]
@@ -506,6 +714,22 @@
vclgdb %v31, %v0, 0, 0
vclgdb %v14, %v17, 4, 10
+#CHECK: vclz %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x53]
+#CHECK: vclz %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x53]
+#CHECK: vclz %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x53]
+#CHECK: vclz %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x53]
+#CHECK: vclz %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x53]
+#CHECK: vclz %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x53]
+#CHECK: vclz %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0x53]
+
+ vclz %v0, %v0, 0
+ vclz %v0, %v0, 15
+ vclz %v0, %v15, 0
+ vclz %v0, %v31, 0
+ vclz %v15, %v0, 0
+ vclz %v31, %v0, 0
+ vclz %v14, %v17, 11
+
#CHECK: vclzb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x53]
#CHECK: vclzb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x53]
#CHECK: vclzb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x53]
@@ -562,6 +786,22 @@
vclzh %v31, %v0
vclzh %v14, %v17
+#CHECK: vctz %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x52]
+#CHECK: vctz %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x52]
+#CHECK: vctz %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x52]
+#CHECK: vctz %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x52]
+#CHECK: vctz %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x52]
+#CHECK: vctz %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x52]
+#CHECK: vctz %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0x52]
+
+ vctz %v0, %v0, 0
+ vctz %v0, %v0, 15
+ vctz %v0, %v15, 0
+ vctz %v0, %v31, 0
+ vctz %v15, %v0, 0
+ vctz %v31, %v0, 0
+ vctz %v14, %v17, 11
+
#CHECK: vctzb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x52]
#CHECK: vctzb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x52]
#CHECK: vctzb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x52]
@@ -618,6 +858,22 @@
vctzh %v31, %v0
vctzh %v14, %v17
+#CHECK: vec %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xdb]
+#CHECK: vec %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xdb]
+#CHECK: vec %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xdb]
+#CHECK: vec %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xdb]
+#CHECK: vec %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xdb]
+#CHECK: vec %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xdb]
+#CHECK: vec %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xdb]
+
+ vec %v0, %v0, 0
+ vec %v0, %v0, 15
+ vec %v0, %v15, 0
+ vec %v0, %v31, 0
+ vec %v15, %v0, 0
+ vec %v31, %v0, 0
+ vec %v14, %v17, 11
+
#CHECK: vecb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xdb]
#CHECK: vecb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xdb]
#CHECK: vecb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xdb]
@@ -674,6 +930,22 @@
vech %v31, %v0
vech %v14, %v17
+#CHECK: vecl %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd9]
+#CHECK: vecl %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xd9]
+#CHECK: vecl %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd9]
+#CHECK: vecl %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd9]
+#CHECK: vecl %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xd9]
+#CHECK: vecl %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xd9]
+#CHECK: vecl %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xd9]
+
+ vecl %v0, %v0, 0
+ vecl %v0, %v0, 15
+ vecl %v0, %v15, 0
+ vecl %v0, %v31, 0
+ vecl %v15, %v0, 0
+ vecl %v31, %v0, 0
+ vecl %v14, %v17, 11
+
#CHECK: veclb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd9]
#CHECK: veclb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd9]
#CHECK: veclb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd9]
@@ -730,6 +1002,22 @@
veclh %v31, %v0
veclh %v14, %v17
+#CHECK: verim %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x72]
+#CHECK: verim %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x72]
+#CHECK: verim %v0, %v0, %v0, 255, 0 # encoding: [0xe7,0x00,0x00,0xff,0x00,0x72]
+#CHECK: verim %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x72]
+#CHECK: verim %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x72]
+#CHECK: verim %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x72]
+#CHECK: verim %v13, %v17, %v21, 121, 11 # encoding: [0xe7,0xd1,0x50,0x79,0xb6,0x72]
+
+ verim %v0, %v0, %v0, 0, 0
+ verim %v0, %v0, %v0, 0, 15
+ verim %v0, %v0, %v0, 255, 0
+ verim %v0, %v0, %v31, 0, 0
+ verim %v0, %v31, %v0, 0, 0
+ verim %v31, %v0, %v0, 0, 0
+ verim %v13, %v17, %v21, 0x79, 11
+
#CHECK: verimb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x72]
#CHECK: verimb %v0, %v0, %v0, 255 # encoding: [0xe7,0x00,0x00,0xff,0x00,0x72]
#CHECK: verimb %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x72]
@@ -786,6 +1074,20 @@
verimh %v31, %v0, %v0, 0
verimh %v13, %v17, %v21, 0x79
+#CHECK: verllv %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x73]
+#CHECK: verllv %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x73]
+#CHECK: verllv %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x73]
+#CHECK: verllv %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x73]
+#CHECK: verllv %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x73]
+#CHECK: verllv %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x73]
+
+ verllv %v0, %v0, %v0, 0
+ verllv %v0, %v0, %v0, 15
+ verllv %v0, %v0, %v31, 0
+ verllv %v0, %v31, %v0, 0
+ verllv %v31, %v0, %v0, 0
+ verllv %v18, %v3, %v20, 11
+
#CHECK: verllvb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x73]
#CHECK: verllvb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x73]
#CHECK: verllvb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x73]
@@ -834,6 +1136,22 @@
verllvh %v31, %v0, %v0
verllvh %v18, %v3, %v20
+#CHECK: verll %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x33]
+#CHECK: verll %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x33]
+#CHECK: verll %v0, %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x33]
+#CHECK: verll %v0, %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x33]
+#CHECK: verll %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x33]
+#CHECK: verll %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x33]
+#CHECK: verll %v14, %v17, 1074(%r5), 11 # encoding: [0xe7,0xe1,0x54,0x32,0xb4,0x33]
+
+ verll %v0, %v0, 0, 0
+ verll %v0, %v0, 0, 15
+ verll %v0, %v0, 4095, 0
+ verll %v0, %v0, 0(%r15), 0
+ verll %v0, %v31, 0, 0
+ verll %v31, %v0, 0, 0
+ verll %v14, %v17, 1074(%r5), 11
+
#CHECK: verllb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x33]
#CHECK: verllb %v0, %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x33]
#CHECK: verllb %v0, %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x33]
@@ -890,6 +1208,20 @@
verllh %v31, %v0, 0
verllh %v14, %v17, 1074(%r5)
+#CHECK: veslv %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x70]
+#CHECK: veslv %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x70]
+#CHECK: veslv %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x70]
+#CHECK: veslv %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x70]
+#CHECK: veslv %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x70]
+#CHECK: veslv %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x70]
+
+ veslv %v0, %v0, %v0, 0
+ veslv %v0, %v0, %v0, 15
+ veslv %v0, %v0, %v31, 0
+ veslv %v0, %v31, %v0, 0
+ veslv %v31, %v0, %v0, 0
+ veslv %v18, %v3, %v20, 11
+
#CHECK: veslvb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x70]
#CHECK: veslvb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x70]
#CHECK: veslvb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x70]
@@ -938,6 +1270,22 @@
veslvh %v31, %v0, %v0
veslvh %v18, %v3, %v20
+#CHECK: vesl %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x30]
+#CHECK: vesl %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x30]
+#CHECK: vesl %v0, %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x30]
+#CHECK: vesl %v0, %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x30]
+#CHECK: vesl %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x30]
+#CHECK: vesl %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x30]
+#CHECK: vesl %v14, %v17, 1074(%r5), 11 # encoding: [0xe7,0xe1,0x54,0x32,0xb4,0x30]
+
+ vesl %v0, %v0, 0, 0
+ vesl %v0, %v0, 0, 15
+ vesl %v0, %v0, 4095, 0
+ vesl %v0, %v0, 0(%r15), 0
+ vesl %v0, %v31, 0, 0
+ vesl %v31, %v0, 0, 0
+ vesl %v14, %v17, 1074(%r5), 11
+
#CHECK: veslb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x30]
#CHECK: veslb %v0, %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x30]
#CHECK: veslb %v0, %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x30]
@@ -994,6 +1342,20 @@
veslh %v31, %v0, 0
veslh %v14, %v17, 1074(%r5)
+#CHECK: vesrav %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x7a]
+#CHECK: vesrav %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x7a]
+#CHECK: vesrav %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x7a]
+#CHECK: vesrav %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x7a]
+#CHECK: vesrav %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x7a]
+#CHECK: vesrav %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x7a]
+
+ vesrav %v0, %v0, %v0, 0
+ vesrav %v0, %v0, %v0, 15
+ vesrav %v0, %v0, %v31, 0
+ vesrav %v0, %v31, %v0, 0
+ vesrav %v31, %v0, %v0, 0
+ vesrav %v18, %v3, %v20, 11
+
#CHECK: vesravb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x7a]
#CHECK: vesravb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x7a]
#CHECK: vesravb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x7a]
@@ -1042,6 +1404,22 @@
vesravh %v31, %v0, %v0
vesravh %v18, %v3, %v20
+#CHECK: vesra %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x3a]
+#CHECK: vesra %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x3a]
+#CHECK: vesra %v0, %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x3a]
+#CHECK: vesra %v0, %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x3a]
+#CHECK: vesra %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x3a]
+#CHECK: vesra %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x3a]
+#CHECK: vesra %v14, %v17, 1074(%r5), 11 # encoding: [0xe7,0xe1,0x54,0x32,0xb4,0x3a]
+
+ vesra %v0, %v0, 0, 0
+ vesra %v0, %v0, 0, 15
+ vesra %v0, %v0, 4095, 0
+ vesra %v0, %v0, 0(%r15), 0
+ vesra %v0, %v31, 0, 0
+ vesra %v31, %v0, 0, 0
+ vesra %v14, %v17, 1074(%r5), 11
+
#CHECK: vesrab %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x3a]
#CHECK: vesrab %v0, %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x3a]
#CHECK: vesrab %v0, %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x3a]
@@ -1098,6 +1476,20 @@
vesrah %v31, %v0, 0
vesrah %v14, %v17, 1074(%r5)
+#CHECK: vesrlv %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x78]
+#CHECK: vesrlv %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x78]
+#CHECK: vesrlv %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x78]
+#CHECK: vesrlv %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x78]
+#CHECK: vesrlv %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x78]
+#CHECK: vesrlv %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x78]
+
+ vesrlv %v0, %v0, %v0, 0
+ vesrlv %v0, %v0, %v0, 15
+ vesrlv %v0, %v0, %v31, 0
+ vesrlv %v0, %v31, %v0, 0
+ vesrlv %v31, %v0, %v0, 0
+ vesrlv %v18, %v3, %v20, 11
+
#CHECK: vesrlvb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x78]
#CHECK: vesrlvb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x78]
#CHECK: vesrlvb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x78]
@@ -1146,6 +1538,22 @@
vesrlvh %v31, %v0, %v0
vesrlvh %v18, %v3, %v20
+#CHECK: vesrl %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x38]
+#CHECK: vesrl %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x38]
+#CHECK: vesrl %v0, %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x38]
+#CHECK: vesrl %v0, %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x38]
+#CHECK: vesrl %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x38]
+#CHECK: vesrl %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x38]
+#CHECK: vesrl %v14, %v17, 1074(%r5), 11 # encoding: [0xe7,0xe1,0x54,0x32,0xb4,0x38]
+
+ vesrl %v0, %v0, 0, 0
+ vesrl %v0, %v0, 0, 15
+ vesrl %v0, %v0, 4095, 0
+ vesrl %v0, %v0, 0(%r15), 0
+ vesrl %v0, %v31, 0, 0
+ vesrl %v31, %v0, 0, 0
+ vesrl %v14, %v17, 1074(%r5), 11
+
#CHECK: vesrlb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x38]
#CHECK: vesrlb %v0, %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x38]
#CHECK: vesrlb %v0, %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x38]
@@ -1202,6 +1610,22 @@
vesrlh %v31, %v0, 0
vesrlh %v14, %v17, 1074(%r5)
+#CHECK: vfa %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xe3]
+#CHECK: vfa %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xe3]
+#CHECK: vfa %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xe3]
+#CHECK: vfa %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xe3]
+#CHECK: vfa %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xe3]
+#CHECK: vfa %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xe3]
+#CHECK: vfa %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x09,0xba,0xe3]
+
+ vfa %v0, %v0, %v0, 0, 0
+ vfa %v0, %v0, %v0, 15, 0
+ vfa %v0, %v0, %v0, 0, 15
+ vfa %v0, %v0, %v31, 0, 0
+ vfa %v0, %v31, %v0, 0, 0
+ vfa %v31, %v0, %v0, 0, 0
+ vfa %v18, %v3, %v20, 11, 9
+
#CHECK: vfadb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xe3]
#CHECK: vfadb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xe3]
#CHECK: vfadb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xe3]
@@ -1214,6 +1638,34 @@
vfadb %v31, %v0, %v0
vfadb %v18, %v3, %v20
+#CHECK: vfae %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x82]
+#CHECK: vfae %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x82]
+#CHECK: vfae %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x82]
+#CHECK: vfae %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x82]
+#CHECK: vfae %v0, %v0, %v0, 0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x82]
+#CHECK: vfae %v0, %v0, %v15, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x82]
+#CHECK: vfae %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x82]
+#CHECK: vfae %v0, %v15, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x82]
+#CHECK: vfae %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x82]
+#CHECK: vfae %v15, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x82]
+#CHECK: vfae %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x82]
+#CHECK: vfae %v18, %v3, %v20, 11, 4 # encoding: [0xe7,0x23,0x40,0x40,0xba,0x82]
+#CHECK: vfae %v18, %v3, %v20, 0, 15 # encoding: [0xe7,0x23,0x40,0xf0,0x0a,0x82]
+
+ vfae %v0, %v0, %v0, 0
+ vfae %v0, %v0, %v0, 15
+ vfae %v0, %v0, %v0, 0, 0
+ vfae %v0, %v0, %v0, 15, 0
+ vfae %v0, %v0, %v0, 0, 12
+ vfae %v0, %v0, %v15, 0
+ vfae %v0, %v0, %v31, 0
+ vfae %v0, %v15, %v0, 0
+ vfae %v0, %v31, %v0, 0
+ vfae %v15, %v0, %v0, 0
+ vfae %v31, %v0, %v0, 0
+ vfae %v18, %v3, %v20, 11, 4
+ vfae %v18, %v3, %v20, 0, 15
+
#CHECK: vfaeb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x82]
#CHECK: vfaeb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x82]
#CHECK: vfaeb %v0, %v0, %v0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x82]
@@ -1310,6 +1762,24 @@
vfaezhs %v18, %v3, %v20, 8
vfaezhs %v18, %v3, %v20, 15
+#CHECK: vfce %v0, %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xe8]
+#CHECK: vfce %v0, %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xe8]
+#CHECK: vfce %v0, %v0, %v0, 0, 15, 0 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xe8]
+#CHECK: vfce %v0, %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xe8]
+#CHECK: vfce %v0, %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xe8]
+#CHECK: vfce %v0, %v31, %v0, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xe8]
+#CHECK: vfce %v31, %v0, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xe8]
+#CHECK: vfce %v18, %v3, %v20, 11, 9, 7 # encoding: [0xe7,0x23,0x40,0x79,0xba,0xe8]
+
+ vfce %v0, %v0, %v0, 0, 0, 0
+ vfce %v0, %v0, %v0, 15, 0, 0
+ vfce %v0, %v0, %v0, 0, 15, 0
+ vfce %v0, %v0, %v0, 0, 0, 15
+ vfce %v0, %v0, %v31, 0, 0, 0
+ vfce %v0, %v31, %v0, 0, 0, 0
+ vfce %v31, %v0, %v0, 0, 0, 0
+ vfce %v18, %v3, %v20, 11, 9, 7
+
#CHECK: vfcedb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xe8]
#CHECK: vfcedb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xe8]
#CHECK: vfcedb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xe8]
@@ -1334,6 +1804,24 @@
vfcedbs %v31, %v0, %v0
vfcedbs %v18, %v3, %v20
+#CHECK: vfch %v0, %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xeb]
+#CHECK: vfch %v0, %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xeb]
+#CHECK: vfch %v0, %v0, %v0, 0, 15, 0 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xeb]
+#CHECK: vfch %v0, %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xeb]
+#CHECK: vfch %v0, %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xeb]
+#CHECK: vfch %v0, %v31, %v0, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xeb]
+#CHECK: vfch %v31, %v0, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xeb]
+#CHECK: vfch %v18, %v3, %v20, 11, 9, 7 # encoding: [0xe7,0x23,0x40,0x79,0xba,0xeb]
+
+ vfch %v0, %v0, %v0, 0, 0, 0
+ vfch %v0, %v0, %v0, 15, 0, 0
+ vfch %v0, %v0, %v0, 0, 15, 0
+ vfch %v0, %v0, %v0, 0, 0, 15
+ vfch %v0, %v0, %v31, 0, 0, 0
+ vfch %v0, %v31, %v0, 0, 0, 0
+ vfch %v31, %v0, %v0, 0, 0, 0
+ vfch %v18, %v3, %v20, 11, 9, 7
+
#CHECK: vfchdb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xeb]
#CHECK: vfchdb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xeb]
#CHECK: vfchdb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xeb]
@@ -1358,6 +1846,24 @@
vfchdbs %v31, %v0, %v0
vfchdbs %v18, %v3, %v20
+#CHECK: vfche %v0, %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xea]
+#CHECK: vfche %v0, %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xea]
+#CHECK: vfche %v0, %v0, %v0, 0, 15, 0 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xea]
+#CHECK: vfche %v0, %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xea]
+#CHECK: vfche %v0, %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xea]
+#CHECK: vfche %v0, %v31, %v0, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xea]
+#CHECK: vfche %v31, %v0, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xea]
+#CHECK: vfche %v18, %v3, %v20, 11, 9, 7 # encoding: [0xe7,0x23,0x40,0x79,0xba,0xea]
+
+ vfche %v0, %v0, %v0, 0, 0, 0
+ vfche %v0, %v0, %v0, 15, 0, 0
+ vfche %v0, %v0, %v0, 0, 15, 0
+ vfche %v0, %v0, %v0, 0, 0, 15
+ vfche %v0, %v0, %v31, 0, 0, 0
+ vfche %v0, %v31, %v0, 0, 0, 0
+ vfche %v31, %v0, %v0, 0, 0, 0
+ vfche %v18, %v3, %v20, 11, 9, 7
+
#CHECK: vfchedb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xea]
#CHECK: vfchedb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xea]
#CHECK: vfchedb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xea]
@@ -1382,6 +1888,22 @@
vfchedbs %v31, %v0, %v0
vfchedbs %v18, %v3, %v20
+#CHECK: vfd %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xe5]
+#CHECK: vfd %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xe5]
+#CHECK: vfd %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xe5]
+#CHECK: vfd %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xe5]
+#CHECK: vfd %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xe5]
+#CHECK: vfd %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xe5]
+#CHECK: vfd %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x09,0xba,0xe5]
+
+ vfd %v0, %v0, %v0, 0, 0
+ vfd %v0, %v0, %v0, 15, 0
+ vfd %v0, %v0, %v0, 0, 15
+ vfd %v0, %v0, %v31, 0, 0
+ vfd %v0, %v31, %v0, 0, 0
+ vfd %v31, %v0, %v0, 0, 0
+ vfd %v18, %v3, %v20, 11, 9
+
#CHECK: vfddb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xe5]
#CHECK: vfddb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xe5]
#CHECK: vfddb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xe5]
@@ -1394,6 +1916,34 @@
vfddb %v31, %v0, %v0
vfddb %v18, %v3, %v20
+#CHECK: vfee %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x80]
+#CHECK: vfee %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x80]
+#CHECK: vfee %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x80]
+#CHECK: vfee %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x80]
+#CHECK: vfee %v0, %v0, %v0, 0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x80]
+#CHECK: vfee %v0, %v0, %v15, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x80]
+#CHECK: vfee %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x80]
+#CHECK: vfee %v0, %v15, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x80]
+#CHECK: vfee %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x80]
+#CHECK: vfee %v15, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x80]
+#CHECK: vfee %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x80]
+#CHECK: vfee %v18, %v3, %v20, 11, 4 # encoding: [0xe7,0x23,0x40,0x40,0xba,0x80]
+#CHECK: vfee %v18, %v3, %v20, 0, 15 # encoding: [0xe7,0x23,0x40,0xf0,0x0a,0x80]
+
+ vfee %v0, %v0, %v0, 0
+ vfee %v0, %v0, %v0, 15
+ vfee %v0, %v0, %v0, 0, 0
+ vfee %v0, %v0, %v0, 15, 0
+ vfee %v0, %v0, %v0, 0, 12
+ vfee %v0, %v0, %v15, 0
+ vfee %v0, %v0, %v31, 0
+ vfee %v0, %v15, %v0, 0
+ vfee %v0, %v31, %v0, 0
+ vfee %v15, %v0, %v0, 0
+ vfee %v31, %v0, %v0, 0
+ vfee %v18, %v3, %v20, 11, 4
+ vfee %v18, %v3, %v20, 0, 15
+
#CHECK: vfeeb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x80]
#CHECK: vfeeb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x80]
#CHECK: vfeeb %v0, %v0, %v0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x80]
@@ -1478,6 +2028,34 @@
vfeezh %v18, %v3, %v20
vfeezhs %v5, %v22, %v7
+#CHECK: vfene %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x81]
+#CHECK: vfene %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x81]
+#CHECK: vfene %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x81]
+#CHECK: vfene %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x81]
+#CHECK: vfene %v0, %v0, %v0, 0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x81]
+#CHECK: vfene %v0, %v0, %v15, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x81]
+#CHECK: vfene %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x81]
+#CHECK: vfene %v0, %v15, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x81]
+#CHECK: vfene %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x81]
+#CHECK: vfene %v15, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x81]
+#CHECK: vfene %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x81]
+#CHECK: vfene %v18, %v3, %v20, 11, 4 # encoding: [0xe7,0x23,0x40,0x40,0xba,0x81]
+#CHECK: vfene %v18, %v3, %v20, 0, 15 # encoding: [0xe7,0x23,0x40,0xf0,0x0a,0x81]
+
+ vfene %v0, %v0, %v0, 0
+ vfene %v0, %v0, %v0, 15
+ vfene %v0, %v0, %v0, 0, 0
+ vfene %v0, %v0, %v0, 15, 0
+ vfene %v0, %v0, %v0, 0, 12
+ vfene %v0, %v0, %v15, 0
+ vfene %v0, %v0, %v31, 0
+ vfene %v0, %v15, %v0, 0
+ vfene %v0, %v31, %v0, 0
+ vfene %v15, %v0, %v0, 0
+ vfene %v31, %v0, %v0, 0
+ vfene %v18, %v3, %v20, 11, 4
+ vfene %v18, %v3, %v20, 0, 15
+
#CHECK: vfeneb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x81]
#CHECK: vfeneb %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x81]
#CHECK: vfeneb %v0, %v0, %v0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x81]
@@ -1562,6 +2140,24 @@
vfenezh %v18, %v3, %v20
vfenezhs %v5, %v22, %v7
+#CHECK: vfi %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc7]
+#CHECK: vfi %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc7]
+#CHECK: vfi %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xc7]
+#CHECK: vfi %v0, %v0, 0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x00,0xc7]
+#CHECK: vfi %v0, %v0, 0, 12, 0 # encoding: [0xe7,0x00,0x00,0x0c,0x00,0xc7]
+#CHECK: vfi %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc7]
+#CHECK: vfi %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc7]
+#CHECK: vfi %v14, %v17, 11, 4, 10 # encoding: [0xe7,0xe1,0x00,0xa4,0xb4,0xc7]
+
+ vfi %v0, %v0, 0, 0, 0
+ vfi %v0, %v0, 15, 0, 0
+ vfi %v0, %v0, 0, 0, 15
+ vfi %v0, %v0, 0, 4, 0
+ vfi %v0, %v0, 0, 12, 0
+ vfi %v0, %v31, 0, 0, 0
+ vfi %v31, %v0, 0, 0, 0
+ vfi %v14, %v17, 11, 4, 10
+
#CHECK: vfidb %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xc7]
#CHECK: vfidb %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xc7]
#CHECK: vfidb %v0, %v0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x30,0xc7]
@@ -1578,6 +2174,28 @@
vfidb %v31, %v0, 0, 0
vfidb %v14, %v17, 4, 10
+#CHECK: vistr %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x5c]
+#CHECK: vistr %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x5c]
+#CHECK: vistr %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x5c]
+#CHECK: vistr %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x5c]
+#CHECK: vistr %v0, %v0, 0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x5c]
+#CHECK: vistr %v0, %v15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x5c]
+#CHECK: vistr %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x5c]
+#CHECK: vistr %v15, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x5c]
+#CHECK: vistr %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x5c]
+#CHECK: vistr %v18, %v3, 11, 9 # encoding: [0xe7,0x23,0x00,0x90,0xb8,0x5c]
+
+ vistr %v0, %v0, 0
+ vistr %v0, %v0, 15
+ vistr %v0, %v0, 0, 0
+ vistr %v0, %v0, 15, 0
+ vistr %v0, %v0, 0, 12
+ vistr %v0, %v15, 0
+ vistr %v0, %v31, 0
+ vistr %v15, %v0, 0
+ vistr %v31, %v0, 0
+ vistr %v18, %v3, 11, 9
+
#CHECK: vistrb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x5c]
#CHECK: vistrb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x5c]
#CHECK: vistrb %v0, %v0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x5c]
@@ -1638,6 +2256,41 @@
vistrh %v18, %v3
vistrhs %v5, %v22
+#CHECK: vfpso %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xcc]
+#CHECK: vfpso %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xcc]
+#CHECK: vfpso %v0, %v0, 0, 15, 0 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xcc]
+#CHECK: vfpso %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xcc]
+#CHECK: vfpso %v0, %v15, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xcc]
+#CHECK: vfpso %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xcc]
+#CHECK: vfpso %v15, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xcc]
+#CHECK: vfpso %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xcc]
+#CHECK: vfpso %v14, %v17, 11, 9, 7 # encoding: [0xe7,0xe1,0x00,0x79,0xb4,0xcc]
+
+ vfpso %v0, %v0, 0, 0, 0
+ vfpso %v0, %v0, 15, 0, 0
+ vfpso %v0, %v0, 0, 15, 0
+ vfpso %v0, %v0, 0, 0, 15
+ vfpso %v0, %v15, 0, 0, 0
+ vfpso %v0, %v31, 0, 0, 0
+ vfpso %v15, %v0, 0, 0, 0
+ vfpso %v31, %v0, 0, 0, 0
+ vfpso %v14, %v17, 11, 9, 7
+
+#CHECK: vfpsodb %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xcc]
+#CHECK: vfpsodb %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x30,0xcc]
+#CHECK: vfpsodb %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xcc]
+#CHECK: vfpsodb %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x30,0xcc]
+#CHECK: vfpsodb %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x38,0xcc]
+#CHECK: vfpsodb %v14, %v17, 7 # encoding: [0xe7,0xe1,0x00,0x70,0x34,0xcc]
+
+ vfpsodb %v0, %v0, 0
+ vfpsodb %v0, %v0, 15
+ vfpsodb %v0, %v15, 0
+ vfpsodb %v0, %v31, 0
+ vfpsodb %v15, %v0, 0
+ vfpsodb %v31, %v0, 0
+ vfpsodb %v14, %v17, 7
+
#CHECK: vflcdb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xcc]
#CHECK: vflcdb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x30,0xcc]
#CHECK: vflcdb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xcc]
@@ -1680,6 +2333,24 @@
vflpdb %v31, %v0
vflpdb %v14, %v17
+#CHECK: vfma %v0, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x8f]
+#CHECK: vfma %v0, %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0x8f]
+#CHECK: vfma %v0, %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0x8f]
+#CHECK: vfma %v0, %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0x8f]
+#CHECK: vfma %v0, %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x8f]
+#CHECK: vfma %v0, %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x8f]
+#CHECK: vfma %v31, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x8f]
+#CHECK: vfma %v13, %v17, %v21, %v25, 9, 11 # encoding: [0xe7,0xd1,0x5b,0x09,0x97,0x8f]
+
+ vfma %v0, %v0, %v0, %v0, 0, 0
+ vfma %v0, %v0, %v0, %v0, 0, 15
+ vfma %v0, %v0, %v0, %v0, 15, 0
+ vfma %v0, %v0, %v0, %v31, 0, 0
+ vfma %v0, %v0, %v31, %v0, 0, 0
+ vfma %v0, %v31, %v0, %v0, 0, 0
+ vfma %v31, %v0, %v0, %v0, 0, 0
+ vfma %v13, %v17, %v21, %v25, 9, 11
+
#CHECK: vfmadb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x03,0x00,0x00,0x8f]
#CHECK: vfmadb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x03,0x00,0xf1,0x8f]
#CHECK: vfmadb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf3,0x00,0x02,0x8f]
@@ -1694,6 +2365,22 @@
vfmadb %v31, %v0, %v0, %v0
vfmadb %v13, %v17, %v21, %v25
+#CHECK: vfm %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xe7]
+#CHECK: vfm %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xe7]
+#CHECK: vfm %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xe7]
+#CHECK: vfm %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xe7]
+#CHECK: vfm %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xe7]
+#CHECK: vfm %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xe7]
+#CHECK: vfm %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x09,0xba,0xe7]
+
+ vfm %v0, %v0, %v0, 0, 0
+ vfm %v0, %v0, %v0, 15, 0
+ vfm %v0, %v0, %v0, 0, 15
+ vfm %v0, %v0, %v31, 0, 0
+ vfm %v0, %v31, %v0, 0, 0
+ vfm %v31, %v0, %v0, 0, 0
+ vfm %v18, %v3, %v20, 11, 9
+
#CHECK: vfmdb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xe7]
#CHECK: vfmdb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xe7]
#CHECK: vfmdb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xe7]
@@ -1706,6 +2393,24 @@
vfmdb %v31, %v0, %v0
vfmdb %v18, %v3, %v20
+#CHECK: vfms %v0, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x8e]
+#CHECK: vfms %v0, %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0x8e]
+#CHECK: vfms %v0, %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0x8e]
+#CHECK: vfms %v0, %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0x8e]
+#CHECK: vfms %v0, %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x8e]
+#CHECK: vfms %v0, %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x8e]
+#CHECK: vfms %v31, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x8e]
+#CHECK: vfms %v13, %v17, %v21, %v25, 9, 11 # encoding: [0xe7,0xd1,0x5b,0x09,0x97,0x8e]
+
+ vfms %v0, %v0, %v0, %v0, 0, 0
+ vfms %v0, %v0, %v0, %v0, 0, 15
+ vfms %v0, %v0, %v0, %v0, 15, 0
+ vfms %v0, %v0, %v0, %v31, 0, 0
+ vfms %v0, %v0, %v31, %v0, 0, 0
+ vfms %v0, %v31, %v0, %v0, 0, 0
+ vfms %v31, %v0, %v0, %v0, 0, 0
+ vfms %v13, %v17, %v21, %v25, 9, 11
+
#CHECK: vfmsdb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x03,0x00,0x00,0x8e]
#CHECK: vfmsdb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x03,0x00,0xf1,0x8e]
#CHECK: vfmsdb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf3,0x00,0x02,0x8e]
@@ -1720,6 +2425,22 @@
vfmsdb %v31, %v0, %v0, %v0
vfmsdb %v13, %v17, %v21, %v25
+#CHECK: vfs %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xe2]
+#CHECK: vfs %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xe2]
+#CHECK: vfs %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xe2]
+#CHECK: vfs %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xe2]
+#CHECK: vfs %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xe2]
+#CHECK: vfs %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xe2]
+#CHECK: vfs %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x09,0xba,0xe2]
+
+ vfs %v0, %v0, %v0, 0, 0
+ vfs %v0, %v0, %v0, 15, 0
+ vfs %v0, %v0, %v0, 0, 15
+ vfs %v0, %v0, %v31, 0, 0
+ vfs %v0, %v31, %v0, 0, 0
+ vfs %v31, %v0, %v0, 0, 0
+ vfs %v18, %v3, %v20, 11, 9
+
#CHECK: vfsdb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xe2]
#CHECK: vfsdb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x32,0xe2]
#CHECK: vfsdb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xe2]
@@ -1732,6 +2453,24 @@
vfsdb %v31, %v0, %v0
vfsdb %v18, %v3, %v20
+#CHECK: vfsq %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xce]
+#CHECK: vfsq %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xce]
+#CHECK: vfsq %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xce]
+#CHECK: vfsq %v0, %v15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xce]
+#CHECK: vfsq %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xce]
+#CHECK: vfsq %v15, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xce]
+#CHECK: vfsq %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xce]
+#CHECK: vfsq %v14, %v17, 11, 9 # encoding: [0xe7,0xe1,0x00,0x09,0xb4,0xce]
+
+ vfsq %v0, %v0, 0, 0
+ vfsq %v0, %v0, 15, 0
+ vfsq %v0, %v0, 0, 15
+ vfsq %v0, %v15, 0, 0
+ vfsq %v0, %v31, 0, 0
+ vfsq %v15, %v0, 0, 0
+ vfsq %v31, %v0, 0, 0
+ vfsq %v14, %v17, 11, 9
+
#CHECK: vfsqdb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xce]
#CHECK: vfsqdb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x30,0xce]
#CHECK: vfsqdb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x34,0xce]
@@ -1746,6 +2485,26 @@
vfsqdb %v31, %v0
vfsqdb %v14, %v17
+#CHECK: vftci %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x4a]
+#CHECK: vftci %v0, %v0, 0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x4a]
+#CHECK: vftci %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0x4a]
+#CHECK: vftci %v0, %v0, 4095, 0, 0 # encoding: [0xe7,0x00,0xff,0xf0,0x00,0x4a]
+#CHECK: vftci %v0, %v15, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x4a]
+#CHECK: vftci %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x4a]
+#CHECK: vftci %v15, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x4a]
+#CHECK: vftci %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x4a]
+#CHECK: vftci %v4, %v21, 1656, 11, 9 # encoding: [0xe7,0x45,0x67,0x89,0xb4,0x4a]
+
+ vftci %v0, %v0, 0, 0, 0
+ vftci %v0, %v0, 0, 15, 0
+ vftci %v0, %v0, 0, 0, 15
+ vftci %v0, %v0, 4095, 0, 0
+ vftci %v0, %v15, 0, 0, 0
+ vftci %v0, %v31, 0, 0, 0
+ vftci %v15, %v0, 0, 0, 0
+ vftci %v31, %v0, 0, 0, 0
+ vftci %v4, %v21, 0x678, 11, 9
+
#CHECK: vftcidb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0x4a]
#CHECK: vftcidb %v0, %v0, 4095 # encoding: [0xe7,0x00,0xff,0xf0,0x30,0x4a]
#CHECK: vftcidb %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x30,0x4a]
@@ -1818,6 +2577,22 @@
vgeg %v31, 0(%v0,%r1), 0
vgeg %v10, 1000(%v19,%r7), 1
+#CHECK: vgfma %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xbc]
+#CHECK: vgfma %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xbc]
+#CHECK: vgfma %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xbc]
+#CHECK: vgfma %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xbc]
+#CHECK: vgfma %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xbc]
+#CHECK: vgfma %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xbc]
+#CHECK: vgfma %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xbc]
+
+ vgfma %v0, %v0, %v0, %v0, 0
+ vgfma %v0, %v0, %v0, %v0, 15
+ vgfma %v0, %v0, %v0, %v31, 0
+ vgfma %v0, %v0, %v31, %v0, 0
+ vgfma %v0, %v31, %v0, %v0, 0
+ vgfma %v31, %v0, %v0, %v0, 0
+ vgfma %v13, %v17, %v21, %v25, 11
+
#CHECK: vgfmab %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xbc]
#CHECK: vgfmab %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xbc]
#CHECK: vgfmab %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xbc]
@@ -1874,6 +2649,20 @@
vgfmah %v31, %v0, %v0, %v0
vgfmah %v13, %v17, %v21, %v25
+#CHECK: vgfm %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xb4]
+#CHECK: vgfm %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xb4]
+#CHECK: vgfm %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xb4]
+#CHECK: vgfm %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xb4]
+#CHECK: vgfm %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xb4]
+#CHECK: vgfm %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xb4]
+
+ vgfm %v0, %v0, %v0, 0
+ vgfm %v0, %v0, %v0, 15
+ vgfm %v0, %v0, %v31, 0
+ vgfm %v0, %v31, %v0, 0
+ vgfm %v31, %v0, %v0, 0
+ vgfm %v18, %v3, %v20, 11
+
#CHECK: vgfmb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xb4]
#CHECK: vgfmb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xb4]
#CHECK: vgfmb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xb4]
@@ -1922,6 +2711,22 @@
vgfmh %v31, %v0, %v0
vgfmh %v18, %v3, %v20
+#CHECK: vgm %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x46]
+#CHECK: vgm %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x46]
+#CHECK: vgm %v0, 0, 255, 0 # encoding: [0xe7,0x00,0x00,0xff,0x00,0x46]
+#CHECK: vgm %v0, 255, 0, 0 # encoding: [0xe7,0x00,0xff,0x00,0x00,0x46]
+#CHECK: vgm %v15, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x46]
+#CHECK: vgm %v31, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x46]
+#CHECK: vgm %v21, 2, 3, 11 # encoding: [0xe7,0x50,0x02,0x03,0xb8,0x46]
+
+ vgm %v0, 0, 0, 0
+ vgm %v0, 0, 0, 15
+ vgm %v0, 0, 255, 0
+ vgm %v0, 255, 0, 0
+ vgm %v15, 0, 0, 0
+ vgm %v31, 0, 0, 0
+ vgm %v21, 2, 3, 11
+
#CHECK: vgmb %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x46]
#CHECK: vgmb %v0, 0, 255 # encoding: [0xe7,0x00,0x00,0xff,0x00,0x46]
#CHECK: vgmb %v0, 255, 0 # encoding: [0xe7,0x00,0xff,0x00,0x00,0x46]
@@ -2012,6 +2817,22 @@
vlbb %v31, 0, 0
vlbb %v18, 1383(%r3,%r4), 8
+#CHECK: vlc %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xde]
+#CHECK: vlc %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xde]
+#CHECK: vlc %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xde]
+#CHECK: vlc %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xde]
+#CHECK: vlc %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xde]
+#CHECK: vlc %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xde]
+#CHECK: vlc %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xde]
+
+ vlc %v0, %v0, 0
+ vlc %v0, %v0, 15
+ vlc %v0, %v15, 0
+ vlc %v0, %v31, 0
+ vlc %v15, %v0, 0
+ vlc %v31, %v0, 0
+ vlc %v14, %v17, 11
+
#CHECK: vlcb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xde]
#CHECK: vlcb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xde]
#CHECK: vlcb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xde]
@@ -2068,6 +2889,24 @@
vlch %v31, %v0
vlch %v14, %v17
+#CHECK: vlde %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc4]
+#CHECK: vlde %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc4]
+#CHECK: vlde %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xc4]
+#CHECK: vlde %v0, %v15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xc4]
+#CHECK: vlde %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc4]
+#CHECK: vlde %v15, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xc4]
+#CHECK: vlde %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc4]
+#CHECK: vlde %v14, %v17, 11, 9 # encoding: [0xe7,0xe1,0x00,0x09,0xb4,0xc4]
+
+ vlde %v0, %v0, 0, 0
+ vlde %v0, %v0, 15, 0
+ vlde %v0, %v0, 0, 15
+ vlde %v0, %v15, 0, 0
+ vlde %v0, %v31, 0, 0
+ vlde %v15, %v0, 0, 0
+ vlde %v31, %v0, 0, 0
+ vlde %v14, %v17, 11, 9
+
#CHECK: vldeb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x20,0xc4]
#CHECK: vldeb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x20,0xc4]
#CHECK: vldeb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x24,0xc4]
@@ -2100,6 +2939,24 @@
vleb %v31, 0, 0
vleb %v18, 1383(%r3,%r4), 8
+#CHECK: vled %v0, %v0, 0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xc5]
+#CHECK: vled %v0, %v0, 15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xc5]
+#CHECK: vled %v0, %v0, 0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0xc5]
+#CHECK: vled %v0, %v0, 0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x00,0xc5]
+#CHECK: vled %v0, %v0, 0, 12, 0 # encoding: [0xe7,0x00,0x00,0x0c,0x00,0xc5]
+#CHECK: vled %v0, %v31, 0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xc5]
+#CHECK: vled %v31, %v0, 0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xc5]
+#CHECK: vled %v14, %v17, 11, 4, 10 # encoding: [0xe7,0xe1,0x00,0xa4,0xb4,0xc5]
+
+ vled %v0, %v0, 0, 0, 0
+ vled %v0, %v0, 15, 0, 0
+ vled %v0, %v0, 0, 0, 15
+ vled %v0, %v0, 0, 4, 0
+ vled %v0, %v0, 0, 12, 0
+ vled %v0, %v31, 0, 0, 0
+ vled %v31, %v0, 0, 0, 0
+ vled %v14, %v17, 11, 4, 10
+
#CHECK: vledb %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xc5]
#CHECK: vledb %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x30,0xc5]
#CHECK: vledb %v0, %v0, 4, 0 # encoding: [0xe7,0x00,0x00,0x04,0x30,0xc5]
@@ -2234,6 +3091,24 @@
vleih %v31, 0, 0
vleih %v18, 0x3456, 7
+#CHECK: vlgv %r0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x21]
+#CHECK: vlgv %r0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x21]
+#CHECK: vlgv %r0, %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x21]
+#CHECK: vlgv %r0, %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x21]
+#CHECK: vlgv %r0, %v15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x21]
+#CHECK: vlgv %r0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x21]
+#CHECK: vlgv %r15, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x21]
+#CHECK: vlgv %r2, %v19, 1383(%r4), 11 # encoding: [0xe7,0x23,0x45,0x67,0xb4,0x21]
+
+ vlgv %r0, %v0, 0, 0
+ vlgv %r0, %v0, 0, 15
+ vlgv %r0, %v0, 4095, 0
+ vlgv %r0, %v0, 0(%r15), 0
+ vlgv %r0, %v15, 0, 0
+ vlgv %r0, %v31, 0, 0
+ vlgv %r15, %v0, 0, 0
+ vlgv %r2, %v19, 1383(%r4), 11
+
#CHECK: vlgvb %r0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x21]
#CHECK: vlgvb %r0, %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x21]
#CHECK: vlgvb %r0, %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x21]
@@ -2314,6 +3189,24 @@
vll %v31, %r0, 0
vll %v18, %r3, 1383(%r4)
+#CHECK: vllez %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x04]
+#CHECK: vllez %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x04]
+#CHECK: vllez %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x04]
+#CHECK: vllez %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x04]
+#CHECK: vllez %v0, 0(%r15,%r1), 0 # encoding: [0xe7,0x0f,0x10,0x00,0x00,0x04]
+#CHECK: vllez %v15, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x04]
+#CHECK: vllez %v31, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x04]
+#CHECK: vllez %v18, 1383(%r3,%r4), 11 # encoding: [0xe7,0x23,0x45,0x67,0xb8,0x04]
+
+ vllez %v0, 0, 0
+ vllez %v0, 0, 15
+ vllez %v0, 4095, 0
+ vllez %v0, 0(%r15), 0
+ vllez %v0, 0(%r15,%r1), 0
+ vllez %v15, 0, 0
+ vllez %v31, 0, 0
+ vllez %v18, 0x567(%r3,%r4), 11
+
#CHECK: vllezb %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x04]
#CHECK: vllezb %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x04]
#CHECK: vllezb %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x04]
@@ -2392,6 +3285,22 @@
vlm %v31, %v0, 0
vlm %v14, %v17, 1074(%r5)
+#CHECK: vlp %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xdf]
+#CHECK: vlp %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xdf]
+#CHECK: vlp %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xdf]
+#CHECK: vlp %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xdf]
+#CHECK: vlp %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xdf]
+#CHECK: vlp %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xdf]
+#CHECK: vlp %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xdf]
+
+ vlp %v0, %v0, 0
+ vlp %v0, %v0, 15
+ vlp %v0, %v15, 0
+ vlp %v0, %v31, 0
+ vlp %v15, %v0, 0
+ vlp %v31, %v0, 0
+ vlp %v14, %v17, 11
+
#CHECK: vlpb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xdf]
#CHECK: vlpb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xdf]
#CHECK: vlpb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xdf]
@@ -2462,6 +3371,24 @@
vlr %v31, %v0
vlr %v14, %v17
+#CHECK: vlrep %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x05]
+#CHECK: vlrep %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x05]
+#CHECK: vlrep %v0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x05]
+#CHECK: vlrep %v0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x05]
+#CHECK: vlrep %v0, 0(%r15,%r1), 0 # encoding: [0xe7,0x0f,0x10,0x00,0x00,0x05]
+#CHECK: vlrep %v15, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x05]
+#CHECK: vlrep %v31, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x05]
+#CHECK: vlrep %v18, 1383(%r3,%r4), 11 # encoding: [0xe7,0x23,0x45,0x67,0xb8,0x05]
+
+ vlrep %v0, 0, 0
+ vlrep %v0, 0, 15
+ vlrep %v0, 4095, 0
+ vlrep %v0, 0(%r15), 0
+ vlrep %v0, 0(%r15,%r1), 0
+ vlrep %v15, 0, 0
+ vlrep %v31, 0, 0
+ vlrep %v18, 0x567(%r3,%r4), 11
+
#CHECK: vlrepb %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x05]
#CHECK: vlrepb %v0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x05]
#CHECK: vlrepb %v0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x05]
@@ -2526,6 +3453,24 @@
vlreph %v31, 0
vlreph %v18, 0x567(%r3,%r4)
+#CHECK: vlvg %v0, %r0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x22]
+#CHECK: vlvg %v0, %r0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x22]
+#CHECK: vlvg %v0, %r0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x22]
+#CHECK: vlvg %v0, %r0, 0(%r15), 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x22]
+#CHECK: vlvg %v0, %r15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x22]
+#CHECK: vlvg %v15, %r0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x22]
+#CHECK: vlvg %v31, %r0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x22]
+#CHECK: vlvg %v18, %r3, 1383(%r4), 11 # encoding: [0xe7,0x23,0x45,0x67,0xb8,0x22]
+
+ vlvg %v0, %r0, 0, 0
+ vlvg %v0, %r0, 0, 15
+ vlvg %v0, %r0, 4095, 0
+ vlvg %v0, %r0, 0(%r15), 0
+ vlvg %v0, %r15, 0, 0
+ vlvg %v15, %r0, 0, 0
+ vlvg %v31, %r0, 0, 0
+ vlvg %v18, %r3, 1383(%r4), 11
+
#CHECK: vlvgb %v0, %r0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x22]
#CHECK: vlvgb %v0, %r0, 4095 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x22]
#CHECK: vlvgb %v0, %r0, 0(%r15) # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x22]
@@ -2604,6 +3549,22 @@
vlvgp %v31, %r0, %r0
vlvgp %v18, %r3, %r4
+#CHECK: vmae %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xae]
+#CHECK: vmae %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xae]
+#CHECK: vmae %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xae]
+#CHECK: vmae %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xae]
+#CHECK: vmae %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xae]
+#CHECK: vmae %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xae]
+#CHECK: vmae %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xae]
+
+ vmae %v0, %v0, %v0, %v0, 0
+ vmae %v0, %v0, %v0, %v0, 15
+ vmae %v0, %v0, %v0, %v31, 0
+ vmae %v0, %v0, %v31, %v0, 0
+ vmae %v0, %v31, %v0, %v0, 0
+ vmae %v31, %v0, %v0, %v0, 0
+ vmae %v13, %v17, %v21, %v25, 11
+
#CHECK: vmaeb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xae]
#CHECK: vmaeb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xae]
#CHECK: vmaeb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xae]
@@ -2646,6 +3607,22 @@
vmaeh %v31, %v0, %v0, %v0
vmaeh %v13, %v17, %v21, %v25
+#CHECK: vmah %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xab]
+#CHECK: vmah %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xab]
+#CHECK: vmah %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xab]
+#CHECK: vmah %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xab]
+#CHECK: vmah %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xab]
+#CHECK: vmah %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xab]
+#CHECK: vmah %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xab]
+
+ vmah %v0, %v0, %v0, %v0, 0
+ vmah %v0, %v0, %v0, %v0, 15
+ vmah %v0, %v0, %v0, %v31, 0
+ vmah %v0, %v0, %v31, %v0, 0
+ vmah %v0, %v31, %v0, %v0, 0
+ vmah %v31, %v0, %v0, %v0, 0
+ vmah %v13, %v17, %v21, %v25, 11
+
#CHECK: vmahb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xab]
#CHECK: vmahb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xab]
#CHECK: vmahb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xab]
@@ -2688,6 +3665,22 @@
vmahh %v31, %v0, %v0, %v0
vmahh %v13, %v17, %v21, %v25
+#CHECK: vmal %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xaa]
+#CHECK: vmal %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xaa]
+#CHECK: vmal %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xaa]
+#CHECK: vmal %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xaa]
+#CHECK: vmal %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xaa]
+#CHECK: vmal %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xaa]
+#CHECK: vmal %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xaa]
+
+ vmal %v0, %v0, %v0, %v0, 0
+ vmal %v0, %v0, %v0, %v0, 15
+ vmal %v0, %v0, %v0, %v31, 0
+ vmal %v0, %v0, %v31, %v0, 0
+ vmal %v0, %v31, %v0, %v0, 0
+ vmal %v31, %v0, %v0, %v0, 0
+ vmal %v13, %v17, %v21, %v25, 11
+
#CHECK: vmalb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xaa]
#CHECK: vmalb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xaa]
#CHECK: vmalb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xaa]
@@ -2702,6 +3695,22 @@
vmalb %v31, %v0, %v0, %v0
vmalb %v13, %v17, %v21, %v25
+#CHECK: vmale %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xac]
+#CHECK: vmale %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xac]
+#CHECK: vmale %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xac]
+#CHECK: vmale %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xac]
+#CHECK: vmale %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xac]
+#CHECK: vmale %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xac]
+#CHECK: vmale %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xac]
+
+ vmale %v0, %v0, %v0, %v0, 0
+ vmale %v0, %v0, %v0, %v0, 15
+ vmale %v0, %v0, %v0, %v31, 0
+ vmale %v0, %v0, %v31, %v0, 0
+ vmale %v0, %v31, %v0, %v0, 0
+ vmale %v31, %v0, %v0, %v0, 0
+ vmale %v13, %v17, %v21, %v25, 11
+
#CHECK: vmaleb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xac]
#CHECK: vmaleb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xac]
#CHECK: vmaleb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xac]
@@ -2758,6 +3767,22 @@
vmalf %v31, %v0, %v0, %v0
vmalf %v13, %v17, %v21, %v25
+#CHECK: vmalh %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa9]
+#CHECK: vmalh %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xa9]
+#CHECK: vmalh %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xa9]
+#CHECK: vmalh %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa9]
+#CHECK: vmalh %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa9]
+#CHECK: vmalh %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa9]
+#CHECK: vmalh %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xa9]
+
+ vmalh %v0, %v0, %v0, %v0, 0
+ vmalh %v0, %v0, %v0, %v0, 15
+ vmalh %v0, %v0, %v0, %v31, 0
+ vmalh %v0, %v0, %v31, %v0, 0
+ vmalh %v0, %v31, %v0, %v0, 0
+ vmalh %v31, %v0, %v0, %v0, 0
+ vmalh %v13, %v17, %v21, %v25, 11
+
#CHECK: vmalhb %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa9]
#CHECK: vmalhb %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xa9]
#CHECK: vmalhb %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa9]
@@ -2814,6 +3839,22 @@
vmalhw %v31, %v0, %v0, %v0
vmalhw %v13, %v17, %v21, %v25
+#CHECK: vmalo %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xad]
+#CHECK: vmalo %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xad]
+#CHECK: vmalo %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xad]
+#CHECK: vmalo %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xad]
+#CHECK: vmalo %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xad]
+#CHECK: vmalo %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xad]
+#CHECK: vmalo %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xad]
+
+ vmalo %v0, %v0, %v0, %v0, 0
+ vmalo %v0, %v0, %v0, %v0, 15
+ vmalo %v0, %v0, %v0, %v31, 0
+ vmalo %v0, %v0, %v31, %v0, 0
+ vmalo %v0, %v31, %v0, %v0, 0
+ vmalo %v31, %v0, %v0, %v0, 0
+ vmalo %v13, %v17, %v21, %v25, 11
+
#CHECK: vmalob %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xad]
#CHECK: vmalob %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xad]
#CHECK: vmalob %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xad]
@@ -2856,6 +3897,22 @@
vmaloh %v31, %v0, %v0, %v0
vmaloh %v13, %v17, %v21, %v25
+#CHECK: vmao %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xaf]
+#CHECK: vmao %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xaf]
+#CHECK: vmao %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xaf]
+#CHECK: vmao %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xaf]
+#CHECK: vmao %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xaf]
+#CHECK: vmao %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xaf]
+#CHECK: vmao %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xaf]
+
+ vmao %v0, %v0, %v0, %v0, 0
+ vmao %v0, %v0, %v0, %v0, 15
+ vmao %v0, %v0, %v0, %v31, 0
+ vmao %v0, %v0, %v31, %v0, 0
+ vmao %v0, %v31, %v0, %v0, 0
+ vmao %v31, %v0, %v0, %v0, 0
+ vmao %v13, %v17, %v21, %v25, 11
+
#CHECK: vmaob %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xaf]
#CHECK: vmaob %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xaf]
#CHECK: vmaob %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xaf]
@@ -2898,6 +3955,20 @@
vmaoh %v31, %v0, %v0, %v0
vmaoh %v13, %v17, %v21, %v25
+#CHECK: vme %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa6]
+#CHECK: vme %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa6]
+#CHECK: vme %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa6]
+#CHECK: vme %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa6]
+#CHECK: vme %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa6]
+#CHECK: vme %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa6]
+
+ vme %v0, %v0, %v0, 0
+ vme %v0, %v0, %v0, 15
+ vme %v0, %v0, %v31, 0
+ vme %v0, %v31, %v0, 0
+ vme %v31, %v0, %v0, 0
+ vme %v18, %v3, %v20, 11
+
#CHECK: vmeb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa6]
#CHECK: vmeb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa6]
#CHECK: vmeb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa6]
@@ -2934,6 +4005,20 @@
vmeh %v31, %v0, %v0
vmeh %v18, %v3, %v20
+#CHECK: vmh %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa3]
+#CHECK: vmh %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa3]
+#CHECK: vmh %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa3]
+#CHECK: vmh %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa3]
+#CHECK: vmh %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa3]
+#CHECK: vmh %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa3]
+
+ vmh %v0, %v0, %v0, 0
+ vmh %v0, %v0, %v0, 15
+ vmh %v0, %v0, %v31, 0
+ vmh %v0, %v31, %v0, 0
+ vmh %v31, %v0, %v0, 0
+ vmh %v18, %v3, %v20, 11
+
#CHECK: vmhb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa3]
#CHECK: vmhb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa3]
#CHECK: vmhb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa3]
@@ -2970,6 +4055,20 @@
vmhh %v31, %v0, %v0
vmhh %v18, %v3, %v20
+#CHECK: vml %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa2]
+#CHECK: vml %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa2]
+#CHECK: vml %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa2]
+#CHECK: vml %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa2]
+#CHECK: vml %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa2]
+#CHECK: vml %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa2]
+
+ vml %v0, %v0, %v0, 0
+ vml %v0, %v0, %v0, 15
+ vml %v0, %v0, %v31, 0
+ vml %v0, %v31, %v0, 0
+ vml %v31, %v0, %v0, 0
+ vml %v18, %v3, %v20, 11
+
#CHECK: vmlb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa2]
#CHECK: vmlb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa2]
#CHECK: vmlb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa2]
@@ -2982,6 +4081,20 @@
vmlb %v31, %v0, %v0
vmlb %v18, %v3, %v20
+#CHECK: vmle %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa4]
+#CHECK: vmle %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa4]
+#CHECK: vmle %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa4]
+#CHECK: vmle %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa4]
+#CHECK: vmle %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa4]
+#CHECK: vmle %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa4]
+
+ vmle %v0, %v0, %v0, 0
+ vmle %v0, %v0, %v0, 15
+ vmle %v0, %v0, %v31, 0
+ vmle %v0, %v31, %v0, 0
+ vmle %v31, %v0, %v0, 0
+ vmle %v18, %v3, %v20, 11
+
#CHECK: vmleb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa4]
#CHECK: vmleb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa4]
#CHECK: vmleb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa4]
@@ -3030,6 +4143,20 @@
vmlf %v31, %v0, %v0
vmlf %v18, %v3, %v20
+#CHECK: vmlh %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa1]
+#CHECK: vmlh %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa1]
+#CHECK: vmlh %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa1]
+#CHECK: vmlh %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa1]
+#CHECK: vmlh %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa1]
+#CHECK: vmlh %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa1]
+
+ vmlh %v0, %v0, %v0, 0
+ vmlh %v0, %v0, %v0, 15
+ vmlh %v0, %v0, %v31, 0
+ vmlh %v0, %v31, %v0, 0
+ vmlh %v31, %v0, %v0, 0
+ vmlh %v18, %v3, %v20, 11
+
#CHECK: vmlhb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa1]
#CHECK: vmlhb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa1]
#CHECK: vmlhb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa1]
@@ -3078,6 +4205,20 @@
vmlhw %v31, %v0, %v0
vmlhw %v18, %v3, %v20
+#CHECK: vmlo %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa5]
+#CHECK: vmlo %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa5]
+#CHECK: vmlo %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa5]
+#CHECK: vmlo %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa5]
+#CHECK: vmlo %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa5]
+#CHECK: vmlo %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa5]
+
+ vmlo %v0, %v0, %v0, 0
+ vmlo %v0, %v0, %v0, 15
+ vmlo %v0, %v0, %v31, 0
+ vmlo %v0, %v31, %v0, 0
+ vmlo %v31, %v0, %v0, 0
+ vmlo %v18, %v3, %v20, 11
+
#CHECK: vmlob %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa5]
#CHECK: vmlob %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa5]
#CHECK: vmlob %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa5]
@@ -3114,6 +4255,20 @@
vmloh %v31, %v0, %v0
vmloh %v18, %v3, %v20
+#CHECK: vmn %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfe]
+#CHECK: vmn %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xfe]
+#CHECK: vmn %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfe]
+#CHECK: vmn %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfe]
+#CHECK: vmn %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xfe]
+#CHECK: vmn %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xfe]
+
+ vmn %v0, %v0, %v0, 0
+ vmn %v0, %v0, %v0, 15
+ vmn %v0, %v0, %v31, 0
+ vmn %v0, %v31, %v0, 0
+ vmn %v31, %v0, %v0, 0
+ vmn %v18, %v3, %v20, 11
+
#CHECK: vmnb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfe]
#CHECK: vmnb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfe]
#CHECK: vmnb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfe]
@@ -3162,6 +4317,20 @@
vmnh %v31, %v0, %v0
vmnh %v18, %v3, %v20
+#CHECK: vmnl %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfc]
+#CHECK: vmnl %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xfc]
+#CHECK: vmnl %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfc]
+#CHECK: vmnl %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfc]
+#CHECK: vmnl %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xfc]
+#CHECK: vmnl %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xfc]
+
+ vmnl %v0, %v0, %v0, 0
+ vmnl %v0, %v0, %v0, 15
+ vmnl %v0, %v0, %v31, 0
+ vmnl %v0, %v31, %v0, 0
+ vmnl %v31, %v0, %v0, 0
+ vmnl %v18, %v3, %v20, 11
+
#CHECK: vmnlb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfc]
#CHECK: vmnlb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfc]
#CHECK: vmnlb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfc]
@@ -3210,6 +4379,20 @@
vmnlh %v31, %v0, %v0
vmnlh %v18, %v3, %v20
+#CHECK: vmo %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa7]
+#CHECK: vmo %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xa7]
+#CHECK: vmo %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa7]
+#CHECK: vmo %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa7]
+#CHECK: vmo %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xa7]
+#CHECK: vmo %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xa7]
+
+ vmo %v0, %v0, %v0, 0
+ vmo %v0, %v0, %v0, 15
+ vmo %v0, %v0, %v31, 0
+ vmo %v0, %v31, %v0, 0
+ vmo %v31, %v0, %v0, 0
+ vmo %v18, %v3, %v20, 11
+
#CHECK: vmob %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xa7]
#CHECK: vmob %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xa7]
#CHECK: vmob %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xa7]
@@ -3246,6 +4429,26 @@
vmoh %v31, %v0, %v0
vmoh %v18, %v3, %v20
+#CHECK: vmrh %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x61]
+#CHECK: vmrh %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x61]
+#CHECK: vmrh %v0, %v0, %v15, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x61]
+#CHECK: vmrh %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x61]
+#CHECK: vmrh %v0, %v15, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x61]
+#CHECK: vmrh %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x61]
+#CHECK: vmrh %v15, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x61]
+#CHECK: vmrh %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x61]
+#CHECK: vmrh %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x61]
+
+ vmrh %v0, %v0, %v0, 0
+ vmrh %v0, %v0, %v0, 15
+ vmrh %v0, %v0, %v15, 0
+ vmrh %v0, %v0, %v31, 0
+ vmrh %v0, %v15, %v0, 0
+ vmrh %v0, %v31, %v0, 0
+ vmrh %v15, %v0, %v0, 0
+ vmrh %v31, %v0, %v0, 0
+ vmrh %v18, %v3, %v20, 11
+
#CHECK: vmrhb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x61]
#CHECK: vmrhb %v0, %v0, %v15 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x61]
#CHECK: vmrhb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x61]
@@ -3318,6 +4521,26 @@
vmrhh %v31, %v0, %v0
vmrhh %v18, %v3, %v20
+#CHECK: vmrl %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x60]
+#CHECK: vmrl %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x60]
+#CHECK: vmrl %v0, %v0, %v15, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x60]
+#CHECK: vmrl %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x60]
+#CHECK: vmrl %v0, %v15, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x60]
+#CHECK: vmrl %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x60]
+#CHECK: vmrl %v15, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x60]
+#CHECK: vmrl %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x60]
+#CHECK: vmrl %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x60]
+
+ vmrl %v0, %v0, %v0, 0
+ vmrl %v0, %v0, %v0, 15
+ vmrl %v0, %v0, %v15, 0
+ vmrl %v0, %v0, %v31, 0
+ vmrl %v0, %v15, %v0, 0
+ vmrl %v0, %v31, %v0, 0
+ vmrl %v15, %v0, %v0, 0
+ vmrl %v31, %v0, %v0, 0
+ vmrl %v18, %v3, %v20, 11
+
#CHECK: vmrlb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x60]
#CHECK: vmrlb %v0, %v0, %v15 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x60]
#CHECK: vmrlb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x60]
@@ -3390,6 +4613,20 @@
vmrlh %v31, %v0, %v0
vmrlh %v18, %v3, %v20
+#CHECK: vmx %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xff]
+#CHECK: vmx %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xff]
+#CHECK: vmx %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xff]
+#CHECK: vmx %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xff]
+#CHECK: vmx %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xff]
+#CHECK: vmx %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xff]
+
+ vmx %v0, %v0, %v0, 0
+ vmx %v0, %v0, %v0, 15
+ vmx %v0, %v0, %v31, 0
+ vmx %v0, %v31, %v0, 0
+ vmx %v31, %v0, %v0, 0
+ vmx %v18, %v3, %v20, 11
+
#CHECK: vmxb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xff]
#CHECK: vmxb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xff]
#CHECK: vmxb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xff]
@@ -3438,6 +4675,20 @@
vmxh %v31, %v0, %v0
vmxh %v18, %v3, %v20
+#CHECK: vmxl %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfd]
+#CHECK: vmxl %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xfd]
+#CHECK: vmxl %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfd]
+#CHECK: vmxl %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfd]
+#CHECK: vmxl %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xfd]
+#CHECK: vmxl %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xfd]
+
+ vmxl %v0, %v0, %v0, 0
+ vmxl %v0, %v0, %v0, 15
+ vmxl %v0, %v0, %v31, 0
+ vmxl %v0, %v31, %v0, 0
+ vmxl %v31, %v0, %v0, 0
+ vmxl %v18, %v3, %v20, 11
+
#CHECK: vmxlb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xfd]
#CHECK: vmxlb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xfd]
#CHECK: vmxlb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xfd]
@@ -3522,6 +4773,16 @@
vno %v31, %v0, %v0
vno %v18, %v3, %v20
+#CHECK: vno %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x6b]
+#CHECK: vno %v0, %v31, %v31 # encoding: [0xe7,0x0f,0xf0,0x00,0x06,0x6b]
+#CHECK: vno %v31, %v0, %v0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x6b]
+#CHECK: vno %v3, %v20, %v20 # encoding: [0xe7,0x34,0x40,0x00,0x06,0x6b]
+
+ vnot %v0, %v0
+ vnot %v0, %v31
+ vnot %v31, %v0
+ vnot %v3, %v20
+
#CHECK: vo %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x6a]
#CHECK: vo %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x6a]
#CHECK: vo %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x6a]
@@ -3572,6 +4833,26 @@
vperm %v31, %v0, %v0, %v0
vperm %v13, %v17, %v21, %v25
+#CHECK: vpk %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x94]
+#CHECK: vpk %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x94]
+#CHECK: vpk %v0, %v0, %v15, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x94]
+#CHECK: vpk %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x94]
+#CHECK: vpk %v0, %v15, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x94]
+#CHECK: vpk %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x94]
+#CHECK: vpk %v15, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x94]
+#CHECK: vpk %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x94]
+#CHECK: vpk %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x94]
+
+ vpk %v0, %v0, %v0, 0
+ vpk %v0, %v0, %v0, 15
+ vpk %v0, %v0, %v15, 0
+ vpk %v0, %v0, %v31, 0
+ vpk %v0, %v15, %v0, 0
+ vpk %v0, %v31, %v0, 0
+ vpk %v15, %v0, %v0, 0
+ vpk %v31, %v0, %v0, 0
+ vpk %v18, %v3, %v20, 11
+
#CHECK: vpkf %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x20,0x94]
#CHECK: vpkf %v0, %v0, %v15 # encoding: [0xe7,0x00,0xf0,0x00,0x20,0x94]
#CHECK: vpkf %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x22,0x94]
@@ -3626,6 +4907,28 @@
vpkh %v31, %v0, %v0
vpkh %v18, %v3, %v20
+#CHECK: vpkls %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x95]
+#CHECK: vpkls %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x95]
+#CHECK: vpkls %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0x95]
+#CHECK: vpkls %v0, %v0, %v15, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x95]
+#CHECK: vpkls %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x95]
+#CHECK: vpkls %v0, %v15, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x95]
+#CHECK: vpkls %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x95]
+#CHECK: vpkls %v15, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x95]
+#CHECK: vpkls %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x95]
+#CHECK: vpkls %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x90,0xba,0x95]
+
+ vpkls %v0, %v0, %v0, 0, 0
+ vpkls %v0, %v0, %v0, 15, 0
+ vpkls %v0, %v0, %v0, 0, 15
+ vpkls %v0, %v0, %v15, 0, 0
+ vpkls %v0, %v0, %v31, 0, 0
+ vpkls %v0, %v15, %v0, 0, 0
+ vpkls %v0, %v31, %v0, 0, 0
+ vpkls %v15, %v0, %v0, 0, 0
+ vpkls %v31, %v0, %v0, 0, 0
+ vpkls %v18, %v3, %v20, 11, 9
+
#CHECK: vpklsf %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x20,0x95]
#CHECK: vpklsf %v0, %v0, %v15 # encoding: [0xe7,0x00,0xf0,0x00,0x20,0x95]
#CHECK: vpklsf %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x22,0x95]
@@ -3686,6 +4989,28 @@
vpklsh %v18, %v3, %v20
vpklshs %v5, %v22, %v7
+#CHECK: vpks %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x97]
+#CHECK: vpks %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x97]
+#CHECK: vpks %v0, %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0xf0,0x00,0x97]
+#CHECK: vpks %v0, %v0, %v15, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x97]
+#CHECK: vpks %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x97]
+#CHECK: vpks %v0, %v15, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x97]
+#CHECK: vpks %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x97]
+#CHECK: vpks %v15, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x97]
+#CHECK: vpks %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x97]
+#CHECK: vpks %v18, %v3, %v20, 11, 9 # encoding: [0xe7,0x23,0x40,0x90,0xba,0x97]
+
+ vpks %v0, %v0, %v0, 0, 0
+ vpks %v0, %v0, %v0, 15, 0
+ vpks %v0, %v0, %v0, 0, 15
+ vpks %v0, %v0, %v15, 0, 0
+ vpks %v0, %v0, %v31, 0, 0
+ vpks %v0, %v15, %v0, 0, 0
+ vpks %v0, %v31, %v0, 0, 0
+ vpks %v15, %v0, %v0, 0, 0
+ vpks %v31, %v0, %v0, 0, 0
+ vpks %v18, %v3, %v20, 11, 9
+
#CHECK: vpksf %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x20,0x97]
#CHECK: vpksf %v0, %v0, %v15 # encoding: [0xe7,0x00,0xf0,0x00,0x20,0x97]
#CHECK: vpksf %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x22,0x97]
@@ -3760,6 +5085,24 @@
vpopct %v31, %v0, 0
vpopct %v14, %v17, 0
+#CHECK: vrep %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x4d]
+#CHECK: vrep %v0, %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x4d]
+#CHECK: vrep %v0, %v0, 65535, 0 # encoding: [0xe7,0x00,0xff,0xff,0x00,0x4d]
+#CHECK: vrep %v0, %v15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x4d]
+#CHECK: vrep %v0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x4d]
+#CHECK: vrep %v15, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x4d]
+#CHECK: vrep %v31, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x4d]
+#CHECK: vrep %v4, %v21, 26505, 11 # encoding: [0xe7,0x45,0x67,0x89,0xb4,0x4d]
+
+ vrep %v0, %v0, 0, 0
+ vrep %v0, %v0, 0, 15
+ vrep %v0, %v0, 65535, 0
+ vrep %v0, %v15, 0, 0
+ vrep %v0, %v31, 0, 0
+ vrep %v15, %v0, 0, 0
+ vrep %v31, %v0, 0, 0
+ vrep %v4, %v21, 0x6789, 11
+
#CHECK: vrepb %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x4d]
#CHECK: vrepb %v0, %v0, 65535 # encoding: [0xe7,0x00,0xff,0xff,0x00,0x4d]
#CHECK: vrepb %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x4d]
@@ -3824,6 +5167,22 @@
vreph %v31, %v0, 0
vreph %v4, %v21, 0x6789
+#CHECK: vrepi %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x45]
+#CHECK: vrepi %v0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x45]
+#CHECK: vrepi %v0, -32768, 0 # encoding: [0xe7,0x00,0x80,0x00,0x00,0x45]
+#CHECK: vrepi %v0, 32767, 0 # encoding: [0xe7,0x00,0x7f,0xff,0x00,0x45]
+#CHECK: vrepi %v15, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x45]
+#CHECK: vrepi %v31, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x45]
+#CHECK: vrepi %v18, 13398, 11 # encoding: [0xe7,0x20,0x34,0x56,0xb8,0x45]
+
+ vrepi %v0, 0, 0
+ vrepi %v0, 0, 15
+ vrepi %v0, -32768, 0
+ vrepi %v0, 32767, 0
+ vrepi %v15, 0, 0
+ vrepi %v31, 0, 0
+ vrepi %v18, 0x3456, 11
+
#CHECK: vrepib %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x45]
#CHECK: vrepib %v0, -32768 # encoding: [0xe7,0x00,0x80,0x00,0x00,0x45]
#CHECK: vrepib %v0, 32767 # encoding: [0xe7,0x00,0x7f,0xff,0x00,0x45]
@@ -3880,6 +5239,20 @@
vrepih %v31, 0
vrepih %v18, 0x3456
+#CHECK: vs %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf7]
+#CHECK: vs %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf7]
+#CHECK: vs %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf7]
+#CHECK: vs %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf7]
+#CHECK: vs %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf7]
+#CHECK: vs %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xf7]
+
+ vs %v0, %v0, %v0, 0
+ vs %v0, %v0, %v0, 15
+ vs %v0, %v0, %v31, 0
+ vs %v0, %v31, %v0, 0
+ vs %v31, %v0, %v0, 0
+ vs %v18, %v3, %v20, 11
+
#CHECK: vsb %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf7]
#CHECK: vsb %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf7]
#CHECK: vsb %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf7]
@@ -3892,6 +5265,22 @@
vsb %v31, %v0, %v0
vsb %v18, %v3, %v20
+#CHECK: vsbcbi %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xbd]
+#CHECK: vsbcbi %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xbd]
+#CHECK: vsbcbi %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xbd]
+#CHECK: vsbcbi %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xbd]
+#CHECK: vsbcbi %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xbd]
+#CHECK: vsbcbi %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xbd]
+#CHECK: vsbcbi %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xbd]
+
+ vsbcbi %v0, %v0, %v0, %v0, 0
+ vsbcbi %v0, %v0, %v0, %v0, 15
+ vsbcbi %v0, %v0, %v0, %v31, 0
+ vsbcbi %v0, %v0, %v31, %v0, 0
+ vsbcbi %v0, %v31, %v0, %v0, 0
+ vsbcbi %v31, %v0, %v0, %v0, 0
+ vsbcbi %v13, %v17, %v21, %v25, 11
+
#CHECK: vsbcbiq %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x04,0x00,0x00,0xbd]
#CHECK: vsbcbiq %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x04,0x00,0xf1,0xbd]
#CHECK: vsbcbiq %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf4,0x00,0x02,0xbd]
@@ -3906,6 +5295,22 @@
vsbcbiq %v31, %v0, %v0, %v0
vsbcbiq %v13, %v17, %v21, %v25
+#CHECK: vsbi %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xbf]
+#CHECK: vsbi %v0, %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0xbf]
+#CHECK: vsbi %v0, %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0xbf]
+#CHECK: vsbi %v0, %v0, %v31, %v0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xbf]
+#CHECK: vsbi %v0, %v31, %v0, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xbf]
+#CHECK: vsbi %v31, %v0, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xbf]
+#CHECK: vsbi %v13, %v17, %v21, %v25, 11 # encoding: [0xe7,0xd1,0x5b,0x00,0x97,0xbf]
+
+ vsbi %v0, %v0, %v0, %v0, 0
+ vsbi %v0, %v0, %v0, %v0, 15
+ vsbi %v0, %v0, %v0, %v31, 0
+ vsbi %v0, %v0, %v31, %v0, 0
+ vsbi %v0, %v31, %v0, %v0, 0
+ vsbi %v31, %v0, %v0, %v0, 0
+ vsbi %v13, %v17, %v21, %v25, 11
+
#CHECK: vsbiq %v0, %v0, %v0, %v0 # encoding: [0xe7,0x00,0x04,0x00,0x00,0xbf]
#CHECK: vsbiq %v0, %v0, %v0, %v31 # encoding: [0xe7,0x00,0x04,0x00,0xf1,0xbf]
#CHECK: vsbiq %v0, %v0, %v31, %v0 # encoding: [0xe7,0x00,0xf4,0x00,0x02,0xbf]
@@ -3920,6 +5325,20 @@
vsbiq %v31, %v0, %v0, %v0
vsbiq %v13, %v17, %v21, %v25
+#CHECK: vscbi %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf5]
+#CHECK: vscbi %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xf5]
+#CHECK: vscbi %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf5]
+#CHECK: vscbi %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf5]
+#CHECK: vscbi %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xf5]
+#CHECK: vscbi %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0xf5]
+
+ vscbi %v0, %v0, %v0, 0
+ vscbi %v0, %v0, %v0, 15
+ vscbi %v0, %v0, %v31, 0
+ vscbi %v0, %v31, %v0, 0
+ vscbi %v31, %v0, %v0, 0
+ vscbi %v18, %v3, %v20, 11
+
#CHECK: vscbib %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xf5]
#CHECK: vscbib %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0xf5]
#CHECK: vscbib %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xf5]
@@ -4038,6 +5457,22 @@
vsel %v31, %v0, %v0, %v0
vsel %v13, %v17, %v21, %v25
+#CHECK: vseg %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x5f]
+#CHECK: vseg %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x5f]
+#CHECK: vseg %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x5f]
+#CHECK: vseg %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x5f]
+#CHECK: vseg %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x5f]
+#CHECK: vseg %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x5f]
+#CHECK: vseg %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0x5f]
+
+ vseg %v0, %v0, 0
+ vseg %v0, %v0, 15
+ vseg %v0, %v15, 0
+ vseg %v0, %v31, 0
+ vseg %v15, %v0, 0
+ vseg %v31, %v0, 0
+ vseg %v14, %v17, 11
+
#CHECK: vsegb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x5f]
#CHECK: vsegb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x5f]
#CHECK: vsegb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x5f]
@@ -4332,6 +5767,38 @@
vstm %v31, %v0, 0
vstm %v14, %v17, 1074(%r5)
+#CHECK: vstrc %v0, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x8a]
+#CHECK: vstrc %v0, %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0x8a]
+#CHECK: vstrc %v0, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x8a]
+#CHECK: vstrc %v0, %v0, %v0, %v0, 15, 0 # encoding: [0xe7,0x00,0x0f,0x00,0x00,0x8a]
+#CHECK: vstrc %v0, %v0, %v0, %v0, 0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x8a]
+#CHECK: vstrc %v0, %v0, %v0, %v15, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x8a]
+#CHECK: vstrc %v0, %v0, %v0, %v31, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf1,0x8a]
+#CHECK: vstrc %v0, %v0, %v15, %v0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x00,0x8a]
+#CHECK: vstrc %v0, %v0, %v31, %v0, 0, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x8a]
+#CHECK: vstrc %v0, %v15, %v0, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0x8a]
+#CHECK: vstrc %v0, %v31, %v0, %v0, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x8a]
+#CHECK: vstrc %v15, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0x8a]
+#CHECK: vstrc %v31, %v0, %v0, %v0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x8a]
+#CHECK: vstrc %v18, %v3, %v20, %v5, 11, 4 # encoding: [0xe7,0x23,0x4b,0x40,0x5a,0x8a]
+#CHECK: vstrc %v18, %v3, %v20, %v5, 0, 15 # encoding: [0xe7,0x23,0x40,0xf0,0x5a,0x8a]
+
+ vstrc %v0, %v0, %v0, %v0, 0
+ vstrc %v0, %v0, %v0, %v0, 15
+ vstrc %v0, %v0, %v0, %v0, 0, 0
+ vstrc %v0, %v0, %v0, %v0, 15, 0
+ vstrc %v0, %v0, %v0, %v0, 0, 12
+ vstrc %v0, %v0, %v0, %v15, 0
+ vstrc %v0, %v0, %v0, %v31, 0
+ vstrc %v0, %v0, %v15, %v0, 0
+ vstrc %v0, %v0, %v31, %v0, 0
+ vstrc %v0, %v15, %v0, %v0, 0
+ vstrc %v0, %v31, %v0, %v0, 0
+ vstrc %v15, %v0, %v0, %v0, 0
+ vstrc %v31, %v0, %v0, %v0, 0
+ vstrc %v18, %v3, %v20, %v5, 11, 4
+ vstrc %v18, %v3, %v20, %v5, 0, 15
+
#CHECK: vstrcb %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x8a]
#CHECK: vstrcb %v0, %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x8a]
#CHECK: vstrcb %v0, %v0, %v0, %v0, 12 # encoding: [0xe7,0x00,0x00,0xc0,0x00,0x8a]
@@ -4440,6 +5907,34 @@
vstrczhs %v18, %v3, %v20, %v5, 8
vstrczhs %v18, %v3, %v20, %v5, 15
+#CHECK: vsum %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x64]
+#CHECK: vsum %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x64]
+#CHECK: vsum %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x64]
+#CHECK: vsum %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x64]
+#CHECK: vsum %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x64]
+#CHECK: vsum %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x64]
+
+ vsum %v0, %v0, %v0, 0
+ vsum %v0, %v0, %v0, 15
+ vsum %v0, %v0, %v31, 0
+ vsum %v0, %v31, %v0, 0
+ vsum %v31, %v0, %v0, 0
+ vsum %v18, %v3, %v20, 11
+
+#CHECK: vsumg %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x65]
+#CHECK: vsumg %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x65]
+#CHECK: vsumg %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x65]
+#CHECK: vsumg %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x65]
+#CHECK: vsumg %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x65]
+#CHECK: vsumg %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x65]
+
+ vsumg %v0, %v0, %v0, 0
+ vsumg %v0, %v0, %v0, 15
+ vsumg %v0, %v0, %v31, 0
+ vsumg %v0, %v31, %v0, 0
+ vsumg %v31, %v0, %v0, 0
+ vsumg %v18, %v3, %v20, 11
+
#CHECK: vsumgh %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x10,0x65]
#CHECK: vsumgh %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x12,0x65]
#CHECK: vsumgh %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x14,0x65]
@@ -4464,6 +5959,20 @@
vsumgf %v31, %v0, %v0
vsumgf %v18, %v3, %v20
+#CHECK: vsumq %v0, %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x67]
+#CHECK: vsumq %v0, %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x67]
+#CHECK: vsumq %v0, %v0, %v31, 0 # encoding: [0xe7,0x00,0xf0,0x00,0x02,0x67]
+#CHECK: vsumq %v0, %v31, %v0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0x67]
+#CHECK: vsumq %v31, %v0, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0x67]
+#CHECK: vsumq %v18, %v3, %v20, 11 # encoding: [0xe7,0x23,0x40,0x00,0xba,0x67]
+
+ vsumq %v0, %v0, %v0, 0
+ vsumq %v0, %v0, %v0, 15
+ vsumq %v0, %v0, %v31, 0
+ vsumq %v0, %v31, %v0, 0
+ vsumq %v31, %v0, %v0, 0
+ vsumq %v18, %v3, %v20, 11
+
#CHECK: vsumqf %v0, %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x20,0x67]
#CHECK: vsumqf %v0, %v0, %v31 # encoding: [0xe7,0x00,0xf0,0x00,0x22,0x67]
#CHECK: vsumqf %v0, %v31, %v0 # encoding: [0xe7,0x0f,0x00,0x00,0x24,0x67]
@@ -4526,6 +6035,22 @@
vtm %v31, %v0
vtm %v14, %v17
+#CHECK: vuph %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd7]
+#CHECK: vuph %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xd7]
+#CHECK: vuph %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd7]
+#CHECK: vuph %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd7]
+#CHECK: vuph %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xd7]
+#CHECK: vuph %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xd7]
+#CHECK: vuph %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xd7]
+
+ vuph %v0, %v0, 0
+ vuph %v0, %v0, 15
+ vuph %v0, %v15, 0
+ vuph %v0, %v31, 0
+ vuph %v15, %v0, 0
+ vuph %v31, %v0, 0
+ vuph %v14, %v17, 11
+
#CHECK: vuphb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd7]
#CHECK: vuphb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd7]
#CHECK: vuphb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd7]
@@ -4568,6 +6093,22 @@
vuphh %v31, %v0
vuphh %v14, %v17
+#CHECK: vuplh %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd5]
+#CHECK: vuplh %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xd5]
+#CHECK: vuplh %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd5]
+#CHECK: vuplh %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd5]
+#CHECK: vuplh %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xd5]
+#CHECK: vuplh %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xd5]
+#CHECK: vuplh %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xd5]
+
+ vuplh %v0, %v0, 0
+ vuplh %v0, %v0, 15
+ vuplh %v0, %v15, 0
+ vuplh %v0, %v31, 0
+ vuplh %v15, %v0, 0
+ vuplh %v31, %v0, 0
+ vuplh %v14, %v17, 11
+
#CHECK: vuplhb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd5]
#CHECK: vuplhb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd5]
#CHECK: vuplhb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd5]
@@ -4610,6 +6151,22 @@
vuplhh %v31, %v0
vuplhh %v14, %v17
+#CHECK: vupl %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd6]
+#CHECK: vupl %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xd6]
+#CHECK: vupl %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd6]
+#CHECK: vupl %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd6]
+#CHECK: vupl %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xd6]
+#CHECK: vupl %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xd6]
+#CHECK: vupl %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xd6]
+
+ vupl %v0, %v0, 0
+ vupl %v0, %v0, 15
+ vupl %v0, %v15, 0
+ vupl %v0, %v31, 0
+ vupl %v15, %v0, 0
+ vupl %v31, %v0, 0
+ vupl %v14, %v17, 11
+
#CHECK: vuplb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd6]
#CHECK: vuplb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd6]
#CHECK: vuplb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd6]
@@ -4652,6 +6209,22 @@
vuplhw %v31, %v0
vuplhw %v14, %v17
+#CHECK: vupll %v0, %v0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd4]
+#CHECK: vupll %v0, %v0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xd4]
+#CHECK: vupll %v0, %v15, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd4]
+#CHECK: vupll %v0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd4]
+#CHECK: vupll %v15, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xd4]
+#CHECK: vupll %v31, %v0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xd4]
+#CHECK: vupll %v14, %v17, 11 # encoding: [0xe7,0xe1,0x00,0x00,0xb4,0xd4]
+
+ vupll %v0, %v0, 0
+ vupll %v0, %v0, 15
+ vupll %v0, %v15, 0
+ vupll %v0, %v31, 0
+ vupll %v15, %v0, 0
+ vupll %v31, %v0, 0
+ vupll %v14, %v17, 11
+
#CHECK: vupllb %v0, %v0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xd4]
#CHECK: vupllb %v0, %v15 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xd4]
#CHECK: vupllb %v0, %v31 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xd4]
@@ -4802,6 +6375,26 @@
wfadb %v31, %v0, %v0
wfadb %v18, %v3, %v20
+#CHECK: wfc %f0, %f0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xcb]
+#CHECK: wfc %f0, %f0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xcb]
+#CHECK: wfc %f0, %f0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xcb]
+#CHECK: wfc %f0, %f0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xcb]
+#CHECK: wfc %f0, %f15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xcb]
+#CHECK: wfc %f0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xcb]
+#CHECK: wfc %f15, %f0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xcb]
+#CHECK: wfc %v31, %f0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xcb]
+#CHECK: wfc %f14, %v17, 11, 9 # encoding: [0xe7,0xe1,0x00,0x09,0xb4,0xcb]
+
+ wfc %v0, %v0, 0, 0
+ wfc %v0, %v0, 15, 0
+ wfc %v0, %v0, 0, 15
+ wfc %f0, %f0, 0, 0
+ wfc %v0, %v15, 0, 0
+ wfc %v0, %v31, 0, 0
+ wfc %v15, %v0, 0, 0
+ wfc %v31, %v0, 0, 0
+ wfc %v14, %v17, 11, 9
+
#CHECK: wfcdb %f0, %f0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xcb]
#CHECK: wfcdb %f0, %f0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xcb]
#CHECK: wfcdb %f0, %f15 # encoding: [0xe7,0x0f,0x00,0x00,0x30,0xcb]
@@ -4817,7 +6410,7 @@
wfcdb %v15, %v0
wfcdb %v31, %v0
wfcdb %v14, %v17
-
+
#CHECK: wfcedb %f0, %f0, %f0 # encoding: [0xe7,0x00,0x00,0x08,0x30,0xe8]
#CHECK: wfcedb %f0, %f0, %f0 # encoding: [0xe7,0x00,0x00,0x08,0x30,0xe8]
#CHECK: wfcedb %f0, %f0, %v31 # encoding: [0xe7,0x00,0xf0,0x08,0x32,0xe8]
@@ -4934,6 +6527,26 @@
wfidb %v31, %v0, 0, 0
wfidb %v14, %v17, 4, 10
+#CHECK: wfk %f0, %f0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xca]
+#CHECK: wfk %f0, %f0, 15, 0 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0xca]
+#CHECK: wfk %f0, %f0, 0, 15 # encoding: [0xe7,0x00,0x00,0x0f,0x00,0xca]
+#CHECK: wfk %f0, %f0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0xca]
+#CHECK: wfk %f0, %f15, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x00,0xca]
+#CHECK: wfk %f0, %v31, 0, 0 # encoding: [0xe7,0x0f,0x00,0x00,0x04,0xca]
+#CHECK: wfk %f15, %f0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x00,0xca]
+#CHECK: wfk %v31, %f0, 0, 0 # encoding: [0xe7,0xf0,0x00,0x00,0x08,0xca]
+#CHECK: wfk %f14, %v17, 11, 9 # encoding: [0xe7,0xe1,0x00,0x09,0xb4,0xca]
+
+ wfk %v0, %v0, 0, 0
+ wfk %v0, %v0, 15, 0
+ wfk %v0, %v0, 0, 15
+ wfk %f0, %f0, 0, 0
+ wfk %v0, %v15, 0, 0
+ wfk %v0, %v31, 0, 0
+ wfk %v15, %v0, 0, 0
+ wfk %v31, %v0, 0, 0
+ wfk %v14, %v17, 11, 9
+
#CHECK: wfkdb %f0, %f0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xca]
#CHECK: wfkdb %f0, %f0 # encoding: [0xe7,0x00,0x00,0x00,0x30,0xca]
#CHECK: wfkdb %f0, %f15 # encoding: [0xe7,0x0f,0x00,0x00,0x30,0xca]
@@ -4950,6 +6563,24 @@
wfkdb %v31, %v0
wfkdb %v14, %v17
+#CHECK: wfpsodb %f0, %f0, 0 # encoding: [0xe7,0x00,0x00,0x08,0x30,0xcc]
+#CHECK: wfpsodb %f0, %f0, 0 # encoding: [0xe7,0x00,0x00,0x08,0x30,0xcc]
+#CHECK: wfpsodb %f0, %f0, 15 # encoding: [0xe7,0x00,0x00,0xf8,0x30,0xcc]
+#CHECK: wfpsodb %f0, %f15, 0 # encoding: [0xe7,0x0f,0x00,0x08,0x30,0xcc]
+#CHECK: wfpsodb %f0, %v31, 0 # encoding: [0xe7,0x0f,0x00,0x08,0x34,0xcc]
+#CHECK: wfpsodb %f15, %f0, 0 # encoding: [0xe7,0xf0,0x00,0x08,0x30,0xcc]
+#CHECK: wfpsodb %v31, %f0, 0 # encoding: [0xe7,0xf0,0x00,0x08,0x38,0xcc]
+#CHECK: wfpsodb %f14, %v17, 7 # encoding: [0xe7,0xe1,0x00,0x78,0x34,0xcc]
+
+ wfpsodb %v0, %v0, 0
+ wfpsodb %f0, %f0, 0
+ wfpsodb %v0, %v0, 15
+ wfpsodb %v0, %v15, 0
+ wfpsodb %v0, %v31, 0
+ wfpsodb %v15, %v0, 0
+ wfpsodb %v31, %v0, 0
+ wfpsodb %v14, %v17, 7
+
#CHECK: wflcdb %f0, %f0 # encoding: [0xe7,0x00,0x00,0x08,0x30,0xcc]
#CHECK: wflcdb %f0, %f0 # encoding: [0xe7,0x00,0x00,0x08,0x30,0xcc]
#CHECK: wflcdb %f0, %f15 # encoding: [0xe7,0x0f,0x00,0x08,0x30,0xcc]
OpenPOWER on IntegriCloud