Author: carll
Date: Tue Oct 15 18:13:21 2013
New Revision: 13646
Log:
Power 8 support, phase 5
This commit adds the testcases for the following instructions:
vpmsumb, vpmsumh, vpmsumw, vpmsumd, vpermxor, vcipher, vcipherlast,
vncipher, vncipherlast, vsbox,
vclzb, vclzw, vclzh, vclzd,
vpopcntb, vpopcnth, vpopcntw, vpopcntd,
vnand, vorc, veqv,
vshasigmaw, vshasigmad,
bcdadd, bcdsub
The VEX commit that added the support for the above instructions was
commit 2789.
The patch is for Bugzilla 325628
Modified:
trunk/memcheck/mc_translate.c
trunk/memcheck/tests/vbit-test/irops.c
trunk/none/tests/ppc32/jm_vec_isa_2_07.stdout.exp
trunk/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp
trunk/none/tests/ppc64/test_isa_2_07_part1.c
Modified: trunk/memcheck/mc_translate.c
==============================================================================
--- trunk/memcheck/mc_translate.c (original)
+++ trunk/memcheck/mc_translate.c Tue Oct 15 18:13:21 2013
@@ -2709,6 +2709,12 @@
case Iop_SetElem32x2:
complainIfUndefined(mce, atom2, NULL);
return assignNew('V', mce, Ity_I64, triop(op, vatom1, atom2, vatom3));
+ /* BCDIops */
+ case Iop_BCDAdd:
+ case Iop_BCDSub:
+ complainIfUndefined(mce, atom3, NULL);
+ return assignNew('V', mce, Ity_V128, triop(op, vatom1, vatom2, atom3));
+
default:
ppIROp(op);
VG_(tool_panic)("memcheck:expr2vbits_Triop");
@@ -3086,6 +3092,7 @@
case Iop_Add8x16:
case Iop_Mul8x16:
case Iop_PolynomialMul8x16:
+ case Iop_PolynomialMulAdd8x16:
return binary8Ix16(mce, vatom1, vatom2);
case Iop_QSub16Ux8:
@@ -3110,6 +3117,7 @@
case Iop_Add16x8:
case Iop_QDMulHi16Sx8:
case Iop_QRDMulHi16Sx8:
+ case Iop_PolynomialMulAdd16x8:
return binary16Ix8(mce, vatom1, vatom2);
case Iop_Sub32x4:
@@ -3132,6 +3140,7 @@
case Iop_Mul32x4:
case Iop_QDMulHi32Sx4:
case Iop_QRDMulHi32Sx4:
+ case Iop_PolynomialMulAdd32x4:
return binary32Ix4(mce, vatom1, vatom2);
case Iop_Sub64x2:
@@ -3149,7 +3158,12 @@
case Iop_QAdd64Sx2:
case Iop_QSub64Ux2:
case Iop_QSub64Sx2:
- return binary64Ix2(mce, vatom1, vatom2);
+ case Iop_PolynomialMulAdd64x2:
+ case Iop_CipherV128:
+ case Iop_CipherLV128:
+ case Iop_NCipherV128:
+ case Iop_NCipherLV128:
+ return binary64Ix2(mce, vatom1, vatom2);
case Iop_QNarrowBin64Sto32Sx4:
case Iop_QNarrowBin64Uto32Ux4:
@@ -3391,6 +3405,12 @@
complainIfUndefined(mce, atom2, NULL);
return assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2));
+ /* SHA Iops */
+ case Iop_SHA256:
+ case Iop_SHA512:
+ complainIfUndefined(mce, atom2, NULL);
+ return assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2));
+
/* I128-bit data-steering */
case Iop_64HLto128:
return assignNew('V', mce, Ity_I128, binop(op, vatom1, vatom2));
@@ -4128,6 +4148,8 @@
return mkPCastTo(mce, Ity_I64, vatom);
case Iop_CmpNEZ64x2:
+ case Iop_CipherSV128:
+ case Iop_Clz64x2:
return mkPCast64x2(mce, vatom);
case Iop_NarrowUn16to8x8:
Modified: trunk/memcheck/tests/vbit-test/irops.c
==============================================================================
--- trunk/memcheck/tests/vbit-test/irops.c (original)
+++ trunk/memcheck/tests/vbit-test/irops.c Tue Oct 15 18:13:21 2013
@@ -751,6 +751,7 @@
{ DEFOP(Iop_Clz8Sx16, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Clz16Sx8, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Clz32Sx4, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_Clz64x2, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Cls8Sx16, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Cls16Sx8, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Cls32Sx4, UNDEF_UNKNOWN), },
@@ -960,6 +961,19 @@
{ DEFOP(Iop_Min32Fx8, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Max64Fx4, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Min64Fx4, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_BCDAdd, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_BCDSub, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_PolynomialMulAdd8x16, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_PolynomialMulAdd16x8, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_PolynomialMulAdd32x4, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_PolynomialMulAdd64x2, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_CipherV128, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_CipherLV128, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_CipherSV128, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_NCipherV128, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_NCipherLV128, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_SHA512, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_SHA256, UNDEF_UNKNOWN), },
};
Modified: trunk/none/tests/ppc32/jm_vec_isa_2_07.stdout.exp
==============================================================================
--- trunk/none/tests/ppc32/jm_vec_isa_2_07.stdout.exp (original)
+++ trunk/none/tests/ppc32/jm_vec_isa_2_07.stdout.exp Tue Oct 15 18:13:21 2013
@@ -23,122 +23,122 @@
mtfprwa: f5f6f7f8 => fffffffff5f6f7f8
mtfprwa: fefdfeff => fffffffffefdfeff
-vaddudm: 0102030405060708 @@ 0102030405060708, ==> 020406080a0c0e10
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 121416181c1a1c1e
-vaddudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> f2f4f6f8fafcff00
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 030507090d0b0d0e
-vaddudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f2f4f6f8fafcff00
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 030507090d0b0d0e
-vaddudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> e3e5e7e9ebedeff0
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f3f5f7f9fdfbfdfe
-
-vsubudm: 0102030405060708 @@ 0102030405060708, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vsubudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0f0f0f0f0f0f0f10
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0f0f0f0f0f0f0f10
-vsubudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f0f0f0f0f0f0f0f0
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> f0f0f0f0f0f0f0f0
-vsubudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000000
-
-vmaxud: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vmaxud: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-vmaxud: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> f9fafbfcfefdfeff
-vmaxud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vmaxsd: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vmaxsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 090a0b0c0e0d0e0f
-vmaxsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0102030405060708
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vmaxsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vminud: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vminud: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 090a0b0c0e0d0e0f
-vminud: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0102030405060708
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vminud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vminsd: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vminsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-vminsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> f9fafbfcfefdfeff
-vminsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vcmpequd: 0102030405060708 @@ 0102030405060708, ==> ffffffffffffffff
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> ffffffffffffffff
-vcmpequd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vcmpequd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0000000000000000
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpequd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> ffffffffffffffff
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> ffffffffffffffff
-
-vcmpgtud: 0102030405060708 @@ 0102030405060708, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpgtud: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vcmpgtud: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> ffffffffffffffff
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> ffffffffffffffff
-vcmpgtud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000000
-
-vcmpgtsd: 0102030405060708 @@ 0102030405060708, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpgtsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> ffffffffffffffff
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> ffffffffffffffff
-vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0000000000000000
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpgtsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000000
-
-vrld: 0102030405060708 @@ 0102030405060708, ==> 0203040506070801
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0586070687078485
-vrld: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0801020304050607
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 8485058607068707
-vrld: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f2f3f4f5f6f7f8f1
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 7dfe7f7eff7ffcfd
-vrld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f8f1f2f3f4f5f6f7
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> fcfd7dfe7f7eff7f
-
-vsld: 0102030405060708 @@ 0102030405060708, ==> 0203040506070800
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0586070687078000
-vsld: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0800000000000000
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 8000000000000000
-vsld: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f2f3f4f5f6f7f800
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 7dfe7f7eff7f8000
-vsld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f800000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 8000000000000000
-
-vsrad: 0102030405060708 @@ 0102030405060708, ==> 0001020304050607
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000121416181c1a
-vsrad: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000001
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vsrad: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> fff1f2f3f4f5f6f7
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> fffff3f5f7f9fdfb
-vsrad: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> fffffffffffffff1
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> ffffffffffffffff
-
-vsrd: 0102030405060708 @@ 0102030405060708, ==> 0001020304050607
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000121416181c1a
-vsrd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000001
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vsrd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 00f1f2f3f4f5f6f7
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 0001f3f5f7f9fdfb
-vsrd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 00000000000000f1
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000001
+vaddudm: 0102030405060708 @@ 0102030405060708 ==> 020406080a0c0e10
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 121416181c1a1c1e
+vaddudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f2f4f6f8fafcff00
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 030507090d0b0d0e
+vaddudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f2f4f6f8fafcff00
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 030507090d0b0d0e
+vaddudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> e3e5e7e9ebedeff0
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f3f5f7f9fdfbfdfe
+
+vsubudm: 0102030405060708 @@ 0102030405060708 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vsubudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0f0f0f0f0f0f0f10
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f10
+vsubudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f0f0f0f0f0f0f0f0
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f0f0f0f0f0f0f0f0
+vsubudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000000
+
+vmaxud: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vmaxud: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+vmaxud: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f9fafbfcfefdfeff
+vmaxud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vmaxsd: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vmaxsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 090a0b0c0e0d0e0f
+vmaxsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0102030405060708
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vmaxsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vminud: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vminud: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 090a0b0c0e0d0e0f
+vminud: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0102030405060708
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vminud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vminsd: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vminsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+vminsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f9fafbfcfefdfeff
+vminsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vcmpequd: 0102030405060708 @@ 0102030405060708 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vcmpequd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vcmpequd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpequd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+vcmpgtud: 0102030405060708 @@ 0102030405060708 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpgtud: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vcmpgtud: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vcmpgtud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000000
+
+vcmpgtsd: 0102030405060708 @@ 0102030405060708 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpgtsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000000
+
+vrld: 0102030405060708 @@ 0102030405060708 ==> 0203040506070801
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0586070687078485
+vrld: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0801020304050607
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 8485058607068707
+vrld: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f2f3f4f5f6f7f8f1
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 7dfe7f7eff7ffcfd
+vrld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f8f1f2f3f4f5f6f7
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> fcfd7dfe7f7eff7f
+
+vsld: 0102030405060708 @@ 0102030405060708 ==> 0203040506070800
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0586070687078000
+vsld: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0800000000000000
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 8000000000000000
+vsld: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f2f3f4f5f6f7f800
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 7dfe7f7eff7f8000
+vsld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f800000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 8000000000000000
+
+vsrad: 0102030405060708 @@ 0102030405060708 ==> 0001020304050607
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000121416181c1a
+vsrad: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000001
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vsrad: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> fff1f2f3f4f5f6f7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> fffff3f5f7f9fdfb
+vsrad: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> fffffffffffffff1
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+vsrd: 0102030405060708 @@ 0102030405060708 ==> 0001020304050607
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000121416181c1a
+vsrd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000001
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vsrd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 00f1f2f3f4f5f6f7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0001f3f5f7f9fdfb
+vsrd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 00000000000000f1
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000001
vpkudum: Inputs: 05060708 0e0d0e0f 05060708 0e0d0e0f
Output: 05060708 0e0d0e0f 05060708 0e0d0e0f
@@ -149,6 +149,78 @@
vpkudum: Inputs: f5f6f7f8 fefdfeff f5f6f7f8 fefdfeff
Output: f5f6f7f8 fefdfeff f5f6f7f8 fefdfeff
+vpmsumd: 0102030405060708 @@ 0102030405060708 ==> 0040004000400040
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0045004500410015
+vpmsumd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 07c007c006d00735
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> a260a260a374a2c5
+vpmsumd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 07c007c006d00735
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> a260a260a374a2c5
+vpmsumd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0040004000400040
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0045004500410015
+
+vnand: 0102030405060708 @@ 0102030405060708 ==> fefdfcfbfaf9f8f7
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> f6f5f4f3f1f2f1f0
+vnand: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> fefdfcfbfaf9f8f7
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f6f5f4f3f1f2f1f0
+vnand: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> fefdfcfbfaf9f8f7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f6f5f4f3f1f2f1f0
+vnand: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0e0d0c0b0a090807
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0605040301020100
+
+vorc: 0102030405060708 @@ 0102030405060708 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vorc: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0f0f0f0f0f0f0f0f
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f0f
+vorc: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vorc: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+veqv: 0102030405060708 @@ 0102030405060708 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+veqv: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0f0f0f0f0f0f0f0f
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f0f
+veqv: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0f0f0f0f0f0f0f0f
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0f0f0f0f0f0f0f0f
+veqv: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+vcipher: 0102030405060708 @@ 0102030405060708 ==> 15abdc2823b74b86
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 22037bc3e1e25abc
+vcipher: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> e55b2cd8d347bb76
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> d2f38b331112aa4c
+vcipher: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 8720c49da1d37bca
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 906d1f673bb72743
+vcipher: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 77d0346d51238b3a
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 609def97cb47d7b3
+
+vcipherlast: 0102030405060708 @@ 0102030405060708 ==> 7d6d28726e61acfa
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 08dd703ca57acbf1
+vcipherlast: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 8d9dd8829e915c0a
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f82d80cc558a3b01
+vcipherlast: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> a0400c12e32bbcb7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 905e064db58466bf
+vcipherlast: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 50b0fce213db4c47
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 60aef6bd4574964f
+
+vncipher: 0102030405060708 @@ 0102030405060708 ==> fe67ce881a80f569
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 19db0b0605541639
+vncipher: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0e973e78ea700599
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> e92bfbf6f5a4e6c9
+vncipher: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 8b10c2d5607a5569
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 581826de46277b9c
+vncipher: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 7be03225908aa599
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> a8e8d62eb6d78b6c
+
+vncipherlast: 0102030405060708 @@ 0102030405060708 ==> 08f19dbb336cd089
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 49afdef7d9ae363f
+vncipherlast: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f8016d4bc39c2079
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> b95f2e07295ec6cf
+vncipherlast: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 2a2360e572020b5d
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 60dc7571021928b5
+vncipherlast: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> dad3901582f2fbad
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 902c8581f2e9d845
+
vmulouw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 00193c6aa4917040 00c56e34124ba4e1
vmulouw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 04d39d63184f87c0 0dfee4d8b9c6e2f1
vmulouw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 04d39d63184f87c0 0dfee4d8b9c6e2f1
@@ -184,6 +256,21 @@
vmrgow: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> f5f6f7f805060708 fefdfeff0e0d0e0f
vmrgow: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> f5f6f7f8f5f6f7f8 fefdfefffefdfeff
+vpmsumb: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0005001500050055 0005001500050001
+vpmsumb: 01020304 05060708 090a0b0c 0e0d0e0f ==> 011502c501150505 011502c5011500f1
+vpmsumb: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 011502c501150505 011502c5011500f1
+vpmsumb: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0005001500050055 0005001500050001
+
+vpmsumh: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0004001400040054 0004001400000004
+vpmsumh: 01020304 05060708 090a0b0c 0e0d0e0f ==> 01e7c23401e045f4 01e7c2340001e1e4
+vpmsumh: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 01e7c23401e045f4 01e7c2340001e1e4
+vpmsumh: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0004001400040054 0004001400000004
+
+vpmsumw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0010001000100050 0015001500110005
+vpmsumw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 03d003d784578410 02c5032720e32115
+vpmsumw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 03d003d784578410 02c5032720e32115
+vpmsumw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0010001000100050 0015001500110005
+
vpkudus: 000000007c118a2b, 00000000f1112345 @@ 000000007c118a2b, 00000000f1112345 ==> 7c118a2b f1112345 7c118a2b f1112345
vpkudus: 000000007c118a2b, 00000000f1112345 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff ==> 7c118a2b f1112345 ffffffff ffffffff
vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 000000007c118a2b, 00000000f1112345 ==> ffffffff ffffffff 7c118a2b f1112345
@@ -205,4 +292,132 @@
vupklsw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 00000000090a0b0c 000000000e0d0e0f
vupklsw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> fffffffff9fafbfc fffffffffefdfeff
-All done. Tested 31 different instructions
+vpermxor: 0102030405060708 @@ 0102030405060708 @@ 0102030405060708 ==> 0302050407060908
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0b0a0d0f0f0c0f0e
+vpermxor: 0102030405060708 @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0d0c0b0a09080706
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0504030101020100
+vpermxor: 0102030405060708 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f3f2f5f4f7f6f9f8
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> fbfafdfffffcfffe
+vpermxor: 0102030405060708 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> fdfcfbfaf9f8f7f6
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f5f4f3f1f1f2f1f0
+vpermxor: f1f2f3f4f5f6f7f8 @@ 0102030405060708 @@ 0102030405060708 ==> f3f2f5f4f7f6f9f8
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> fbfafdfffffcfffe
+vpermxor: f1f2f3f4f5f6f7f8 @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> fdfcfbfaf9f8f7f6
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f5f4f3f1f1f2f1f0
+vpermxor: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0302050407060908
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0b0a0d0f0f0c0f0e
+vpermxor: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0d0c0b0a09080706
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0504030101020100
+
+vclzb: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 07060605050505040404040404040404
+vclzb: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vclzw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00000007000000050000000400000004
+vclzw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vclzh: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00070006000500050004000400040004
+vclzh: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vclzd: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00000000000000070000000000000004
+vclzd: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vpopcntb: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 01010201020203010202030203030304
+vpopcntb: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 05050605060607050606070607070708
+
+vpopcnth: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00020003000400040004000500060007
+vpopcnth: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 000a000b000c000c000c000d000e000f
+
+vpopcntw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 0000000500000008000000090000000d
+vpopcntw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 0000001500000018000000190000001d
+
+vpopcntd: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 000000000000000d0000000000000016
+vpopcntd: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 000000000000002d0000000000000036
+
+vsbox: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 7c777bf26b6fc53001672bfeabd7ab76
+vsbox: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> a1890dbfe6426841992d0fb0bb54bb16
+
+vshasigmad: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 088207870e8c098d || 8b9e1b9b13149015
+vshasigmad: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> c8f5100c7844a0fc || e9b5916d0131c581
+vshasigmad: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 592bfd4c0062b487 || fb4fb96f4cf02615
+vshasigmad: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 1fe0874b08d19458 || fdb8e0eda977beb2
+vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 81eb6eee67e560e4 || 02f772f27a7df97c
+vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 52af4a56221efaa6 || 73efcb375b6b9fdb
+vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 8bf92f9ed2b06655 || 299d6bbd9e22f4c7
+vshasigmad: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 986700cc8f5613df || 7a3f676a2ef03935
+
+vshasigmaw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 88e344269168cdae || 9bf057355c5e785e
+vshasigmaw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 41e2c021c36443a2 || 44e5c72626c5e584
+vshasigmaw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 106c98d5211d89e6 || 720efab787c30fd3
+vshasigmaw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> f185aa4c42173cde || d4a08f69fb5ef21e
+vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 4b2087e552ab0e6d || 583394f69f9dbb9d
+vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 27b89a7ba53e19f8 || 22bf9d7c409fbfde
+vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 6814e0ad5965f19e || 0a7682cfffbb77ab
+vshasigmaw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 54200fe9e7b2997b || 71052acc5efb57bb
+
+bcdadd.: 8045090189321003 || 001122334556677d @@ 8045090189321003 || 001122334556677d ==> 6090180378642006 || 002244669113354d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 8045090189321003 || 001122334556677d ==> 6090180378642006 || 002244669113354d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 0000107600000001 || 319293945142031a ==> 8044982589321001 || 681828389414646d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 0000107600000001 || 319293945142031a ==> 8044982589321001 || 681828389414646d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 000000000000000a ==> 8045090189321003 || 001122334556677d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 000000000000000a ==> 8045090189321003 || 001122334556677d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 0000000000000000 ==> 8045090189321003 || 001122334556677d
+bcdadd.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 0000000000000000 ==> 8045090189321003 || 001122334556677d
+bcdadd.: 0000107600000001 || 319293945142031a @@ 8045090189321003 || 001122334556677d ==> 8044982589321001 || 681828389414646d
+bcdadd.: 0000107600000001 || 319293945142031a @@ 8045090189321003 || 001122334556677d ==> 8044982589321001 || 681828389414646d
+bcdadd.: 0000107600000001 || 319293945142031a @@ 0000107600000001 || 319293945142031a ==> 0000215200000002 || 638587890284062c
+bcdadd.: 0000107600000001 || 319293945142031a @@ 0000107600000001 || 319293945142031a ==> 0000215200000002 || 638587890284062f
+bcdadd.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 000000000000000a ==> 0000107600000001 || 319293945142031c
+bcdadd.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 000000000000000a ==> 0000107600000001 || 319293945142031f
+bcdadd.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 0000000000000000 ==> 0000107600000001 || 319293945142031c
+bcdadd.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 0000000000000000 ==> 0000107600000001 || 319293945142031f
+bcdadd.: 0000000000000000 || 000000000000000a @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677d
+bcdadd.: 0000000000000000 || 000000000000000a @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677d
+bcdadd.: 0000000000000000 || 000000000000000a @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031c
+bcdadd.: 0000000000000000 || 000000000000000a @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031f
+bcdadd.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000c
+bcdadd.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000f
+bcdadd.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000c
+bcdadd.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000f
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677d
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677d
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031c
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031f
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000c
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000f
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000c
+bcdadd.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000f
+
+bcdsub.: 8045090189321003 || 001122334556677d @@ 8045090189321003 || 001122334556677d ==> 0000000000000000 || 000000000000000c
+bcdsub.: 8045090189321003 || 001122334556677d @@ 8045090189321003 || 001122334556677d ==> 0000000000000000 || 000000000000000f
+bcdsub.: 8045090189321003 || 001122334556677d @@ 0000107600000001 || 319293945142031a ==> 8045197789321004 || 320416279698708d
+bcdsub.: 8045090189321003 || 001122334556677d @@ 0000107600000001 || 319293945142031a ==> 8045197789321004 || 320416279698708d
+bcdsub.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 000000000000000a ==> 8045090189321003 || 001122334556677d
+bcdsub.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 000000000000000a ==> 8045090189321003 || 001122334556677d
+bcdsub.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 0000000000000000 ==> 8045090189321003 || 001122334556677d
+bcdsub.: 8045090189321003 || 001122334556677d @@ 0000000000000000 || 0000000000000000 ==> 8045090189321003 || 001122334556677d
+bcdsub.: 0000107600000001 || 319293945142031a @@ 8045090189321003 || 001122334556677d ==> 8045197789321004 || 320416279698708c
+bcdsub.: 0000107600000001 || 319293945142031a @@ 8045090189321003 || 001122334556677d ==> 8045197789321004 || 320416279698708f
+bcdsub.: 0000107600000001 || 319293945142031a @@ 0000107600000001 || 319293945142031a ==> 0000000000000000 || 000000000000000c
+bcdsub.: 0000107600000001 || 319293945142031a @@ 0000107600000001 || 319293945142031a ==> 0000000000000000 || 000000000000000f
+bcdsub.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 000000000000000a ==> 0000107600000001 || 319293945142031c
+bcdsub.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 000000000000000a ==> 0000107600000001 || 319293945142031f
+bcdsub.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 0000000000000000 ==> 0000107600000001 || 319293945142031c
+bcdsub.: 0000107600000001 || 319293945142031a @@ 0000000000000000 || 0000000000000000 ==> 0000107600000001 || 319293945142031f
+bcdsub.: 0000000000000000 || 000000000000000a @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677c
+bcdsub.: 0000000000000000 || 000000000000000a @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677f
+bcdsub.: 0000000000000000 || 000000000000000a @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031d
+bcdsub.: 0000000000000000 || 000000000000000a @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031d
+bcdsub.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000c
+bcdsub.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000f
+bcdsub.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000c
+bcdsub.: 0000000000000000 || 000000000000000a @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000f
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677c
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 8045090189321003 || 001122334556677d ==> 8045090189321003 || 001122334556677f
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031d
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000107600000001 || 319293945142031a ==> 0000107600000001 || 319293945142031d
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000c
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 000000000000000a ==> 0000000000000000 || 000000000000000f
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000c
+bcdsub.: 0000000000000000 || 0000000000000000 @@ 0000000000000000 || 0000000000000000 ==> 0000000000000000 || 000000000000000f
+
+All done. Tested 56 different instructions
Modified: trunk/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp
==============================================================================
--- trunk/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp (original)
+++ trunk/none/tests/ppc64/jm_vec_isa_2_07.stdout.exp Tue Oct 15 18:13:21 2013
@@ -23,122 +23,122 @@
mtfprwa: f5f6f7f8 => fffffffff5f6f7f8
mtfprwa: fefdfeff => fffffffffefdfeff
-vaddudm: 0102030405060708 @@ 0102030405060708, ==> 020406080a0c0e10
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 121416181c1a1c1e
-vaddudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> f2f4f6f8fafcff00
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 030507090d0b0d0e
-vaddudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f2f4f6f8fafcff00
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 030507090d0b0d0e
-vaddudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> e3e5e7e9ebedeff0
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f3f5f7f9fdfbfdfe
-
-vsubudm: 0102030405060708 @@ 0102030405060708, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vsubudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0f0f0f0f0f0f0f10
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0f0f0f0f0f0f0f10
-vsubudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f0f0f0f0f0f0f0f0
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> f0f0f0f0f0f0f0f0
-vsubudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000000
-
-vmaxud: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vmaxud: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-vmaxud: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> f9fafbfcfefdfeff
-vmaxud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vmaxsd: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vmaxsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 090a0b0c0e0d0e0f
-vmaxsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0102030405060708
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vmaxsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vminud: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vminud: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 090a0b0c0e0d0e0f
-vminud: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0102030405060708
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vminud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vminsd: 0102030405060708 @@ 0102030405060708, ==> 0102030405060708
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 090a0b0c0e0d0e0f
-vminsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-vminsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> f9fafbfcfefdfeff
-vminsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f1f2f3f4f5f6f7f8
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> f9fafbfcfefdfeff
-
-vcmpequd: 0102030405060708 @@ 0102030405060708, ==> ffffffffffffffff
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> ffffffffffffffff
-vcmpequd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vcmpequd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0000000000000000
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpequd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> ffffffffffffffff
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> ffffffffffffffff
-
-vcmpgtud: 0102030405060708 @@ 0102030405060708, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpgtud: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vcmpgtud: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> ffffffffffffffff
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> ffffffffffffffff
-vcmpgtud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000000
-
-vcmpgtsd: 0102030405060708 @@ 0102030405060708, ==> 0000000000000000
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpgtsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> ffffffffffffffff
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> ffffffffffffffff
-vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 0000000000000000
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 0000000000000000
-vcmpgtsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000000
-
-vrld: 0102030405060708 @@ 0102030405060708, ==> 0203040506070801
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0586070687078485
-vrld: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0801020304050607
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 8485058607068707
-vrld: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f2f3f4f5f6f7f8f1
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 7dfe7f7eff7ffcfd
-vrld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f8f1f2f3f4f5f6f7
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> fcfd7dfe7f7eff7f
-
-vsld: 0102030405060708 @@ 0102030405060708, ==> 0203040506070800
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0586070687078000
-vsld: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0800000000000000
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 8000000000000000
-vsld: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> f2f3f4f5f6f7f800
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 7dfe7f7eff7f8000
-vsld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> f800000000000000
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 8000000000000000
-
-vsrad: 0102030405060708 @@ 0102030405060708, ==> 0001020304050607
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000121416181c1a
-vsrad: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000001
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vsrad: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> fff1f2f3f4f5f6f7
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> fffff3f5f7f9fdfb
-vsrad: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> fffffffffffffff1
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> ffffffffffffffff
-
-vsrd: 0102030405060708 @@ 0102030405060708, ==> 0001020304050607
- 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f, ==> 0000121416181c1a
-vsrd: 0102030405060708 @@ f1f2f3f4f5f6f7f8, ==> 0000000000000001
- 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff, ==> 0000000000000000
-vsrd: f1f2f3f4f5f6f7f8 @@ 0102030405060708, ==> 00f1f2f3f4f5f6f7
- f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f, ==> 0001f3f5f7f9fdfb
-vsrd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8, ==> 00000000000000f1
- f9fafbfcfefdfeff @@ f9fafbfcfefdfeff, ==> 0000000000000001
+vaddudm: 0102030405060708 @@ 0102030405060708 ==> 020406080a0c0e10
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 121416181c1a1c1e
+vaddudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f2f4f6f8fafcff00
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 030507090d0b0d0e
+vaddudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f2f4f6f8fafcff00
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 030507090d0b0d0e
+vaddudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> e3e5e7e9ebedeff0
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f3f5f7f9fdfbfdfe
+
+vsubudm: 0102030405060708 @@ 0102030405060708 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vsubudm: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0f0f0f0f0f0f0f10
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f10
+vsubudm: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f0f0f0f0f0f0f0f0
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f0f0f0f0f0f0f0f0
+vsubudm: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000000
+
+vmaxud: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vmaxud: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+vmaxud: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f9fafbfcfefdfeff
+vmaxud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vmaxsd: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vmaxsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 090a0b0c0e0d0e0f
+vmaxsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0102030405060708
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vmaxsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vminud: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vminud: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 090a0b0c0e0d0e0f
+vminud: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0102030405060708
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vminud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vminsd: 0102030405060708 @@ 0102030405060708 ==> 0102030405060708
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 090a0b0c0e0d0e0f
+vminsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+vminsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f9fafbfcfefdfeff
+vminsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f1f2f3f4f5f6f7f8
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f9fafbfcfefdfeff
+
+vcmpequd: 0102030405060708 @@ 0102030405060708 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vcmpequd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vcmpequd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpequd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+vcmpgtud: 0102030405060708 @@ 0102030405060708 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpgtud: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vcmpgtud: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vcmpgtud: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000000
+
+vcmpgtsd: 0102030405060708 @@ 0102030405060708 ==> 0000000000000000
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpgtsd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0000000000000000
+vcmpgtsd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000000
+
+vrld: 0102030405060708 @@ 0102030405060708 ==> 0203040506070801
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0586070687078485
+vrld: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0801020304050607
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 8485058607068707
+vrld: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f2f3f4f5f6f7f8f1
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 7dfe7f7eff7ffcfd
+vrld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f8f1f2f3f4f5f6f7
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> fcfd7dfe7f7eff7f
+
+vsld: 0102030405060708 @@ 0102030405060708 ==> 0203040506070800
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0586070687078000
+vsld: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0800000000000000
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 8000000000000000
+vsld: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f2f3f4f5f6f7f800
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 7dfe7f7eff7f8000
+vsld: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> f800000000000000
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 8000000000000000
+
+vsrad: 0102030405060708 @@ 0102030405060708 ==> 0001020304050607
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000121416181c1a
+vsrad: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000001
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vsrad: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> fff1f2f3f4f5f6f7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> fffff3f5f7f9fdfb
+vsrad: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> fffffffffffffff1
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+vsrd: 0102030405060708 @@ 0102030405060708 ==> 0001020304050607
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0000121416181c1a
+vsrd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0000000000000001
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0000000000000000
+vsrd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 00f1f2f3f4f5f6f7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0001f3f5f7f9fdfb
+vsrd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 00000000000000f1
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0000000000000001
vpkudum: Inputs: 05060708 0e0d0e0f 05060708 0e0d0e0f
Output: 05060708 0e0d0e0f 05060708 0e0d0e0f
@@ -149,6 +149,78 @@
vpkudum: Inputs: f5f6f7f8 fefdfeff f5f6f7f8 fefdfeff
Output: f5f6f7f8 fefdfeff f5f6f7f8 fefdfeff
+vpmsumd: 0102030405060708 @@ 0102030405060708 ==> 0040004000400040
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0045004500410015
+vpmsumd: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 07c007c006d00735
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> a260a260a374a2c5
+vpmsumd: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 07c007c006d00735
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> a260a260a374a2c5
+vpmsumd: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0040004000400040
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0045004500410015
+
+vnand: 0102030405060708 @@ 0102030405060708 ==> fefdfcfbfaf9f8f7
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> f6f5f4f3f1f2f1f0
+vnand: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> fefdfcfbfaf9f8f7
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f6f5f4f3f1f2f1f0
+vnand: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> fefdfcfbfaf9f8f7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> f6f5f4f3f1f2f1f0
+vnand: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0e0d0c0b0a090807
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0605040301020100
+
+vorc: 0102030405060708 @@ 0102030405060708 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vorc: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0f0f0f0f0f0f0f0f
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f0f
+vorc: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+vorc: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+veqv: 0102030405060708 @@ 0102030405060708 ==> ffffffffffffffff
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> ffffffffffffffff
+veqv: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0f0f0f0f0f0f0f0f
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0f0f0f0f0f0f0f0f
+veqv: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0f0f0f0f0f0f0f0f
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0f0f0f0f0f0f0f0f
+veqv: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> ffffffffffffffff
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> ffffffffffffffff
+
+vcipher: 0102030405060708 @@ 0102030405060708 ==> 15abdc2823b74b86
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 22037bc3e1e25abc
+vcipher: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> e55b2cd8d347bb76
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> d2f38b331112aa4c
+vcipher: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 8720c49da1d37bca
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 906d1f673bb72743
+vcipher: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 77d0346d51238b3a
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 609def97cb47d7b3
+
+vcipherlast: 0102030405060708 @@ 0102030405060708 ==> 7d6d28726e61acfa
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 08dd703ca57acbf1
+vcipherlast: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 8d9dd8829e915c0a
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f82d80cc558a3b01
+vcipherlast: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> a0400c12e32bbcb7
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 905e064db58466bf
+vcipherlast: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 50b0fce213db4c47
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 60aef6bd4574964f
+
+vncipher: 0102030405060708 @@ 0102030405060708 ==> fe67ce881a80f569
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 19db0b0605541639
+vncipher: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0e973e78ea700599
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> e92bfbf6f5a4e6c9
+vncipher: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 8b10c2d5607a5569
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 581826de46277b9c
+vncipher: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 7be03225908aa599
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> a8e8d62eb6d78b6c
+
+vncipherlast: 0102030405060708 @@ 0102030405060708 ==> 08f19dbb336cd089
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 49afdef7d9ae363f
+vncipherlast: 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> f8016d4bc39c2079
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> b95f2e07295ec6cf
+vncipherlast: f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 2a2360e572020b5d
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 60dc7571021928b5
+vncipherlast: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> dad3901582f2fbad
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 902c8581f2e9d845
+
vmulouw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 00193c6aa4917040 00c56e34124ba4e1
vmulouw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 04d39d63184f87c0 0dfee4d8b9c6e2f1
vmulouw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 04d39d63184f87c0 0dfee4d8b9c6e2f1
@@ -184,6 +256,21 @@
vmrgow: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> f5f6f7f805060708 fefdfeff0e0d0e0f
vmrgow: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> f5f6f7f8f5f6f7f8 fefdfefffefdfeff
+vpmsumb: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0005001500050055 0005001500050001
+vpmsumb: 01020304 05060708 090a0b0c 0e0d0e0f ==> 011502c501150505 011502c5011500f1
+vpmsumb: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 011502c501150505 011502c5011500f1
+vpmsumb: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0005001500050055 0005001500050001
+
+vpmsumh: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0004001400040054 0004001400000004
+vpmsumh: 01020304 05060708 090a0b0c 0e0d0e0f ==> 01e7c23401e045f4 01e7c2340001e1e4
+vpmsumh: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 01e7c23401e045f4 01e7c2340001e1e4
+vpmsumh: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0004001400040054 0004001400000004
+
+vpmsumw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 0010001000100050 0015001500110005
+vpmsumw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 03d003d784578410 02c5032720e32115
+vpmsumw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 03d003d784578410 02c5032720e32115
+vpmsumw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> 0010001000100050 0015001500110005
+
vpkudus: 000000007c118a2b, 00000000f1112345 @@ 000000007c118a2b, 00000000f1112345 ==> 7c118a2b f1112345 7c118a2b f1112345
vpkudus: 000000007c118a2b, 00000000f1112345 @@ 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff ==> 7c118a2b f1112345 ffffffff ffffffff
vpkudus: 01f2f3f4f5f6f7f8, f9fafbfcfefdfeff @@ 000000007c118a2b, 00000000f1112345 ==> ffffffff ffffffff 7c118a2b f1112345
@@ -205,4 +292,132 @@
vupklsw: 01020304 05060708 090a0b0c 0e0d0e0f ==> 00000000090a0b0c 000000000e0d0e0f
vupklsw: f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff ==> fffffffff9fafbfc fffffffffefdfeff
-All done. Tested 31 different instructions
+vpermxor: 0102030405060708 @@ 0102030405060708 @@ 0102030405060708 ==> 0302050407060908
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> 0b0a0d0f0f0c0f0e
+vpermxor: 0102030405060708 @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> 0d0c0b0a09080706
+ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> 0504030101020100
+vpermxor: 0102030405060708 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> f3f2f5f4f7f6f9f8
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> fbfafdfffffcfffe
+vpermxor: 0102030405060708 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> fdfcfbfaf9f8f7f6
+ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> f5f4f3f1f1f2f1f0
+vpermxor: f1f2f3f4f5f6f7f8 @@ 0102030405060708 @@ 0102030405060708 ==> f3f2f5f4f7f6f9f8
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f @@ 090a0b0c0e0d0e0f ==> fbfafdfffffcfffe
+vpermxor: f1f2f3f4f5f6f7f8 @@ 0102030405060708 @@ f1f2f3f4f5f6f7f8 ==> fdfcfbfaf9f8f7f6
+ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f @@ f9fafbfcfefdfeff ==> f5f4f3f1f1f2f1f0
+vpermxor: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 @@ 0102030405060708 ==> 0302050407060908
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff @@ 090a0b0c0e0d0e0f ==> 0b0a0d0f0f0c0f0e
+vpermxor: f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 @@ f1f2f3f4f5f6f7f8 ==> 0d0c0b0a09080706
+ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff @@ f9fafbfcfefdfeff ==> 0504030101020100
+
+vclzb: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 07060605050505040404040404040404
+vclzb: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vclzw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00000007000000050000000400000004
+vclzw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vclzh: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00070006000500050004000400040004
+vclzh: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vclzd: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00000000000000070000000000000004
+vclzd: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 00000000000000000000000000000000
+
+vpopcntb: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 01010201020203010202030203030304
+vpopcntb: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 05050605060607050606070607070708
+
+vpopcnth: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 00020003000400040004000500060007
+vpopcnth: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 000a000b000c000c000c000d000e000f
+
+vpopcntw: 0102030405060708 @@ 090a0b0c0e0d0e0f ==> 0000000500000008000000090000000d
+vpopcntw: f1f2f3f4f5f6f7f8 @@ f9fafbfcfefdfeff ==> 000000150...
[truncated message content] |