Allow each test to be run multiple times (default is 3), rather than
just once.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12665 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/none/tests/amd64/avx-1.c b/none/tests/amd64/avx-1.c
index 785e62a..b499238 100644
--- a/none/tests/amd64/avx-1.c
+++ b/none/tests/amd64/avx-1.c
@@ -1569,360 +1569,370 @@
    Imm8 etc fields are also allowed, where they make sense.
 */
 
+#define N_DEFAULT_ITERS 3
+
+// Do the specified test some number of times
+#define DO_N(_iters, _testfn) \
+   do { int i; for (i = 0; i < (_iters); i++) { test_##_testfn(); } } while (0)
+
+// Do the specified test the default number of times
+#define DO_D(_testfn) DO_N(N_DEFAULT_ITERS, _testfn)
+
+
 int main ( void )
 {
-   test_VMOVUPD_EtoG_256();
-   test_VMOVUPD_GtoE_256();
-   test_VPSUBW_128();
-   test_VPSUBQ_128();
-   test_VPADDQ_128();
-   test_VPINSRQ_128();
-   test_VUCOMISS_128();
-   test_VUCOMISD_128();
-   test_VCVTPS2PD_128();
-   test_VANDNPD_128();
-   test_VORPD_128();
-   test_VXORPD_128();
-   test_VXORPS_128();
-   test_VMULSD_128();
-   test_VADDSD_128();
-   test_VMINSD_128();
-   test_VSUBSD_128();
-   test_VDIVSD_128();
-   test_VMAXSD_128();
-   test_VPSHUFD_0x39_128();
-   test_VPCMPEQD_128();
-   test_VPEXTRD_128_0x3();
-   test_VPEXTRD_128_0x0();
-   test_VINSERTF128_0x0();
-   test_VINSERTF128_0x1();
-   test_VEXTRACTF128_0x0();
-   test_VEXTRACTF128_0x1();
-   test_VCVTPD2PS_128(); // see comment on the test
+   DO_D( VMOVUPD_EtoG_256 );
+   DO_D( VMOVUPD_GtoE_256 );
+   DO_D( VPSUBW_128 );
+   DO_D( VPSUBQ_128 );
+   DO_D( VPADDQ_128 );
+   DO_D( VPINSRQ_128 );
+   DO_D( VUCOMISS_128 );
+   DO_D( VUCOMISD_128 );
+   DO_D( VCVTPS2PD_128 );
+   DO_D( VANDNPD_128 );
+   DO_D( VORPD_128 );
+   DO_D( VXORPD_128 );
+   DO_D( VXORPS_128 );
+   DO_D( VMULSD_128 );
+   DO_D( VADDSD_128 );
+   DO_D( VMINSD_128 );
+   DO_D( VSUBSD_128 );
+   DO_D( VDIVSD_128 );
+   DO_D( VMAXSD_128 );
+   DO_D( VPSHUFD_0x39_128 );
+   DO_D( VPCMPEQD_128 );
+   DO_D( VPEXTRD_128_0x3 );
+   DO_D( VPEXTRD_128_0x0 );
+   DO_D( VINSERTF128_0x0 );
+   DO_D( VINSERTF128_0x1 );
+   DO_D( VEXTRACTF128_0x0 );
+   DO_D( VEXTRACTF128_0x1 );
+   DO_D( VCVTPD2PS_128 );
    /* Test all CMPSS variants; this code is tricky. */
-   test_VCMPSS_128_0x0();
-   test_VCMPSS_128_0x1();
-   test_VCMPSS_128_0x2();
-   test_VCMPSS_128_0x3();
-   test_VCMPSS_128_0x4();
-   test_VCMPSS_128_0x5();
-   test_VCMPSS_128_0x6();
-   test_VCMPSS_128_0x7();
-   test_VCMPSS_128_0xA();
+   DO_D( VCMPSS_128_0x0 );
+   DO_D( VCMPSS_128_0x1 );
+   DO_D( VCMPSS_128_0x2 );
+   DO_D( VCMPSS_128_0x3 );
+   DO_D( VCMPSS_128_0x4 );
+   DO_D( VCMPSS_128_0x5 );
+   DO_D( VCMPSS_128_0x6 );
+   DO_D( VCMPSS_128_0x7 );
+   DO_D( VCMPSS_128_0xA );
    /* no 0xB case yet observed */
-   test_VCMPSS_128_0xC();
-   test_VCMPSS_128_0xD();
-   test_VCMPSS_128_0xE();
-   test_VMOVDDUP_XMMorMEM64_to_XMM();
-   test_VMOVD_IREGorMEM32_to_XMM();
-   test_VMOVQ_XMM_MEM64();
-   test_VMOVDQA_GtoE_256();
-   test_VMOVDQA_GtoE_128();
-   test_VMOVDQU_GtoE_128();
-   test_VMOVDQA_EtoG_256();
-   test_VMOVDQA_EtoG_128();
-   test_VMOVDQU_EtoG_128();
-   test_VMOVAPD_GtoE_128();
-   test_VMOVAPD_GtoE_256();
-   test_VMOVAPS_GtoE_128();
-   test_VMOVAPS_GtoE_256();
-   test_VMOVAPS_EtoG_128();
-   test_VMOVAPD_EtoG_256();
-   test_VMOVAPD_EtoG_128();
-   test_VMOVUPD_GtoE_128();
-   test_VMOVSS_XMM_M32();
-   test_VMOVSD_XMM_M64();
-   test_VMOVSS_M64_XMM();
-   test_VMOVSD_M64_XMM();
-   test_VINSERTPS_0x39_128();
-   test_VPUNPCKLDQ_128();
-   test_VPACKSSDW_128();
-   test_VPADDW_128();
-   test_VPSRLW_0x05_128();
-   test_VPSLLW_0x05_128();
-   test_VPUNPCKLQDQ_128();
-   test_VPINSRD_128();
-   test_VMOVD_XMM_to_MEM32();
-   test_VPANDN_128();
-   test_VPSLLDQ_0x05_128();
-   test_VPSRLDQ_0x05_128();
-   test_VPSUBUSB_128();
-   test_VPSUBSB_128();
-   test_VPSLLD_0x05_128();
-   test_VPSRLD_0x05_128();
-   test_VPSRAD_0x05_128();
-   test_VPUNPCKLWD_128();
-   test_VPUNPCKHWD_128();
-   test_VPADDUSB_128();
-   test_VPMULHUW_128();
-   test_VPADDUSW_128();
-   test_VPMULLW_128();
-   test_VPSHUFHW_0x39_128();
-   test_VPSHUFLW_0x39_128();
-   test_VCVTPS2DQ_128();
-   test_VSUBPS_128();
-   test_VADDPS_128();
-   test_VMULPS_128();
-   test_VMAXPS_128();
-   test_VMINPS_128();
-   test_VSHUFPS_0x39_128();
-   test_VPCMPEQB_128();
-   test_VMOVHPD_128_StoreForm();
-   test_VPAND_128();
-   test_VPMOVMSKB_128();
-   test_VCVTTSS2SI_64();
-   test_VPACKUSWB_128();
-   test_VCVTSS2SD_128();
-   test_VCVTSD2SS_128();
-   test_VMOVD_XMM_to_IREG32();
-   test_VPCMPESTRM_0x45_128();
-   test_VMOVQ_IREGorMEM64_to_XMM();
-   test_VMOVUPS_XMM_to_XMMorMEM();
-   test_VMOVNTDQ_128();
-   test_VMOVLHPS_128();
-   test_VPABSD_128();
-   test_VMOVHLPS_128();
-   test_VMOVQ_XMM_to_IREG64();
-   test_VMOVQ_XMMorMEM64_to_XMM();
-   test_VCVTTSS2SI_32();
-   test_VPUNPCKLBW_128();
-   test_VPUNPCKHBW_128();
-   test_VMULSS_128();
-   test_VSUBSS_128();
-   test_VADDSS_128();
-   test_VDIVSS_128();
-   test_VUNPCKLPS_128();
-   test_VCVTSI2SS_128();
-   test_VANDPS_128();
-   test_VMINSS_128();
-   test_VMAXSS_128();
-   test_VANDNPS_128();
-   test_VORPS_128();
-   test_VSQRTSD_128();
-   test_VCMPSD_128_0xD();
-   test_VCMPSD_128_0x0();
-   test_VPSHUFB_128();
-   test_VCVTTSD2SI_32();
-   test_VCVTTSD2SI_64();
-   test_VCVTSI2SS_64();
-   test_VCVTSI2SD_64();
-   test_VCVTSI2SD_32();
-   test_VPOR_128();
-   test_VPXOR_128();
-   test_VPSUBB_128();
-   test_VPSUBD_128();
-   test_VPADDD_128();
-   test_VPMOVZXBW_128();
-   test_VPMOVZXWD_128();
-   test_VPBLENDVB_128();
-   test_VPMINSD_128();
-   test_VPMAXSD_128();
-   test_VANDPD_128();
-   test_VMULPD_256();
-   test_VMOVUPD_EtoG_128();
-   test_VADDPD_256();
-   test_VSUBPD_256();
-   test_VDIVPD_256();
-   test_VPCMPEQQ_128();
-   test_VSUBPD_128();
-   test_VADDPD_128();
-   test_VUNPCKLPD_128();
-   test_VUNPCKHPD_128();
-   test_VUNPCKHPS_128();
-   test_VMOVUPS_EtoG_128();
-   test_VADDPS_256();
-   test_VSUBPS_256();
-   test_VMULPS_256();
-   test_VDIVPS_256();
-   test_VPCMPGTQ_128();
-   test_VPEXTRQ_128_0x0();
-   test_VPEXTRQ_128_0x1();
-   test_VPSRLQ_0x05_128();
-   test_VPMULUDQ_128();
-   test_VPSLLQ_0x05_128();
-   test_VPMAXUD_128();
-   test_VPMINUD_128();
-   test_VPMULLD_128();
-   test_VPMAXUW_128();
-   test_VPEXTRW_128_EregOnly_toG_0x0();
-   test_VPEXTRW_128_EregOnly_toG_0x7();
-   test_VPMINUW_128();
-   test_VPHMINPOSUW_128();
-   test_VPMAXSW_128();
-   test_VPMINSW_128();
-   test_VPMAXUB_128();
-   test_VPEXTRB_GtoE_128_0x0();
-   test_VPEXTRB_GtoE_128_0x1();
-   test_VPEXTRB_GtoE_128_0x2();
-   test_VPEXTRB_GtoE_128_0x3();
-   test_VPEXTRB_GtoE_128_0x4();
-   test_VPEXTRB_GtoE_128_0x9();
-   test_VPEXTRB_GtoE_128_0xE();
-   test_VPEXTRB_GtoE_128_0xF();
-   test_VPMINUB_128();
-   test_VPMAXSB_128();
-   test_VPMINSB_128();
-   test_VPERM2F128_0x00();
-   test_VPERM2F128_0xFF();
-   test_VPERM2F128_0x30();
-   test_VPERM2F128_0x21();
-   test_VPERM2F128_0x12();
-   test_VPERM2F128_0x03();
-   test_VPERM2F128_0x85();
-   test_VPERM2F128_0x5A();
-   test_VPERMILPD_256_0x0();
-   test_VPERMILPD_256_0xF();
-   test_VPERMILPD_256_0xA();
-   test_VPERMILPD_256_0x5();
-   test_VPERMILPD_128_0x0();
-   test_VPERMILPD_128_0x3();
-   test_VUNPCKLPD_256();
-   test_VUNPCKHPD_256();
-   test_VSHUFPS_0x39_256();
-   test_VUNPCKLPS_256();
-   test_VUNPCKHPS_256();
-   test_VXORPD_256();
-   test_VBROADCASTSD_256();
-   test_VCMPPD_128_0x4();
-   test_VCVTDQ2PD_128();
-   test_VDIVPD_128();
-   test_VANDPD_256();
-   test_VPMOVSXBW_128();
-   test_VPSUBUSW_128();
-   test_VPSUBSW_128();
-   test_VPCMPEQW_128();
-   test_VPADDB_128();
-   test_VMOVAPS_EtoG_256();
-   test_VCVTDQ2PD_256();
-   test_VMOVHPD_128_LoadForm();
-   test_VCVTPD2PS_256();
-   test_VPUNPCKHDQ_128();
-   test_VBROADCASTSS_128();
-   test_VPMOVSXDQ_128();
-   test_VPMOVSXWD_128();
-   test_VDIVPS_128();
-   test_VANDPS_256();
-   test_VXORPS_256();
-   test_VORPS_256();
-   test_VANDNPD_256();
-   test_VANDNPS_256();
-   test_VORPD_256();
-   test_VPERMILPS_256_0x0F();
-   test_VPERMILPS_256_0xFA();
-   test_VPERMILPS_256_0xA3();
-   test_VPERMILPS_256_0x5A();
-   test_VPMULHW_128();
-   test_VPUNPCKHQDQ_128();
-   test_VPSRAW_0x05_128();
-   test_VPCMPGTD_128();
-   test_VPMOVZXBD_128();
-   test_VPMOVSXBD_128();
-   test_VPINSRB_128_1of3();
-   test_VPINSRB_128_2of3();
-   test_VPINSRB_128_3of3();
-   test_VCOMISD_128();
-   test_VCOMISS_128();
-   test_VMOVUPS_YMM_to_YMMorMEM();
-   test_VDPPD_128_1of4();
-   test_VDPPD_128_2of4();
-   test_VDPPD_128_3of4();
-   test_VDPPD_128_4of4();
-   test_VPINSRW_128_1of4();
-   test_VPINSRW_128_2of4();
-   test_VPINSRW_128_3of4();
-   test_VPINSRW_128_4of4();
-   test_VBROADCASTSS_256();
-   test_VPALIGNR_128_1of3();
-   test_VPALIGNR_128_2of3();
-   test_VPALIGNR_128_3of3();
-   test_VMOVSD_REG_XMM();
-   test_VMOVSS_REG_XMM();
-   test_VMOVLPD_128_M64_XMM_XMM();
-   test_VMOVLPD_128_XMM_M64();
-   test_VSHUFPD_128_1of2();
-   test_VSHUFPD_128_2of2();
-   test_VSHUFPD_256_1of2();
-   test_VSHUFPD_256_2of2();
-   test_VPERMILPS_128_0x00();
-   test_VPERMILPS_128_0xFE();
-   test_VPERMILPS_128_0x30();
-   test_VPERMILPS_128_0x21();
-   test_VPERMILPS_128_0xD7();
-   test_VPERMILPS_128_0xB5();
-   test_VPERMILPS_128_0x85();
-   test_VPERMILPS_128_0x29();
-   test_VBLENDPS_128_1of3();
-   test_VBLENDPS_128_2of3();
-   test_VBLENDPS_128_3of3();
-   test_VBLENDPD_128_1of2();
-   test_VBLENDPD_128_2of2();
-   test_VBLENDPD_256_1of3();
-   test_VBLENDPD_256_2of3();
-   test_VBLENDPD_256_3of3();
-   test_VPBLENDW_128_0x00();
-   test_VPBLENDW_128_0xFE();
-   test_VPBLENDW_128_0x30();
-   test_VPBLENDW_128_0x21();
-   test_VPBLENDW_128_0xD7();
-   test_VPBLENDW_128_0xB5();
-   test_VPBLENDW_128_0x85();
-   test_VPBLENDW_128_0x29();
-   test_VMOVUPS_EtoG_256();
-   test_VSQRTSS_128();
-   test_VSQRTPS_128();
-   test_VSQRTPS_256();
-   test_VSQRTPD_128();
-   test_VSQRTPD_256();
-   test_VRSQRTSS_128();
-   test_VRSQRTPS_128();
-   test_VRSQRTPS_256();
-   test_VMOVDQU_GtoE_256();
-   test_VCVTPS2PD_256();
-   test_VCVTTPS2DQ_128();
-   test_VCVTTPS2DQ_256();
-   test_VCVTDQ2PS_128();
-   test_VCVTDQ2PS_256();
-   test_VCVTTPD2DQ_128();
-   test_VCVTTPD2DQ_256();
-   test_VCVTPD2DQ_128();
-   test_VCVTPD2DQ_256();
-   test_VMOVSLDUP_128();
-   test_VMOVSLDUP_256();
-   test_VMOVSHDUP_128();
-   test_VMOVSHDUP_256();
-   test_VPERMILPS_VAR_128();
-   test_VPERMILPD_VAR_128();
-   test_VPERMILPS_VAR_256();
-   test_VPERMILPD_VAR_256();
-   test_VPSLLW_128();
-   test_VPSRLW_128();
-   test_VPSRAW_128();
-   test_VPSLLD_128();
-   test_VPSRLD_128();
-   test_VPSRAD_128();
-   test_VPSLLQ_128();
-   test_VPSRLQ_128();
-   test_VROUNDPS_128_0x2();
-   test_VROUNDPS_256_0x2();
-   test_VROUNDPD_128_0x2();
-   test_VROUNDPD_256_0x2();
-   test_VROUNDSS_0x5();
-   test_VROUNDSD_0x3();
-   test_VPTEST_128_1();
-   test_VPTEST_128_2();
-   test_VPTEST_256_1();
-   test_VPTEST_256_2();
-   test_VTESTPS_128_1();
-   test_VTESTPS_128_2();
-   test_VTESTPS_128_3(); // 10x
-   test_VTESTPS_256_1();
-   test_VTESTPS_256_2();
-   test_VTESTPS_256_3(); // 10x
-   test_VTESTPD_128_1();
-   test_VTESTPD_128_2();
-   test_VTESTPD_128_3(); // 10x
-   test_VTESTPD_256_1();
-   test_VTESTPD_256_2();
-   test_VTESTPD_256_3(); // 10x
+   DO_D( VCMPSS_128_0xC );
+   DO_D( VCMPSS_128_0xD );
+   DO_D( VCMPSS_128_0xE );
+   DO_D( VMOVDDUP_XMMorMEM64_to_XMM );
+   DO_D( VMOVD_IREGorMEM32_to_XMM );
+   DO_D( VMOVQ_XMM_MEM64 );
+   DO_D( VMOVDQA_GtoE_256 );
+   DO_D( VMOVDQA_GtoE_128 );
+   DO_D( VMOVDQU_GtoE_128 );
+   DO_D( VMOVDQA_EtoG_256 );
+   DO_D( VMOVDQA_EtoG_128 );
+   DO_D( VMOVDQU_EtoG_128 );
+   DO_D( VMOVAPD_GtoE_128 );
+   DO_D( VMOVAPD_GtoE_256 );
+   DO_D( VMOVAPS_GtoE_128 );
+   DO_D( VMOVAPS_GtoE_256 );
+   DO_D( VMOVAPS_EtoG_128 );
+   DO_D( VMOVAPD_EtoG_256 );
+   DO_D( VMOVAPD_EtoG_128 );
+   DO_D( VMOVUPD_GtoE_128 );
+   DO_D( VMOVSS_XMM_M32 );
+   DO_D( VMOVSD_XMM_M64 );
+   DO_D( VMOVSS_M64_XMM );
+   DO_D( VMOVSD_M64_XMM );
+   DO_D( VINSERTPS_0x39_128 );
+   DO_D( VPUNPCKLDQ_128 );
+   DO_D( VPACKSSDW_128 );
+   DO_D( VPADDW_128 );
+   DO_D( VPSRLW_0x05_128 );
+   DO_D( VPSLLW_0x05_128 );
+   DO_D( VPUNPCKLQDQ_128 );
+   DO_D( VPINSRD_128 );
+   DO_D( VMOVD_XMM_to_MEM32 );
+   DO_D( VPANDN_128 );
+   DO_D( VPSLLDQ_0x05_128 );
+   DO_D( VPSRLDQ_0x05_128 );
+   DO_D( VPSUBUSB_128 );
+   DO_D( VPSUBSB_128 );
+   DO_D( VPSLLD_0x05_128 );
+   DO_D( VPSRLD_0x05_128 );
+   DO_D( VPSRAD_0x05_128 );
+   DO_D( VPUNPCKLWD_128 );
+   DO_D( VPUNPCKHWD_128 );
+   DO_D( VPADDUSB_128 );
+   DO_D( VPMULHUW_128 );
+   DO_D( VPADDUSW_128 );
+   DO_D( VPMULLW_128 );
+   DO_D( VPSHUFHW_0x39_128 );
+   DO_D( VPSHUFLW_0x39_128 );
+   DO_D( VCVTPS2DQ_128 );
+   DO_D( VSUBPS_128 );
+   DO_D( VADDPS_128 );
+   DO_D( VMULPS_128 );
+   DO_D( VMAXPS_128 );
+   DO_D( VMINPS_128 );
+   DO_D( VSHUFPS_0x39_128 );
+   DO_D( VPCMPEQB_128 );
+   DO_D( VMOVHPD_128_StoreForm );
+   DO_D( VPAND_128 );
+   DO_D( VPMOVMSKB_128 );
+   DO_D( VCVTTSS2SI_64 );
+   DO_D( VPACKUSWB_128 );
+   DO_D( VCVTSS2SD_128 );
+   DO_D( VCVTSD2SS_128 );
+   DO_D( VMOVD_XMM_to_IREG32 );
+   DO_D( VPCMPESTRM_0x45_128 );
+   DO_D( VMOVQ_IREGorMEM64_to_XMM );
+   DO_D( VMOVUPS_XMM_to_XMMorMEM );
+   DO_D( VMOVNTDQ_128 );
+   DO_D( VMOVLHPS_128 );
+   DO_D( VPABSD_128 );
+   DO_D( VMOVHLPS_128 );
+   DO_D( VMOVQ_XMM_to_IREG64 );
+   DO_D( VMOVQ_XMMorMEM64_to_XMM );
+   DO_D( VCVTTSS2SI_32 );
+   DO_D( VPUNPCKLBW_128 );
+   DO_D( VPUNPCKHBW_128 );
+   DO_D( VMULSS_128 );
+   DO_D( VSUBSS_128 );
+   DO_D( VADDSS_128 );
+   DO_D( VDIVSS_128 );
+   DO_D( VUNPCKLPS_128 );
+   DO_D( VCVTSI2SS_128 );
+   DO_D( VANDPS_128 );
+   DO_D( VMINSS_128 );
+   DO_D( VMAXSS_128 );
+   DO_D( VANDNPS_128 );
+   DO_D( VORPS_128 );
+   DO_D( VSQRTSD_128 );
+   DO_D( VCMPSD_128_0xD );
+   DO_D( VCMPSD_128_0x0 );
+   DO_D( VPSHUFB_128 );
+   DO_D( VCVTTSD2SI_32 );
+   DO_D( VCVTTSD2SI_64 );
+   DO_D( VCVTSI2SS_64 );
+   DO_D( VCVTSI2SD_64 );
+   DO_D( VCVTSI2SD_32 );
+   DO_D( VPOR_128 );
+   DO_D( VPXOR_128 );
+   DO_D( VPSUBB_128 );
+   DO_D( VPSUBD_128 );
+   DO_D( VPADDD_128 );
+   DO_D( VPMOVZXBW_128 );
+   DO_D( VPMOVZXWD_128 );
+   DO_D( VPBLENDVB_128 );
+   DO_D( VPMINSD_128 );
+   DO_D( VPMAXSD_128 );
+   DO_D( VANDPD_128 );
+   DO_D( VMULPD_256 );
+   DO_D( VMOVUPD_EtoG_128 );
+   DO_D( VADDPD_256 );
+   DO_D( VSUBPD_256 );
+   DO_D( VDIVPD_256 );
+   DO_D( VPCMPEQQ_128 );
+   DO_D( VSUBPD_128 );
+   DO_D( VADDPD_128 );
+   DO_D( VUNPCKLPD_128 );
+   DO_D( VUNPCKHPD_128 );
+   DO_D( VUNPCKHPS_128 );
+   DO_D( VMOVUPS_EtoG_128 );
+   DO_D( VADDPS_256 );
+   DO_D( VSUBPS_256 );
+   DO_D( VMULPS_256 );
+   DO_D( VDIVPS_256 );
+   DO_D( VPCMPGTQ_128 );
+   DO_D( VPEXTRQ_128_0x0 );
+   DO_D( VPEXTRQ_128_0x1 );
+   DO_D( VPSRLQ_0x05_128 );
+   DO_D( VPMULUDQ_128 );
+   DO_D( VPSLLQ_0x05_128 );
+   DO_D( VPMAXUD_128 );
+   DO_D( VPMINUD_128 );
+   DO_D( VPMULLD_128 );
+   DO_D( VPMAXUW_128 );
+   DO_D( VPEXTRW_128_EregOnly_toG_0x0 );
+   DO_D( VPEXTRW_128_EregOnly_toG_0x7 );
+   DO_D( VPMINUW_128 );
+   DO_D( VPHMINPOSUW_128 );
+   DO_D( VPMAXSW_128 );
+   DO_D( VPMINSW_128 );
+   DO_D( VPMAXUB_128 );
+   DO_D( VPEXTRB_GtoE_128_0x0 );
+   DO_D( VPEXTRB_GtoE_128_0x1 );
+   DO_D( VPEXTRB_GtoE_128_0x2 );
+   DO_D( VPEXTRB_GtoE_128_0x3 );
+   DO_D( VPEXTRB_GtoE_128_0x4 );
+   DO_D( VPEXTRB_GtoE_128_0x9 );
+   DO_D( VPEXTRB_GtoE_128_0xE );
+   DO_D( VPEXTRB_GtoE_128_0xF );
+   DO_D( VPMINUB_128 );
+   DO_D( VPMAXSB_128 );
+   DO_D( VPMINSB_128 );
+   DO_D( VPERM2F128_0x00 );
+   DO_D( VPERM2F128_0xFF );
+   DO_D( VPERM2F128_0x30 );
+   DO_D( VPERM2F128_0x21 );
+   DO_D( VPERM2F128_0x12 );
+   DO_D( VPERM2F128_0x03 );
+   DO_D( VPERM2F128_0x85 );
+   DO_D( VPERM2F128_0x5A );
+   DO_D( VPERMILPD_256_0x0 );
+   DO_D( VPERMILPD_256_0xF );
+   DO_D( VPERMILPD_256_0xA );
+   DO_D( VPERMILPD_256_0x5 );
+   DO_D( VPERMILPD_128_0x0 );
+   DO_D( VPERMILPD_128_0x3 );
+   DO_D( VUNPCKLPD_256 );
+   DO_D( VUNPCKHPD_256 );
+   DO_D( VSHUFPS_0x39_256 );
+   DO_D( VUNPCKLPS_256 );
+   DO_D( VUNPCKHPS_256 );
+   DO_D( VXORPD_256 );
+   DO_D( VBROADCASTSD_256 );
+   DO_D( VCMPPD_128_0x4 );
+   DO_D( VCVTDQ2PD_128 );
+   DO_D( VDIVPD_128 );
+   DO_D( VANDPD_256 );
+   DO_D( VPMOVSXBW_128 );
+   DO_D( VPSUBUSW_128 );
+   DO_D( VPSUBSW_128 );
+   DO_D( VPCMPEQW_128 );
+   DO_D( VPADDB_128 );
+   DO_D( VMOVAPS_EtoG_256 );
+   DO_D( VCVTDQ2PD_256 );
+   DO_D( VMOVHPD_128_LoadForm );
+   DO_D( VCVTPD2PS_256 );
+   DO_D( VPUNPCKHDQ_128 );
+   DO_D( VBROADCASTSS_128 );
+   DO_D( VPMOVSXDQ_128 );
+   DO_D( VPMOVSXWD_128 );
+   DO_D( VDIVPS_128 );
+   DO_D( VANDPS_256 );
+   DO_D( VXORPS_256 );
+   DO_D( VORPS_256 );
+   DO_D( VANDNPD_256 );
+   DO_D( VANDNPS_256 );
+   DO_D( VORPD_256 );
+   DO_D( VPERMILPS_256_0x0F );
+   DO_D( VPERMILPS_256_0xFA );
+   DO_D( VPERMILPS_256_0xA3 );
+   DO_D( VPERMILPS_256_0x5A );
+   DO_D( VPMULHW_128 );
+   DO_D( VPUNPCKHQDQ_128 );
+   DO_D( VPSRAW_0x05_128 );
+   DO_D( VPCMPGTD_128 );
+   DO_D( VPMOVZXBD_128 );
+   DO_D( VPMOVSXBD_128 );
+   DO_D( VPINSRB_128_1of3 );
+   DO_D( VPINSRB_128_2of3 );
+   DO_D( VPINSRB_128_3of3 );
+   DO_D( VCOMISD_128 );
+   DO_D( VCOMISS_128 );
+   DO_D( VMOVUPS_YMM_to_YMMorMEM );
+   DO_D( VDPPD_128_1of4 );
+   DO_D( VDPPD_128_2of4 );
+   DO_D( VDPPD_128_3of4 );
+   DO_D( VDPPD_128_4of4 );
+   DO_D( VPINSRW_128_1of4 );
+   DO_D( VPINSRW_128_2of4 );
+   DO_D( VPINSRW_128_3of4 );
+   DO_D( VPINSRW_128_4of4 );
+   DO_D( VBROADCASTSS_256 );
+   DO_D( VPALIGNR_128_1of3 );
+   DO_D( VPALIGNR_128_2of3 );
+   DO_D( VPALIGNR_128_3of3 );
+   DO_D( VMOVSD_REG_XMM );
+   DO_D( VMOVSS_REG_XMM );
+   DO_D( VMOVLPD_128_M64_XMM_XMM );
+   DO_D( VMOVLPD_128_XMM_M64 );
+   DO_D( VSHUFPD_128_1of2 );
+   DO_D( VSHUFPD_128_2of2 );
+   DO_D( VSHUFPD_256_1of2 );
+   DO_D( VSHUFPD_256_2of2 );
+   DO_D( VPERMILPS_128_0x00 );
+   DO_D( VPERMILPS_128_0xFE );
+   DO_D( VPERMILPS_128_0x30 );
+   DO_D( VPERMILPS_128_0x21 );
+   DO_D( VPERMILPS_128_0xD7 );
+   DO_D( VPERMILPS_128_0xB5 );
+   DO_D( VPERMILPS_128_0x85 );
+   DO_D( VPERMILPS_128_0x29 );
+   DO_D( VBLENDPS_128_1of3 );
+   DO_D( VBLENDPS_128_2of3 );
+   DO_D( VBLENDPS_128_3of3 );
+   DO_D( VBLENDPD_128_1of2 );
+   DO_D( VBLENDPD_128_2of2 );
+   DO_D( VBLENDPD_256_1of3 );
+   DO_D( VBLENDPD_256_2of3 );
+   DO_D( VBLENDPD_256_3of3 );
+   DO_D( VPBLENDW_128_0x00 );
+   DO_D( VPBLENDW_128_0xFE );
+   DO_D( VPBLENDW_128_0x30 );
+   DO_D( VPBLENDW_128_0x21 );
+   DO_D( VPBLENDW_128_0xD7 );
+   DO_D( VPBLENDW_128_0xB5 );
+   DO_D( VPBLENDW_128_0x85 );
+   DO_D( VPBLENDW_128_0x29 );
+   DO_D( VMOVUPS_EtoG_256 );
+   DO_D( VSQRTSS_128 );
+   DO_D( VSQRTPS_128 );
+   DO_D( VSQRTPS_256 );
+   DO_D( VSQRTPD_128 );
+   DO_D( VSQRTPD_256 );
+   DO_D( VRSQRTSS_128 );
+   DO_D( VRSQRTPS_128 );
+   DO_D( VRSQRTPS_256 );
+   DO_D( VMOVDQU_GtoE_256 );
+   DO_D( VCVTPS2PD_256 );
+   DO_D( VCVTTPS2DQ_128 );
+   DO_D( VCVTTPS2DQ_256 );
+   DO_D( VCVTDQ2PS_128 );
+   DO_D( VCVTDQ2PS_256 );
+   DO_D( VCVTTPD2DQ_128 );
+   DO_D( VCVTTPD2DQ_256 );
+   DO_D( VCVTPD2DQ_128 );
+   DO_D( VCVTPD2DQ_256 );
+   DO_D( VMOVSLDUP_128 );
+   DO_D( VMOVSLDUP_256 );
+   DO_D( VMOVSHDUP_128 );
+   DO_D( VMOVSHDUP_256 );
+   DO_D( VPERMILPS_VAR_128 );
+   DO_D( VPERMILPD_VAR_128 );
+   DO_D( VPERMILPS_VAR_256 );
+   DO_D( VPERMILPD_VAR_256 );
+   DO_D( VPSLLW_128 );
+   DO_D( VPSRLW_128 );
+   DO_D( VPSRAW_128 );
+   DO_D( VPSLLD_128 );
+   DO_D( VPSRLD_128 );
+   DO_D( VPSRAD_128 );
+   DO_D( VPSLLQ_128 );
+   DO_D( VPSRLQ_128 );
+   DO_D( VROUNDPS_128_0x2 );
+   DO_D( VROUNDPS_256_0x2 );
+   DO_D( VROUNDPD_128_0x2 );
+   DO_D( VROUNDPD_256_0x2 );
+   DO_D( VROUNDSS_0x5 );
+   DO_D( VROUNDSD_0x3 );
+   DO_D( VPTEST_128_1 );
+   DO_D( VPTEST_128_2 );
+   DO_D( VPTEST_256_1 );
+   DO_D( VPTEST_256_2 );
+   DO_D( VTESTPS_128_1 );
+   DO_D( VTESTPS_128_2 );
+   DO_N( 10, VTESTPS_128_3 );
+   DO_D( VTESTPS_256_1 );
+   DO_D( VTESTPS_256_2 );
+   DO_N( 10, VTESTPS_256_3 );
+   DO_D( VTESTPD_128_1 );
+   DO_D( VTESTPD_128_2 );
+   DO_N( 10, VTESTPD_128_3 );
+   DO_D( VTESTPD_256_1 );
+   DO_D( VTESTPD_256_2 );
+   DO_N( 10, VTESTPD_256_3 );
    return 0;
 }