summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfitzhardinge <fitzhardinge@a5019735-40e9-0310-863c-91ae7b9d1cf9>2004-03-09 01:44:11 +0000
committerfitzhardinge <fitzhardinge@a5019735-40e9-0310-863c-91ae7b9d1cf9>2004-03-09 01:44:11 +0000
commitc18e9bb026ddbaf31fa306a023005d3fbfa55a93 (patch)
treed3ded8b5963739e393c8779dfddcb7ec7a6adc58
parent7194a56838ca1acb14214948223bcee6ebb2d772 (diff)
Use Tom's instruction set tests on all tools which do instrumentation, so
we can make it's OK for all instructions. Helgrind is badly broken in this test (bug 69856). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2301 a5019735-40e9-0310-863c-91ae7b9d1cf9
-rw-r--r--addrcheck/tests/Makefile.am4
-rw-r--r--addrcheck/tests/insn_basic.stderr.exp0
-rw-r--r--addrcheck/tests/insn_basic.stdout.exp1083
-rw-r--r--addrcheck/tests/insn_basic.vgtest2
-rw-r--r--addrcheck/tests/insn_cmov.stderr.exp0
-rw-r--r--addrcheck/tests/insn_cmov.stdout.exp384
-rw-r--r--addrcheck/tests/insn_cmov.vgtest3
-rw-r--r--addrcheck/tests/insn_mmx.stderr.exp0
-rw-r--r--addrcheck/tests/insn_mmx.stdout.exp103
-rw-r--r--addrcheck/tests/insn_mmx.vgtest3
-rw-r--r--addrcheck/tests/insn_mmxext.stderr.exp2
-rw-r--r--addrcheck/tests/insn_mmxext.stdout.exp28
-rw-r--r--addrcheck/tests/insn_mmxext.vgtest3
-rw-r--r--addrcheck/tests/insn_sse.stderr.exp0
-rw-r--r--addrcheck/tests/insn_sse.stdout.exp141
-rw-r--r--addrcheck/tests/insn_sse.vgtest3
-rw-r--r--addrcheck/tests/insn_sse2.stderr.exp0
-rw-r--r--addrcheck/tests/insn_sse2.stdout.exp292
-rw-r--r--addrcheck/tests/insn_sse2.vgtest3
-rw-r--r--cachegrind/tests/Makefile.am4
-rw-r--r--cachegrind/tests/insn_basic.stderr.exp0
-rw-r--r--cachegrind/tests/insn_basic.stdout.exp1083
-rw-r--r--cachegrind/tests/insn_basic.vgtest2
-rw-r--r--cachegrind/tests/insn_cmov.stderr.exp0
-rw-r--r--cachegrind/tests/insn_cmov.stdout.exp384
-rw-r--r--cachegrind/tests/insn_cmov.vgtest3
-rw-r--r--cachegrind/tests/insn_mmx.stderr.exp0
-rw-r--r--cachegrind/tests/insn_mmx.stdout.exp103
-rw-r--r--cachegrind/tests/insn_mmx.vgtest3
-rw-r--r--cachegrind/tests/insn_mmxext.stderr.exp2
-rw-r--r--cachegrind/tests/insn_mmxext.stdout.exp28
-rw-r--r--cachegrind/tests/insn_mmxext.vgtest3
-rw-r--r--cachegrind/tests/insn_sse.stderr.exp0
-rw-r--r--cachegrind/tests/insn_sse.stdout.exp141
-rw-r--r--cachegrind/tests/insn_sse.vgtest3
-rw-r--r--cachegrind/tests/insn_sse2.stderr.exp0
-rw-r--r--cachegrind/tests/insn_sse2.stdout.exp292
-rw-r--r--cachegrind/tests/insn_sse2.vgtest3
-rw-r--r--helgrind/tests/Makefile.am2
-rw-r--r--helgrind/tests/insn_basic.stderr.exp0
-rw-r--r--helgrind/tests/insn_basic.stdout.exp1083
-rw-r--r--helgrind/tests/insn_basic.vgtest2
-rw-r--r--helgrind/tests/insn_cmov.stderr.exp0
-rw-r--r--helgrind/tests/insn_cmov.stdout.exp384
-rw-r--r--helgrind/tests/insn_cmov.vgtest3
-rw-r--r--helgrind/tests/insn_mmx.stderr.exp0
-rw-r--r--helgrind/tests/insn_mmx.stdout.exp103
-rw-r--r--helgrind/tests/insn_mmx.vgtest3
-rw-r--r--helgrind/tests/insn_mmxext.stderr.exp2
-rw-r--r--helgrind/tests/insn_mmxext.stdout.exp28
-rw-r--r--helgrind/tests/insn_mmxext.vgtest3
-rw-r--r--helgrind/tests/insn_sse.stderr.exp0
-rw-r--r--helgrind/tests/insn_sse.stdout.exp141
-rw-r--r--helgrind/tests/insn_sse.vgtest3
-rw-r--r--helgrind/tests/insn_sse2.stderr.exp0
-rw-r--r--helgrind/tests/insn_sse2.stdout.exp292
-rw-r--r--helgrind/tests/insn_sse2.vgtest3
-rw-r--r--memcheck/tests/Makefile.am2
-rw-r--r--memcheck/tests/insn_basic.stderr.exp0
-rw-r--r--memcheck/tests/insn_basic.stdout.exp1083
-rw-r--r--memcheck/tests/insn_basic.vgtest2
-rw-r--r--memcheck/tests/insn_cmov.stderr.exp0
-rw-r--r--memcheck/tests/insn_cmov.stdout.exp384
-rw-r--r--memcheck/tests/insn_cmov.vgtest3
-rw-r--r--memcheck/tests/insn_mmx.stderr.exp0
-rw-r--r--memcheck/tests/insn_mmx.stdout.exp103
-rw-r--r--memcheck/tests/insn_mmx.vgtest3
-rw-r--r--memcheck/tests/insn_mmxext.stderr.exp2
-rw-r--r--memcheck/tests/insn_mmxext.stdout.exp28
-rw-r--r--memcheck/tests/insn_mmxext.vgtest3
-rw-r--r--memcheck/tests/insn_sse.stderr.exp0
-rw-r--r--memcheck/tests/insn_sse.stdout.exp141
-rw-r--r--memcheck/tests/insn_sse.vgtest3
-rw-r--r--memcheck/tests/insn_sse2.stderr.exp0
-rw-r--r--memcheck/tests/insn_sse2.stdout.exp292
-rw-r--r--memcheck/tests/insn_sse2.vgtest3
76 files changed, 8210 insertions, 2 deletions
diff --git a/addrcheck/tests/Makefile.am b/addrcheck/tests/Makefile.am
index cf281014..0b4986f9 100644
--- a/addrcheck/tests/Makefile.am
+++ b/addrcheck/tests/Makefile.am
@@ -2,4 +2,6 @@ noinst_SCRIPTS = filter_stderr
EXTRA_DIST = $(noinst_SCRIPTS) \
badrw.stderr.exp badrw.vgtest \
- fprw.stderr.exp fprw.vgtest
+ fprw.stderr.exp fprw.vgtest \
+ insn_basic.vgtest insn_cmov.vgtest insn_mmx.vgtest \
+ insn_mmxext.vgtest insn_sse.vgtest insn_sse2.vgtest
diff --git a/addrcheck/tests/insn_basic.stderr.exp b/addrcheck/tests/insn_basic.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/addrcheck/tests/insn_basic.stderr.exp
diff --git a/addrcheck/tests/insn_basic.stdout.exp b/addrcheck/tests/insn_basic.stdout.exp
new file mode 100644
index 00000000..40cabbcd
--- /dev/null
+++ b/addrcheck/tests/insn_basic.stdout.exp
@@ -0,0 +1,1083 @@
+aaa_1 ... ok
+aaa_2 ... ok
+aaa_3 ... ok
+aaa_4 ... ok
+aaa_5 ... ok
+aaa_6 ... ok
+aaa_7 ... ok
+aaa_8 ... ok
+aad_1 ... ok
+aad_2 ... ok
+aam_1 ... ok
+aam_2 ... ok
+aas_1 ... ok
+aas_2 ... ok
+aas_3 ... ok
+aas_4 ... ok
+aas_5 ... ok
+aas_6 ... ok
+aas_7 ... ok
+aas_8 ... ok
+adcb_1 ... ok
+adcb_2 ... ok
+adcb_3 ... ok
+adcb_4 ... ok
+adcb_5 ... ok
+adcb_6 ... ok
+adcb_7 ... ok
+adcb_8 ... ok
+adcb_9 ... ok
+adcb_10 ... ok
+adcb_11 ... ok
+adcb_12 ... ok
+adcw_1 ... ok
+adcw_2 ... ok
+adcw_3 ... ok
+adcw_4 ... ok
+adcw_5 ... ok
+adcw_6 ... ok
+adcw_7 ... ok
+adcw_8 ... ok
+adcw_9 ... ok
+adcw_10 ... ok
+adcw_11 ... ok
+adcw_12 ... ok
+adcw_13 ... ok
+adcw_14 ... ok
+adcl_1 ... ok
+adcl_2 ... ok
+adcl_3 ... ok
+adcl_4 ... ok
+adcl_5 ... ok
+adcl_6 ... ok
+adcl_7 ... ok
+adcl_8 ... ok
+adcl_9 ... ok
+adcl_10 ... ok
+adcl_11 ... ok
+adcl_12 ... ok
+adcl_13 ... ok
+adcl_14 ... ok
+addb_1 ... ok
+addb_2 ... ok
+addb_3 ... ok
+addb_4 ... ok
+addb_5 ... ok
+addb_6 ... ok
+addw_1 ... ok
+addw_2 ... ok
+addw_3 ... ok
+addw_4 ... ok
+addw_5 ... ok
+addw_6 ... ok
+addw_7 ... ok
+addl_1 ... ok
+addl_2 ... ok
+addl_3 ... ok
+addl_4 ... ok
+addl_5 ... ok
+addl_6 ... ok
+addl_7 ... ok
+andb_1 ... ok
+andb_2 ... ok
+andb_3 ... ok
+andb_4 ... ok
+andb_5 ... ok
+andb_6 ... ok
+andw_1 ... ok
+andw_2 ... ok
+andw_3 ... ok
+andw_4 ... ok
+andw_5 ... ok
+andw_6 ... ok
+andw_7 ... ok
+andl_1 ... ok
+andl_2 ... ok
+andl_3 ... ok
+andl_4 ... ok
+andl_5 ... ok
+andl_6 ... ok
+andl_7 ... ok
+bsfw_1 ... ok
+bsfw_2 ... ok
+bsfl_1 ... ok
+bsfl_2 ... ok
+bsrw_1 ... ok
+bsrw_2 ... ok
+bsrl_1 ... ok
+bsrl_2 ... ok
+bswapl_1 ... ok
+btw_1 ... ok
+btw_2 ... ok
+btw_3 ... ok
+btw_4 ... ok
+btw_5 ... ok
+btw_6 ... ok
+btw_7 ... ok
+btw_8 ... ok
+btl_1 ... ok
+btl_2 ... ok
+btl_3 ... ok
+btl_4 ... ok
+btl_5 ... ok
+btl_6 ... ok
+btl_7 ... ok
+btl_8 ... ok
+btcw_1 ... ok
+btcw_2 ... ok
+btcw_3 ... ok
+btcw_4 ... ok
+btcw_5 ... ok
+btcw_6 ... ok
+btcw_7 ... ok
+btcw_8 ... ok
+btcl_1 ... ok
+btcl_2 ... ok
+btcl_3 ... ok
+btcl_4 ... ok
+btcl_5 ... ok
+btcl_6 ... ok
+btcl_7 ... ok
+btcl_8 ... ok
+btrw_1 ... ok
+btrw_2 ... ok
+btrw_3 ... ok
+btrw_4 ... ok
+btrw_5 ... ok
+btrw_6 ... ok
+btrw_7 ... ok
+btrw_8 ... ok
+btrl_1 ... ok
+btrl_2 ... ok
+btrl_3 ... ok
+btrl_4 ... ok
+btrl_5 ... ok
+btrl_6 ... ok
+btrl_7 ... ok
+btrl_8 ... ok
+btsw_1 ... ok
+btsw_2 ... ok
+btsw_3 ... ok
+btsw_4 ... ok
+btsw_5 ... ok
+btsw_6 ... ok
+btsw_7 ... ok
+btsw_8 ... ok
+btsl_1 ... ok
+btsl_2 ... ok
+btsl_3 ... ok
+btsl_4 ... ok
+btsl_5 ... ok
+btsl_6 ... ok
+btsl_7 ... ok
+btsl_8 ... ok
+cbw_1 ... ok
+cbw_2 ... ok
+cdq_1 ... ok
+cdq_2 ... ok
+clc_1 ... ok
+clc_2 ... ok
+cld_1 ... ok
+cld_2 ... ok
+cmc_1 ... ok
+cmc_2 ... ok
+cmpb_1 ... ok
+cmpb_2 ... ok
+cmpb_3 ... ok
+cmpb_4 ... ok
+cmpb_5 ... ok
+cmpb_6 ... ok
+cmpb_7 ... ok
+cmpb_8 ... ok
+cmpb_9 ... ok
+cmpb_10 ... ok
+cmpb_11 ... ok
+cmpb_12 ... ok
+cmpb_13 ... ok
+cmpb_14 ... ok
+cmpb_15 ... ok
+cmpb_16 ... ok
+cmpb_17 ... ok
+cmpb_18 ... ok
+cmpb_19 ... ok
+cmpb_20 ... ok
+cmpb_21 ... ok
+cmpb_22 ... ok
+cmpb_23 ... ok
+cmpb_24 ... ok
+cmpb_25 ... ok
+cmpb_26 ... ok
+cmpb_27 ... ok
+cmpb_28 ... ok
+cmpb_29 ... ok
+cmpb_30 ... ok
+cmpb_31 ... ok
+cmpb_32 ... ok
+cmpb_33 ... ok
+cmpb_34 ... ok
+cmpb_35 ... ok
+cmpb_36 ... ok
+cmpb_37 ... ok
+cmpb_38 ... ok
+cmpb_39 ... ok
+cmpb_40 ... ok
+cmpb_41 ... ok
+cmpb_42 ... ok
+cmpb_43 ... ok
+cmpb_44 ... ok
+cmpb_45 ... ok
+cmpb_46 ... ok
+cmpb_47 ... ok
+cmpb_48 ... ok
+cmpb_49 ... ok
+cmpb_50 ... ok
+cmpb_51 ... ok
+cmpb_52 ... ok
+cmpb_53 ... ok
+cmpb_54 ... ok
+cmpb_55 ... ok
+cmpb_56 ... ok
+cmpb_57 ... ok
+cmpb_58 ... ok
+cmpb_59 ... ok
+cmpb_60 ... ok
+cmpw_1 ... ok
+cmpw_2 ... ok
+cmpw_3 ... ok
+cmpw_4 ... ok
+cmpw_5 ... ok
+cmpw_6 ... ok
+cmpw_7 ... ok
+cmpw_8 ... ok
+cmpw_9 ... ok
+cmpw_10 ... ok
+cmpw_11 ... ok
+cmpw_12 ... ok
+cmpw_13 ... ok
+cmpw_14 ... ok
+cmpw_15 ... ok
+cmpw_16 ... ok
+cmpw_17 ... ok
+cmpw_18 ... ok
+cmpw_19 ... ok
+cmpw_20 ... ok
+cmpw_21 ... ok
+cmpw_22 ... ok
+cmpw_23 ... ok
+cmpw_24 ... ok
+cmpw_25 ... ok
+cmpw_26 ... ok
+cmpw_27 ... ok
+cmpw_28 ... ok
+cmpw_29 ... ok
+cmpw_30 ... ok
+cmpw_31 ... ok
+cmpw_32 ... ok
+cmpw_33 ... ok
+cmpw_34 ... ok
+cmpw_35 ... ok
+cmpw_36 ... ok
+cmpw_37 ... ok
+cmpw_38 ... ok
+cmpw_39 ... ok
+cmpw_40 ... ok
+cmpw_41 ... ok
+cmpw_42 ... ok
+cmpw_43 ... ok
+cmpw_44 ... ok
+cmpw_45 ... ok
+cmpw_46 ... ok
+cmpw_47 ... ok
+cmpw_48 ... ok
+cmpw_49 ... ok
+cmpw_50 ... ok
+cmpw_51 ... ok
+cmpw_52 ... ok
+cmpw_53 ... ok
+cmpw_54 ... ok
+cmpw_55 ... ok
+cmpw_56 ... ok
+cmpw_57 ... ok
+cmpw_58 ... ok
+cmpw_59 ... ok
+cmpw_60 ... ok
+cmpw_61 ... ok
+cmpw_62 ... ok
+cmpw_63 ... ok
+cmpw_64 ... ok
+cmpw_65 ... ok
+cmpw_66 ... ok
+cmpw_67 ... ok
+cmpw_68 ... ok
+cmpw_69 ... ok
+cmpw_70 ... ok
+cmpw_71 ... ok
+cmpw_72 ... ok
+cmpw_73 ... ok
+cmpw_74 ... ok
+cmpw_75 ... ok
+cmpw_76 ... ok
+cmpw_77 ... ok
+cmpw_78 ... ok
+cmpw_79 ... ok
+cmpw_80 ... ok
+cmpl_1 ... ok
+cmpl_2 ... ok
+cmpl_3 ... ok
+cmpl_4 ... ok
+cmpl_5 ... ok
+cmpl_6 ... ok
+cmpl_7 ... ok
+cmpl_8 ... ok
+cmpl_9 ... ok
+cmpl_10 ... ok
+cmpl_11 ... ok
+cmpl_12 ... ok
+cmpl_13 ... ok
+cmpl_14 ... ok
+cmpl_15 ... ok
+cmpl_16 ... ok
+cmpl_17 ... ok
+cmpl_18 ... ok
+cmpl_19 ... ok
+cmpl_20 ... ok
+cmpl_21 ... ok
+cmpl_22 ... ok
+cmpl_23 ... ok
+cmpl_24 ... ok
+cmpl_25 ... ok
+cmpl_26 ... ok
+cmpl_27 ... ok
+cmpl_28 ... ok
+cmpl_29 ... ok
+cmpl_30 ... ok
+cmpl_31 ... ok
+cmpl_32 ... ok
+cmpl_33 ... ok
+cmpl_34 ... ok
+cmpl_35 ... ok
+cmpl_36 ... ok
+cmpl_37 ... ok
+cmpl_38 ... ok
+cmpl_39 ... ok
+cmpl_40 ... ok
+cmpl_41 ... ok
+cmpl_42 ... ok
+cmpl_43 ... ok
+cmpl_44 ... ok
+cmpl_45 ... ok
+cmpl_46 ... ok
+cmpl_47 ... ok
+cmpl_48 ... ok
+cmpl_49 ... ok
+cmpl_50 ... ok
+cmpl_51 ... ok
+cmpl_52 ... ok
+cmpl_53 ... ok
+cmpl_54 ... ok
+cmpl_55 ... ok
+cmpl_56 ... ok
+cmpl_57 ... ok
+cmpl_58 ... ok
+cmpl_59 ... ok
+cmpl_60 ... ok
+cmpl_61 ... ok
+cmpl_62 ... ok
+cmpl_63 ... ok
+cmpl_64 ... ok
+cmpl_65 ... ok
+cmpl_66 ... ok
+cmpl_67 ... ok
+cmpl_68 ... ok
+cmpl_69 ... ok
+cmpl_70 ... ok
+cmpl_71 ... ok
+cmpl_72 ... ok
+cmpl_73 ... ok
+cmpl_74 ... ok
+cmpl_75 ... ok
+cmpl_76 ... ok
+cmpl_77 ... ok
+cmpl_78 ... ok
+cmpl_79 ... ok
+cmpl_80 ... ok
+cmpxchgb_1 ... ok
+cmpxchgb_2 ... ok
+cmpxchgb_3 ... ok
+cmpxchgb_4 ... ok
+cmpxchgw_1 ... ok
+cmpxchgw_2 ... ok
+cmpxchgw_3 ... ok
+cmpxchgw_4 ... ok
+cmpxchgl_1 ... ok
+cmpxchgl_2 ... ok
+cmpxchgl_3 ... ok
+cmpxchgl_4 ... ok
+cwd_1 ... ok
+cwd_2 ... ok
+cwde_1 ... ok
+cwde_2 ... ok
+daa_1 ... ok
+daa_2 ... ok
+das_1 ... ok
+decb_1 ... ok
+decb_2 ... ok
+decw_1 ... ok
+decw_2 ... ok
+decl_1 ... ok
+decl_2 ... ok
+divb_1 ... ok
+divb_2 ... ok
+divw_1 ... ok
+divw_2 ... ok
+divl_1 ... ok
+divl_2 ... ok
+idivb_1 ... ok
+idivb_2 ... ok
+idivw_1 ... ok
+idivw_2 ... ok
+idivl_1 ... ok
+idivl_2 ... ok
+imulb_1 ... ok
+imulb_2 ... ok
+imulw_1 ... ok
+imulw_2 ... ok
+imull_1 ... ok
+imull_2 ... ok
+imulw_3 ... ok
+imulw_4 ... ok
+imulw_5 ... ok
+imulw_6 ... ok
+imulw_7 ... ok
+imulw_8 ... ok
+imulw_9 ... ok
+imulw_10 ... ok
+imull_3 ... ok
+imull_4 ... ok
+imull_5 ... ok
+imull_6 ... ok
+imull_7 ... ok
+imull_8 ... ok
+imull_9 ... ok
+imull_10 ... ok
+incb_1 ... ok
+incb_2 ... ok
+incw_1 ... ok
+incw_2 ... ok
+incl_1 ... ok
+incl_2 ... ok
+lahf_1 ... ok
+lahf_2 ... ok
+movb_1 ... ok
+movb_2 ... ok
+movb_3 ... ok
+movb_4 ... ok
+movb_5 ... ok
+movw_1 ... ok
+movw_2 ... ok
+movw_3 ... ok
+movw_4 ... ok
+movw_5 ... ok
+movl_1 ... ok
+movl_2 ... ok
+movl_3 ... ok
+movl_4 ... ok
+movl_5 ... ok
+movsbw_1 ... ok
+movsbw_2 ... ok
+movsbl_1 ... ok
+movsbl_2 ... ok
+movswl_1 ... ok
+movswl_2 ... ok
+movzbw_1 ... ok
+movzbw_2 ... ok
+movzbl_1 ... ok
+movzbl_2 ... ok
+movzwl_1 ... ok
+movzwl_2 ... ok
+mulb_1 ... ok
+mulb_2 ... ok
+mulw_1 ... ok
+mulw_2 ... ok
+mull_1 ... ok
+mull_2 ... ok
+negb_1 ... ok
+negb_2 ... ok
+negw_1 ... ok
+negw_2 ... ok
+negl_1 ... ok
+negl_2 ... ok
+notb_1 ... ok
+notb_2 ... ok
+notw_1 ... ok
+notw_2 ... ok
+notl_1 ... ok
+notl_2 ... ok
+orb_1 ... ok
+orb_2 ... ok
+orb_3 ... ok
+orb_4 ... ok
+orb_5 ... ok
+orb_6 ... ok
+orw_1 ... ok
+orw_2 ... ok
+orw_3 ... ok
+orw_4 ... ok
+orw_5 ... ok
+orw_6 ... ok
+orw_7 ... ok
+orl_1 ... ok
+orl_2 ... ok
+orl_3 ... ok
+orl_4 ... ok
+orl_5 ... ok
+orl_6 ... ok
+orl_7 ... ok
+rclb_1 ... ok
+rclb_2 ... ok
+rclb_3 ... ok
+rclb_4 ... ok
+rclb_5 ... ok
+rclb_6 ... ok
+rclw_1 ... ok
+rclw_2 ... ok
+rclw_3 ... ok
+rclw_4 ... ok
+rclw_5 ... ok
+rclw_6 ... ok
+rcll_1 ... ok
+rcll_2 ... ok
+rcll_3 ... ok
+rcll_4 ... ok
+rcll_5 ... ok
+rcll_6 ... ok
+rcrb_1 ... ok
+rcrb_2 ... ok
+rcrb_3 ... ok
+rcrb_4 ... ok
+rcrb_5 ... ok
+rcrb_6 ... ok
+rcrw_1 ... ok
+rcrw_2 ... ok
+rcrw_3 ... ok
+rcrw_4 ... ok
+rcrw_5 ... ok
+rcrw_6 ... ok
+rcrl_1 ... ok
+rcrl_2 ... ok
+rcrl_3 ... ok
+rcrl_4 ... ok
+rcrl_5 ... ok
+rcrl_6 ... ok
+rolb_1 ... ok
+rolb_2 ... ok
+rolb_3 ... ok
+rolb_4 ... ok
+rolb_5 ... ok
+rolb_6 ... ok
+rolw_1 ... ok
+rolw_2 ... ok
+rolw_3 ... ok
+rolw_4 ... ok
+rolw_5 ... ok
+rolw_6 ... ok
+roll_1 ... ok
+roll_2 ... ok
+roll_3 ... ok
+roll_4 ... ok
+roll_5 ... ok
+roll_6 ... ok
+rorb_1 ... ok
+rorb_2 ... ok
+rorb_3 ... ok
+rorb_4 ... ok
+rorb_5 ... ok
+rorb_6 ... ok
+rorw_1 ... ok
+rorw_2 ... ok
+rorw_3 ... ok
+rorw_4 ... ok
+rorw_5 ... ok
+rorw_6 ... ok
+rorl_1 ... ok
+rorl_2 ... ok
+rorl_3 ... ok
+rorl_4 ... ok
+rorl_5 ... ok
+rorl_6 ... ok
+sahf_1 ... ok
+sahf_2 ... ok
+salb_1 ... ok
+salb_2 ... ok
+salb_3 ... ok
+salb_4 ... ok
+salb_5 ... ok
+salb_6 ... ok
+salw_1 ... ok
+salw_2 ... ok
+salw_3 ... ok
+salw_4 ... ok
+salw_5 ... ok
+salw_6 ... ok
+sall_1 ... ok
+sall_2 ... ok
+sall_3 ... ok
+sall_4 ... ok
+sall_5 ... ok
+sall_6 ... ok
+sarb_1 ... ok
+sarb_2 ... ok
+sarb_3 ... ok
+sarb_4 ... ok
+sarb_5 ... ok
+sarb_6 ... ok
+sarw_1 ... ok
+sarw_2 ... ok
+sarw_3 ... ok
+sarw_4 ... ok
+sarw_5 ... ok
+sarw_6 ... ok
+sarl_1 ... ok
+sarl_2 ... ok
+sarl_3 ... ok
+sarl_4 ... ok
+sarl_5 ... ok
+sarl_6 ... ok
+sbbb_1 ... ok
+sbbb_2 ... ok
+sbbb_3 ... ok
+sbbb_4 ... ok
+sbbb_5 ... ok
+sbbb_6 ... ok
+sbbb_7 ... ok
+sbbb_8 ... ok
+sbbb_9 ... ok
+sbbb_10 ... ok
+sbbb_11 ... ok
+sbbb_12 ... ok
+sbbw_1 ... ok
+sbbw_2 ... ok
+sbbw_3 ... ok
+sbbw_4 ... ok
+sbbw_5 ... ok
+sbbw_6 ... ok
+sbbw_7 ... ok
+sbbw_8 ... ok
+sbbw_9 ... ok
+sbbw_10 ... ok
+sbbw_11 ... ok
+sbbw_12 ... ok
+sbbw_13 ... ok
+sbbw_14 ... ok
+sbbl_1 ... ok
+sbbl_2 ... ok
+sbbl_3 ... ok
+sbbl_4 ... ok
+sbbl_5 ... ok
+sbbl_6 ... ok
+sbbl_7 ... ok
+sbbl_8 ... ok
+sbbl_9 ... ok
+sbbl_10 ... ok
+sbbl_11 ... ok
+sbbl_12 ... ok
+sbbl_13 ... ok
+sbbl_14 ... ok
+seta_1 ... ok
+seta_2 ... ok
+seta_3 ... ok
+seta_4 ... ok
+seta_5 ... ok
+seta_6 ... ok
+seta_7 ... ok
+seta_8 ... ok
+setae_1 ... ok
+setae_2 ... ok
+setae_3 ... ok
+setae_4 ... ok
+setb_1 ... ok
+setb_2 ... ok
+setb_3 ... ok
+setb_4 ... ok
+setbe_1 ... ok
+setbe_2 ... ok
+setbe_3 ... ok
+setbe_4 ... ok
+setbe_5 ... ok
+setbe_6 ... ok
+setbe_7 ... ok
+setbe_8 ... ok
+setc_1 ... ok
+setc_2 ... ok
+setc_3 ... ok
+setc_4 ... ok
+sete_1 ... ok
+sete_2 ... ok
+sete_3 ... ok
+sete_4 ... ok
+setg_1 ... ok
+setg_2 ... ok
+setg_3 ... ok
+setg_4 ... ok
+setg_5 ... ok
+setg_6 ... ok
+setg_7 ... ok
+setg_8 ... ok
+setg_9 ... ok
+setg_10 ... ok
+setg_11 ... ok
+setg_12 ... ok
+setg_13 ... ok
+setg_14 ... ok
+setg_15 ... ok
+setg_16 ... ok
+setge_1 ... ok
+setge_2 ... ok
+setge_3 ... ok
+setge_4 ... ok
+setge_5 ... ok
+setge_6 ... ok
+setge_7 ... ok
+setge_8 ... ok
+setl_1 ... ok
+setl_2 ... ok
+setl_3 ... ok
+setl_4 ... ok
+setl_5 ... ok
+setl_6 ... ok
+setl_7 ... ok
+setl_8 ... ok
+setle_1 ... ok
+setle_2 ... ok
+setle_3 ... ok
+setle_4 ... ok
+setle_5 ... ok
+setle_6 ... ok
+setle_7 ... ok
+setle_8 ... ok
+setle_9 ... ok
+setle_10 ... ok
+setle_11 ... ok
+setle_12 ... ok
+setle_13 ... ok
+setle_14 ... ok
+setle_15 ... ok
+setle_16 ... ok
+setna_1 ... ok
+setna_2 ... ok
+setna_3 ... ok
+setna_4 ... ok
+setna_5 ... ok
+setna_6 ... ok
+setna_7 ... ok
+setna_8 ... ok
+setnae_1 ... ok
+setnae_2 ... ok
+setnae_3 ... ok
+setnae_4 ... ok
+setnb_1 ... ok
+setnb_2 ... ok
+setnb_3 ... ok
+setnb_4 ... ok
+setnbe_1 ... ok
+setnbe_2 ... ok
+setnbe_3 ... ok
+setnbe_4 ... ok
+setnbe_5 ... ok
+setnbe_6 ... ok
+setnbe_7 ... ok
+setnbe_8 ... ok
+setnc_1 ... ok
+setnc_2 ... ok
+setnc_3 ... ok
+setnc_4 ... ok
+setne_1 ... ok
+setne_2 ... ok
+setne_3 ... ok
+setne_4 ... ok
+setng_1 ... ok
+setng_2 ... ok
+setng_3 ... ok
+setng_4 ... ok
+setng_5 ... ok
+setng_6 ... ok
+setng_7 ... ok
+setng_8 ... ok
+setng_9 ... ok
+setng_10 ... ok
+setng_11 ... ok
+setng_12 ... ok
+setng_13 ... ok
+setng_14 ... ok
+setng_15 ... ok
+setng_16 ... ok
+setnge_1 ... ok
+setnge_2 ... ok
+setnge_3 ... ok
+setnge_4 ... ok
+setnge_5 ... ok
+setnge_6 ... ok
+setnge_7 ... ok
+setnge_8 ... ok
+setnl_1 ... ok
+setnl_2 ... ok
+setnl_3 ... ok
+setnl_4 ... ok
+setnl_5 ... ok
+setnl_6 ... ok
+setnl_7 ... ok
+setnl_8 ... ok
+setnle_1 ... ok
+setnle_2 ... ok
+setnle_3 ... ok
+setnle_4 ... ok
+setnle_5 ... ok
+setnle_6 ... ok
+setnle_7 ... ok
+setnle_8 ... ok
+setnle_9 ... ok
+setnle_10 ... ok
+setnle_11 ... ok
+setnle_12 ... ok
+setnle_13 ... ok
+setnle_14 ... ok
+setnle_15 ... ok
+setnle_16 ... ok
+setno_1 ... ok
+setno_2 ... ok
+setno_3 ... ok
+setno_4 ... ok
+setnp_1 ... ok
+setnp_2 ... ok
+setnp_3 ... ok
+setnp_4 ... ok
+setns_1 ... ok
+setns_2 ... ok
+setns_3 ... ok
+setns_4 ... ok
+setnz_1 ... ok
+setnz_2 ... ok
+setnz_3 ... ok
+setnz_4 ... ok
+seto_1 ... ok
+seto_2 ... ok
+seto_3 ... ok
+seto_4 ... ok
+setp_1 ... ok
+setp_2 ... ok
+setp_3 ... ok
+setp_4 ... ok
+sets_1 ... ok
+sets_2 ... ok
+sets_3 ... ok
+sets_4 ... ok
+setz_1 ... ok
+setz_2 ... ok
+setz_3 ... ok
+setz_4 ... ok
+shlb_1 ... ok
+shlb_2 ... ok
+shlb_3 ... ok
+shlb_4 ... ok
+shlb_5 ... ok
+shlb_6 ... ok
+shlw_1 ... ok
+shlw_2 ... ok
+shlw_3 ... ok
+shlw_4 ... ok
+shlw_5 ... ok
+shlw_6 ... ok
+shll_1 ... ok
+shll_2 ... ok
+shll_3 ... ok
+shll_4 ... ok
+shll_5 ... ok
+shll_6 ... ok
+shrb_1 ... ok
+shrb_2 ... ok
+shrb_3 ... ok
+shrb_4 ... ok
+shrb_5 ... ok
+shrb_6 ... ok
+shrw_1 ... ok
+shrw_2 ... ok
+shrw_3 ... ok
+shrw_4 ... ok
+shrw_5 ... ok
+shrw_6 ... ok
+shrl_1 ... ok
+shrl_2 ... ok
+shrl_3 ... ok
+shrl_4 ... ok
+shrl_5 ... ok
+shrl_6 ... ok
+shldw_1 ... ok
+shldw_2 ... ok
+shldw_3 ... ok
+shldw_4 ... ok
+shldw_5 ... ok
+shldw_6 ... ok
+shldw_7 ... ok
+shldw_8 ... ok
+shldl_1 ... ok
+shldl_2 ... ok
+shldl_3 ... ok
+shldl_4 ... ok
+shldl_5 ... ok
+shldl_6 ... ok
+shldl_7 ... ok
+shldl_8 ... ok
+shrdw_1 ... ok
+shrdw_2 ... ok
+shrdw_3 ... ok
+shrdw_4 ... ok
+shrdw_5 ... ok
+shrdw_6 ... ok
+shrdw_7 ... ok
+shrdw_8 ... ok
+shrdl_1 ... ok
+shrdl_2 ... ok
+shrdl_3 ... ok
+shrdl_4 ... ok
+shrdl_5 ... ok
+shrdl_6 ... ok
+shrdl_7 ... ok
+shrdl_8 ... ok
+stc_1 ... ok
+stc_2 ... ok
+std_1 ... ok
+std_2 ... ok
+subb_1 ... ok
+subb_2 ... ok
+subb_3 ... ok
+subb_4 ... ok
+subb_5 ... ok
+subb_6 ... ok
+subw_1 ... ok
+subw_2 ... ok
+subw_3 ... ok
+subw_4 ... ok
+subw_5 ... ok
+subw_6 ... ok
+subw_7 ... ok
+subl_1 ... ok
+subl_2 ... ok
+subl_3 ... ok
+subl_4 ... ok
+subl_5 ... ok
+subl_6 ... ok
+subl_7 ... ok
+testb_1 ... ok
+testb_2 ... ok
+testb_3 ... ok
+testb_4 ... ok
+testb_5 ... ok
+testb_6 ... ok
+testb_7 ... ok
+testb_8 ... ok
+testb_9 ... ok
+testb_10 ... ok
+testb_11 ... ok
+testb_12 ... ok
+testb_13 ... ok
+testb_14 ... ok
+testb_15 ... ok
+testb_16 ... ok
+testb_17 ... ok
+testb_18 ... ok
+testb_19 ... ok
+testb_20 ... ok
+testb_21 ... ok
+testb_22 ... ok
+testb_23 ... ok
+testb_24 ... ok
+testb_25 ... ok
+testw_1 ... ok
+testw_2 ... ok
+testw_3 ... ok
+testw_4 ... ok
+testw_5 ... ok
+testw_6 ... ok
+testw_7 ... ok
+testw_8 ... ok
+testw_9 ... ok
+testw_10 ... ok
+testw_11 ... ok
+testw_12 ... ok
+testw_13 ... ok
+testw_14 ... ok
+testw_15 ... ok
+testw_16 ... ok
+testw_17 ... ok
+testw_18 ... ok
+testw_19 ... ok
+testw_20 ... ok
+testw_21 ... ok
+testw_22 ... ok
+testw_23 ... ok
+testw_24 ... ok
+testw_25 ... ok
+testl_1 ... ok
+testl_2 ... ok
+testl_3 ... ok
+testl_4 ... ok
+testl_5 ... ok
+testl_6 ... ok
+testl_7 ... ok
+testl_8 ... ok
+testl_9 ... ok
+testl_10 ... ok
+testl_11 ... ok
+testl_12 ... ok
+testl_13 ... ok
+testl_14 ... ok
+testl_15 ... ok
+testl_16 ... ok
+testl_17 ... ok
+testl_18 ... ok
+testl_19 ... ok
+testl_20 ... ok
+testl_21 ... ok
+testl_22 ... ok
+testl_23 ... ok
+testl_24 ... ok
+testl_25 ... ok
+xaddb_1 ... ok
+xaddb_2 ... ok
+xaddw_1 ... ok
+xaddw_2 ... ok
+xaddl_1 ... ok
+xaddl_2 ... ok
+xchgb_1 ... ok
+xchgb_2 ... ok
+xchgb_3 ... ok
+xchgw_1 ... ok
+xchgw_2 ... ok
+xchgw_3 ... ok
+xchgw_4 ... ok
+xchgw_5 ... ok
+xchgl_1 ... ok
+xchgl_2 ... ok
+xchgl_3 ... ok
+xchgl_4 ... ok
+xchgl_5 ... ok
+xorb_1 ... ok
+xorb_2 ... ok
+xorb_3 ... ok
+xorb_4 ... ok
+xorb_5 ... ok
+xorb_6 ... ok
+xorw_1 ... ok
+xorw_2 ... ok
+xorw_3 ... ok
+xorw_4 ... ok
+xorw_5 ... ok
+xorw_6 ... ok
+xorw_7 ... ok
+xorl_1 ... ok
+xorl_2 ... ok
+xorl_3 ... ok
+xorl_4 ... ok
+xorl_5 ... ok
+xorl_6 ... ok
+xorl_7 ... ok
diff --git a/addrcheck/tests/insn_basic.vgtest b/addrcheck/tests/insn_basic.vgtest
new file mode 100644
index 00000000..f5329ea8
--- /dev/null
+++ b/addrcheck/tests/insn_basic.vgtest
@@ -0,0 +1,2 @@
+vgopts: -q
+prog: ../../none/tests/insn_basic
diff --git a/addrcheck/tests/insn_cmov.stderr.exp b/addrcheck/tests/insn_cmov.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/addrcheck/tests/insn_cmov.stderr.exp
diff --git a/addrcheck/tests/insn_cmov.stdout.exp b/addrcheck/tests/insn_cmov.stdout.exp
new file mode 100644
index 00000000..31ac1720
--- /dev/null
+++ b/addrcheck/tests/insn_cmov.stdout.exp
@@ -0,0 +1,384 @@
+cmova_1 ... ok
+cmova_2 ... ok
+cmova_3 ... ok
+cmova_4 ... ok
+cmova_5 ... ok
+cmova_6 ... ok
+cmova_7 ... ok
+cmova_8 ... ok
+cmovae_1 ... ok
+cmovae_2 ... ok
+cmovae_3 ... ok
+cmovae_4 ... ok
+cmovb_1 ... ok
+cmovb_2 ... ok
+cmovb_3 ... ok
+cmovb_4 ... ok
+cmovbe_1 ... ok
+cmovbe_2 ... ok
+cmovbe_3 ... ok
+cmovbe_4 ... ok
+cmovbe_5 ... ok
+cmovbe_6 ... ok
+cmovbe_7 ... ok
+cmovbe_8 ... ok
+cmovc_1 ... ok
+cmovc_2 ... ok
+cmovc_3 ... ok
+cmovc_4 ... ok
+cmove_1 ... ok
+cmove_2 ... ok
+cmove_3 ... ok
+cmove_4 ... ok
+cmovg_1 ... ok
+cmovg_2 ... ok
+cmovg_3 ... ok
+cmovg_4 ... ok
+cmovg_5 ... ok
+cmovg_6 ... ok
+cmovg_7 ... ok
+cmovg_8 ... ok
+cmovg_9 ... ok
+cmovg_10 ... ok
+cmovg_11 ... ok
+cmovg_12 ... ok
+cmovg_13 ... ok
+cmovg_14 ... ok
+cmovg_15 ... ok
+cmovg_16 ... ok
+cmovge_1 ... ok
+cmovge_2 ... ok
+cmovge_3 ... ok
+cmovge_4 ... ok
+cmovge_5 ... ok
+cmovge_6 ... ok
+cmovge_7 ... ok
+cmovge_8 ... ok
+cmovl_1 ... ok
+cmovl_2 ... ok
+cmovl_3 ... ok
+cmovl_4 ... ok
+cmovl_5 ... ok
+cmovl_6 ... ok
+cmovl_7 ... ok
+cmovl_8 ... ok
+cmovle_1 ... ok
+cmovle_2 ... ok
+cmovle_3 ... ok
+cmovle_4 ... ok
+cmovle_5 ... ok
+cmovle_6 ... ok
+cmovle_7 ... ok
+cmovle_8 ... ok
+cmovle_9 ... ok
+cmovle_10 ... ok
+cmovle_11 ... ok
+cmovle_12 ... ok
+cmovle_13 ... ok
+cmovle_14 ... ok
+cmovle_15 ... ok
+cmovle_16 ... ok
+cmovna_1 ... ok
+cmovna_2 ... ok
+cmovna_3 ... ok
+cmovna_4 ... ok
+cmovna_5 ... ok
+cmovna_6 ... ok
+cmovna_7 ... ok
+cmovna_8 ... ok
+cmovnae_1 ... ok
+cmovnae_2 ... ok
+cmovnae_3 ... ok
+cmovnae_4 ... ok
+cmovnb_1 ... ok
+cmovnb_2 ... ok
+cmovnb_3 ... ok
+cmovnb_4 ... ok
+cmovnbe_1 ... ok
+cmovnbe_2 ... ok
+cmovnbe_3 ... ok
+cmovnbe_4 ... ok
+cmovnbe_5 ... ok
+cmovnbe_6 ... ok
+cmovnbe_7 ... ok
+cmovnbe_8 ... ok
+cmovnc_1 ... ok
+cmovnc_2 ... ok
+cmovnc_3 ... ok
+cmovnc_4 ... ok
+cmovne_1 ... ok
+cmovne_2 ... ok
+cmovne_3 ... ok
+cmovne_4 ... ok
+cmovng_1 ... ok
+cmovng_2 ... ok
+cmovng_3 ... ok
+cmovng_4 ... ok
+cmovng_5 ... ok
+cmovng_6 ... ok
+cmovng_7 ... ok
+cmovng_8 ... ok
+cmovng_9 ... ok
+cmovng_10 ... ok
+cmovng_11 ... ok
+cmovng_12 ... ok
+cmovng_13 ... ok
+cmovng_14 ... ok
+cmovng_15 ... ok
+cmovng_16 ... ok
+cmovnge_1 ... ok
+cmovnge_2 ... ok
+cmovnge_3 ... ok
+cmovnge_4 ... ok
+cmovnge_5 ... ok
+cmovnge_6 ... ok
+cmovnge_7 ... ok
+cmovnge_8 ... ok
+cmovnl_1 ... ok
+cmovnl_2 ... ok
+cmovnl_3 ... ok
+cmovnl_4 ... ok
+cmovnl_5 ... ok
+cmovnl_6 ... ok
+cmovnl_7 ... ok
+cmovnl_8 ... ok
+cmovnle_1 ... ok
+cmovnle_2 ... ok
+cmovnle_3 ... ok
+cmovnle_4 ... ok
+cmovnle_5 ... ok
+cmovnle_6 ... ok
+cmovnle_7 ... ok
+cmovnle_8 ... ok
+cmovnle_9 ... ok
+cmovnle_10 ... ok
+cmovnle_11 ... ok
+cmovnle_12 ... ok
+cmovnle_13 ... ok
+cmovnle_14 ... ok
+cmovnle_15 ... ok
+cmovnle_16 ... ok
+cmovno_1 ... ok
+cmovno_2 ... ok
+cmovno_3 ... ok
+cmovno_4 ... ok
+cmovnp_1 ... ok
+cmovnp_2 ... ok
+cmovnp_3 ... ok
+cmovnp_4 ... ok
+cmovns_1 ... ok
+cmovns_2 ... ok
+cmovns_3 ... ok
+cmovns_4 ... ok
+cmovnz_1 ... ok
+cmovnz_2 ... ok
+cmovnz_3 ... ok
+cmovnz_4 ... ok
+cmovo_1 ... ok
+cmovo_2 ... ok
+cmovo_3 ... ok
+cmovo_4 ... ok
+cmovp_1 ... ok
+cmovp_2 ... ok
+cmovp_3 ... ok
+cmovp_4 ... ok
+cmovs_1 ... ok
+cmovs_2 ... ok
+cmovs_3 ... ok
+cmovs_4 ... ok
+cmovz_1 ... ok
+cmovz_2 ... ok
+cmovz_3 ... ok
+cmovz_4 ... ok
+cmova_9 ... ok
+cmova_10 ... ok
+cmova_11 ... ok
+cmova_12 ... ok
+cmova_13 ... ok
+cmova_14 ... ok
+cmova_15 ... ok
+cmova_16 ... ok
+cmovae_5 ... ok
+cmovae_6 ... ok
+cmovae_7 ... ok
+cmovae_8 ... ok
+cmovb_5 ... ok
+cmovb_6 ... ok
+cmovb_7 ... ok
+cmovb_8 ... ok
+cmovbe_9 ... ok
+cmovbe_10 ... ok
+cmovbe_11 ... ok
+cmovbe_12 ... ok
+cmovbe_13 ... ok
+cmovbe_14 ... ok
+cmovbe_15 ... ok
+cmovbe_16 ... ok
+cmovc_5 ... ok
+cmovc_6 ... ok
+cmovc_7 ... ok
+cmovc_8 ... ok
+cmove_5 ... ok
+cmove_6 ... ok
+cmove_7 ... ok
+cmove_8 ... ok
+cmovg_17 ... ok
+cmovg_18 ... ok
+cmovg_19 ... ok
+cmovg_20 ... ok
+cmovg_21 ... ok
+cmovg_22 ... ok
+cmovg_23 ... ok
+cmovg_24 ... ok
+cmovg_25 ... ok
+cmovg_26 ... ok
+cmovg_27 ... ok
+cmovg_28 ... ok
+cmovg_29 ... ok
+cmovg_30 ... ok
+cmovg_31 ... ok
+cmovg_32 ... ok
+cmovge_9 ... ok
+cmovge_10 ... ok
+cmovge_11 ... ok
+cmovge_12 ... ok
+cmovge_13 ... ok
+cmovge_14 ... ok
+cmovge_15 ... ok
+cmovge_16 ... ok
+cmovl_9 ... ok
+cmovl_10 ... ok
+cmovl_11 ... ok
+cmovl_12 ... ok
+cmovl_13 ... ok
+cmovl_14 ... ok
+cmovl_15 ... ok
+cmovl_16 ... ok
+cmovle_17 ... ok
+cmovle_18 ... ok
+cmovle_19 ... ok
+cmovle_20 ... ok
+cmovle_21 ... ok
+cmovle_22 ... ok
+cmovle_23 ... ok
+cmovle_24 ... ok
+cmovle_25 ... ok
+cmovle_26 ... ok
+cmovle_27 ... ok
+cmovle_28 ... ok
+cmovle_29 ... ok
+cmovle_30 ... ok
+cmovle_31 ... ok
+cmovle_32 ... ok
+cmovna_9 ... ok
+cmovna_10 ... ok
+cmovna_11 ... ok
+cmovna_12 ... ok
+cmovna_13 ... ok
+cmovna_14 ... ok
+cmovna_15 ... ok
+cmovna_16 ... ok
+cmovnae_5 ... ok
+cmovnae_6 ... ok
+cmovnae_7 ... ok
+cmovnae_8 ... ok
+cmovnb_5 ... ok
+cmovnb_6 ... ok
+cmovnb_7 ... ok
+cmovnb_8 ... ok
+cmovnbe_9 ... ok
+cmovnbe_10 ... ok
+cmovnbe_11 ... ok
+cmovnbe_12 ... ok
+cmovnbe_13 ... ok
+cmovnbe_14 ... ok
+cmovnbe_15 ... ok
+cmovnbe_16 ... ok
+cmovnc_5 ... ok
+cmovnc_6 ... ok
+cmovnc_7 ... ok
+cmovnc_8 ... ok
+cmovne_5 ... ok
+cmovne_6 ... ok
+cmovne_7 ... ok
+cmovne_8 ... ok
+cmovng_17 ... ok
+cmovng_18 ... ok
+cmovng_19 ... ok
+cmovng_20 ... ok
+cmovng_21 ... ok
+cmovng_22 ... ok
+cmovng_23 ... ok
+cmovng_24 ... ok
+cmovng_25 ... ok
+cmovng_26 ... ok
+cmovng_27 ... ok
+cmovng_28 ... ok
+cmovng_29 ... ok
+cmovng_30 ... ok
+cmovng_31 ... ok
+cmovng_32 ... ok
+cmovnge_9 ... ok
+cmovnge_10 ... ok
+cmovnge_11 ... ok
+cmovnge_12 ... ok
+cmovnge_13 ... ok
+cmovnge_14 ... ok
+cmovnge_15 ... ok
+cmovnge_16 ... ok
+cmovnl_9 ... ok
+cmovnl_10 ... ok
+cmovnl_11 ... ok
+cmovnl_12 ... ok
+cmovnl_13 ... ok
+cmovnl_14 ... ok
+cmovnl_15 ... ok
+cmovnl_16 ... ok
+cmovnle_17 ... ok
+cmovnle_18 ... ok
+cmovnle_19 ... ok
+cmovnle_20 ... ok
+cmovnle_21 ... ok
+cmovnle_22 ... ok
+cmovnle_23 ... ok
+cmovnle_24 ... ok
+cmovnle_25 ... ok
+cmovnle_26 ... ok
+cmovnle_27 ... ok
+cmovnle_28 ... ok
+cmovnle_29 ... ok
+cmovnle_30 ... ok
+cmovnle_31 ... ok
+cmovnle_32 ... ok
+cmovno_5 ... ok
+cmovno_6 ... ok
+cmovno_7 ... ok
+cmovno_8 ... ok
+cmovnp_5 ... ok
+cmovnp_6 ... ok
+cmovnp_7 ... ok
+cmovnp_8 ... ok
+cmovns_5 ... ok
+cmovns_6 ... ok
+cmovns_7 ... ok
+cmovns_8 ... ok
+cmovnz_5 ... ok
+cmovnz_6 ... ok
+cmovnz_7 ... ok
+cmovnz_8 ... ok
+cmovo_5 ... ok
+cmovo_6 ... ok
+cmovo_7 ... ok
+cmovo_8 ... ok
+cmovp_5 ... ok
+cmovp_6 ... ok
+cmovp_7 ... ok
+cmovp_8 ... ok
+cmovs_5 ... ok
+cmovs_6 ... ok
+cmovs_7 ... ok
+cmovs_8 ... ok
+cmovz_5 ... ok
+cmovz_6 ... ok
+cmovz_7 ... ok
+cmovz_8 ... ok
diff --git a/addrcheck/tests/insn_cmov.vgtest b/addrcheck/tests/insn_cmov.vgtest
new file mode 100644
index 00000000..0321a3ca
--- /dev/null
+++ b/addrcheck/tests/insn_cmov.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_cmov
+cpu_test: cmov
diff --git a/addrcheck/tests/insn_mmx.stderr.exp b/addrcheck/tests/insn_mmx.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/addrcheck/tests/insn_mmx.stderr.exp
diff --git a/addrcheck/tests/insn_mmx.stdout.exp b/addrcheck/tests/insn_mmx.stdout.exp
new file mode 100644
index 00000000..95cbae16
--- /dev/null
+++ b/addrcheck/tests/insn_mmx.stdout.exp
@@ -0,0 +1,103 @@
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movq_1 ... ok
+movq_2 ... ok
+movq_3 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+por_1 ... ok
+por_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
diff --git a/addrcheck/tests/insn_mmx.vgtest b/addrcheck/tests/insn_mmx.vgtest
new file mode 100644
index 00000000..ddbb9772
--- /dev/null
+++ b/addrcheck/tests/insn_mmx.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmx
+cpu_test: mmx
diff --git a/addrcheck/tests/insn_mmxext.stderr.exp b/addrcheck/tests/insn_mmxext.stderr.exp
new file mode 100644
index 00000000..139597f9
--- /dev/null
+++ b/addrcheck/tests/insn_mmxext.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/addrcheck/tests/insn_mmxext.stdout.exp b/addrcheck/tests/insn_mmxext.stdout.exp
new file mode 100644
index 00000000..631f7939
--- /dev/null
+++ b/addrcheck/tests/insn_mmxext.stdout.exp
@@ -0,0 +1,28 @@
+movntq_1 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
diff --git a/addrcheck/tests/insn_mmxext.vgtest b/addrcheck/tests/insn_mmxext.vgtest
new file mode 100644
index 00000000..bb667097
--- /dev/null
+++ b/addrcheck/tests/insn_mmxext.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmxext
+cpu_test: mmxext
diff --git a/addrcheck/tests/insn_sse.stderr.exp b/addrcheck/tests/insn_sse.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/addrcheck/tests/insn_sse.stderr.exp
diff --git a/addrcheck/tests/insn_sse.stdout.exp b/addrcheck/tests/insn_sse.stdout.exp
new file mode 100644
index 00000000..c9ae0f15
--- /dev/null
+++ b/addrcheck/tests/insn_sse.stdout.exp
@@ -0,0 +1,141 @@
+addps_1 ... ok
+addps_2 ... ok
+addss_1 ... ok
+addss_2 ... ok
+andnps_1 ... ok
+andnps_2 ... ok
+andps_1 ... ok
+andps_2 ... ok
+cmpeqps_1 ... ok
+cmpeqps_2 ... ok
+cmpeqss_1 ... ok
+cmpeqss_2 ... ok
+cmpleps_1 ... ok
+cmpleps_2 ... ok
+cmpless_1 ... ok
+cmpless_2 ... ok
+cmpltps_1 ... ok
+cmpltps_2 ... ok
+cmpltss_1 ... ok
+cmpltss_2 ... ok
+cmpneqps_1 ... ok
+cmpneqps_2 ... ok
+cmpneqss_1 ... ok
+cmpneqss_2 ... ok
+cmpnleps_1 ... ok
+cmpnleps_2 ... ok
+cmpnless_1 ... ok
+cmpnless_2 ... ok
+cmpnltps_1 ... ok
+cmpnltps_2 ... ok
+cmpnltss_1 ... ok
+cmpnltss_2 ... ok
+comiss_1 ... ok
+comiss_2 ... ok
+comiss_3 ... ok
+comiss_4 ... ok
+comiss_5 ... ok
+comiss_6 ... ok
+cvtpi2ps_1 ... ok
+cvtpi2ps_2 ... ok
+cvtps2pi_1 ... ok
+cvtps2pi_2 ... ok
+cvtsi2ss_1 ... ok
+cvtsi2ss_2 ... ok
+cvtss2si_1 ... ok
+cvtss2si_2 ... ok
+cvttps2pi_1 ... ok
+cvttps2pi_2 ... ok
+cvttss2si_1 ... ok
+cvttss2si_2 ... ok
+divps_1 ... ok
+divps_2 ... ok
+divss_1 ... ok
+divss_2 ... ok
+maxps_1 ... ok
+maxps_2 ... ok
+maxss_1 ... ok
+maxss_2 ... ok
+minps_1 ... ok
+minps_2 ... ok
+minss_1 ... ok
+minss_2 ... ok
+movaps_1 ... ok
+movaps_2 ... ok
+movhlps_1 ... ok
+movhps_1 ... ok
+movhps_2 ... ok
+movlhps_1 ... ok
+movlps_1 ... ok
+movlps_2 ... ok
+movmskps_1 ... ok
+movntps_1 ... ok
+movntq_1 ... ok
+movss_1 ... ok
+movss_2 ... ok
+movss_3 ... ok
+movups_1 ... ok
+movups_2 ... ok
+mulps_1 ... ok
+mulps_2 ... ok
+mulss_1 ... ok
+mulss_2 ... ok
+orps_1 ... ok
+orps_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
+rcpps_1 ... ok
+rcpps_2 ... ok
+rcpss_1 ... ok
+rcpss_2 ... ok
+rsqrtps_1 ... ok
+rsqrtps_2 ... ok
+rsqrtss_1 ... ok
+rsqrtss_2 ... ok
+shufps_1 ... ok
+shufps_2 ... ok
+sqrtps_1 ... ok
+sqrtps_2 ... ok
+sqrtss_1 ... ok
+sqrtss_2 ... ok
+subps_1 ... ok
+subps_2 ... ok
+subss_1 ... ok
+subss_2 ... ok
+ucomiss_1 ... ok
+ucomiss_2 ... ok
+ucomiss_3 ... ok
+ucomiss_4 ... ok
+ucomiss_5 ... ok
+ucomiss_6 ... ok
+unpckhps_1 ... ok
+unpckhps_2 ... ok
+unpcklps_1 ... ok
+unpcklps_2 ... ok
+xorps_1 ... ok
+xorps_2 ... ok
diff --git a/addrcheck/tests/insn_sse.vgtest b/addrcheck/tests/insn_sse.vgtest
new file mode 100644
index 00000000..167c8e29
--- /dev/null
+++ b/addrcheck/tests/insn_sse.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse
+cpu_test: sse
diff --git a/addrcheck/tests/insn_sse2.stderr.exp b/addrcheck/tests/insn_sse2.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/addrcheck/tests/insn_sse2.stderr.exp
diff --git a/addrcheck/tests/insn_sse2.stdout.exp b/addrcheck/tests/insn_sse2.stdout.exp
new file mode 100644
index 00000000..53340e76
--- /dev/null
+++ b/addrcheck/tests/insn_sse2.stdout.exp
@@ -0,0 +1,292 @@
+addpd_1 ... ok
+addpd_2 ... ok
+addsd_1 ... ok
+addsd_2 ... ok
+andpd_1 ... ok
+andpd_2 ... ok
+andnpd_1 ... ok
+andnpd_2 ... ok
+cmpeqpd_1 ... ok
+cmpeqpd_2 ... ok
+cmpltpd_1 ... ok
+cmpltpd_2 ... ok
+cmplepd_1 ... ok
+cmplepd_2 ... ok
+cmpneqpd_1 ... ok
+cmpneqpd_2 ... ok
+cmpnltpd_1 ... ok
+cmpnltpd_2 ... ok
+cmpnlepd_1 ... ok
+cmpnlepd_2 ... ok
+cmpeqsd_1 ... ok
+cmpeqsd_2 ... ok
+cmpltsd_1 ... ok
+cmpltsd_2 ... ok
+cmplesd_1 ... ok
+cmplesd_2 ... ok
+cmpneqsd_1 ... ok
+cmpneqsd_2 ... ok
+cmpnltsd_1 ... ok
+cmpnltsd_2 ... ok
+cmpnlesd_1 ... ok
+cmpnlesd_2 ... ok
+comisd_1 ... ok
+comisd_2 ... ok
+comisd_3 ... ok
+comisd_4 ... ok
+comisd_5 ... ok
+comisd_6 ... ok
+cvtdq2pd_1 ... ok
+cvtdq2pd_2 ... ok
+cvtdq2ps_1 ... ok
+cvtdq2ps_2 ... ok
+cvtpd2dq_1 ... ok
+cvtpd2dq_2 ... ok
+cvtpd2pi_1 ... ok
+cvtpd2pi_2 ... ok
+cvtpd2ps_1 ... ok
+cvtpd2ps_2 ... ok
+cvtpi2pd_1 ... ok
+cvtpi2pd_2 ... ok
+cvtps2dq_1 ... ok
+cvtps2dq_2 ... ok
+cvtps2pd_1 ... ok
+cvtps2pd_2 ... ok
+cvtsd2si_1 ... ok
+cvtsd2si_2 ... ok
+cvtsd2ss_1 ... ok
+cvtsd2ss_2 ... ok
+cvtsi2sd_1 ... ok
+cvtsi2sd_2 ... ok
+cvtss2sd_1 ... ok
+cvtss2sd_2 ... ok
+cvttpd2pi_1 ... ok
+cvttpd2pi_2 ... ok
+cvttpd2dq_1 ... ok
+cvttpd2dq_2 ... ok
+cvttps2dq_1 ... ok
+cvttps2dq_2 ... ok
+cvttsd2si_1 ... ok
+cvttsd2si_2 ... ok
+divpd_1 ... ok
+divpd_2 ... ok
+divsd_1 ... ok
+divsd_2 ... ok
+maxpd_1 ... ok
+maxpd_2 ... ok
+maxsd_1 ... ok
+maxsd_2 ... ok
+minpd_1 ... ok
+minpd_2 ... ok
+minsd_1 ... ok
+minsd_2 ... ok
+movapd_1 ... ok
+movapd_2 ... ok
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movdqa_1 ... ok
+movdqa_2 ... ok
+movdqa_3 ... ok
+movdqu_1 ... ok
+movdqu_2 ... ok
+movdqu_3 ... ok
+movdq2q_1 ... ok
+movhpd_1 ... ok
+movhpd_2 ... ok
+movlpd_1 ... ok
+movlpd_2 ... ok
+movmskpd_1 ... ok
+movntdq_1 ... ok
+movnti_1 ... ok
+movntpd_1 ... ok
+movq2dq_1 ... ok
+movsd_1 ... ok
+movsd_2 ... ok
+movsd_3 ... ok
+movupd_1 ... ok
+movupd_2 ... ok
+mulpd_1 ... ok
+mulpd_2 ... ok
+mulsd_1 ... ok
+mulsd_2 ... ok
+orpd_1 ... ok
+orpd_2 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddq_1 ... ok
+paddq_2 ... ok
+paddq_3 ... ok
+paddq_4 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pextrw_5 ... ok
+pextrw_6 ... ok
+pextrw_7 ... ok
+pextrw_8 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+pmuludq_1 ... ok
+pmuludq_2 ... ok
+pmuludq_3 ... ok
+pmuludq_4 ... ok
+por_1 ... ok
+por_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufd_1 ... ok
+pshufd_2 ... ok
+pshufhw_1 ... ok
+pshufhw_2 ... ok
+pshuflw_1 ... ok
+pshuflw_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+pslldq_1 ... ok
+pslldq_2 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrldq_1 ... ok
+psrldq_2 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubq_1 ... ok
+psubq_2 ... ok
+psubq_3 ... ok
+psubq_4 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhqdq_1 ... ok
+punpckhqdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklqdq_1 ... ok
+punpcklqdq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
+shufpd_1 ... ok
+shufpd_2 ... ok
+sqrtpd_1 ... ok
+sqrtpd_2 ... ok
+sqrtsd_1 ... ok
+sqrtsd_2 ... ok
+subpd_1 ... ok
+subpd_2 ... ok
+subsd_1 ... ok
+subsd_2 ... ok
+ucomisd_1 ... ok
+ucomisd_2 ... ok
+ucomisd_3 ... ok
+ucomisd_4 ... ok
+ucomisd_5 ... ok
+ucomisd_6 ... ok
+unpckhpd_1 ... ok
+unpckhpd_2 ... ok
+unpcklpd_1 ... ok
+unpcklpd_2 ... ok
+xorpd_1 ... ok
+xorpd_2 ... ok
diff --git a/addrcheck/tests/insn_sse2.vgtest b/addrcheck/tests/insn_sse2.vgtest
new file mode 100644
index 00000000..42e82f38
--- /dev/null
+++ b/addrcheck/tests/insn_sse2.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse2
+cpu_test: sse2
diff --git a/cachegrind/tests/Makefile.am b/cachegrind/tests/Makefile.am
index 636482e3..c0945ea6 100644
--- a/cachegrind/tests/Makefile.am
+++ b/cachegrind/tests/Makefile.am
@@ -3,7 +3,9 @@ noinst_SCRIPTS = filter_stderr filter_cachesim_discards
EXTRA_DIST = $(noinst_SCRIPTS) \
chdir.vgtest chdir.stderr.exp \
dlclose.vgtest dlclose.stderr.exp dlclose.stdout.exp \
- fpu-28-108.vgtest fpu-28-108.stderr.exp
+ fpu-28-108.vgtest fpu-28-108.stderr.exp \
+ insn_basic.vgtest insn_cmov.vgtest insn_mmx.vgtest \
+ insn_mmxext.vgtest insn_sse.vgtest insn_sse2.vgtest
check_PROGRAMS = \
chdir dlclose fpu-28-108 myprint.so
diff --git a/cachegrind/tests/insn_basic.stderr.exp b/cachegrind/tests/insn_basic.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/cachegrind/tests/insn_basic.stderr.exp
diff --git a/cachegrind/tests/insn_basic.stdout.exp b/cachegrind/tests/insn_basic.stdout.exp
new file mode 100644
index 00000000..40cabbcd
--- /dev/null
+++ b/cachegrind/tests/insn_basic.stdout.exp
@@ -0,0 +1,1083 @@
+aaa_1 ... ok
+aaa_2 ... ok
+aaa_3 ... ok
+aaa_4 ... ok
+aaa_5 ... ok
+aaa_6 ... ok
+aaa_7 ... ok
+aaa_8 ... ok
+aad_1 ... ok
+aad_2 ... ok
+aam_1 ... ok
+aam_2 ... ok
+aas_1 ... ok
+aas_2 ... ok
+aas_3 ... ok
+aas_4 ... ok
+aas_5 ... ok
+aas_6 ... ok
+aas_7 ... ok
+aas_8 ... ok
+adcb_1 ... ok
+adcb_2 ... ok
+adcb_3 ... ok
+adcb_4 ... ok
+adcb_5 ... ok
+adcb_6 ... ok
+adcb_7 ... ok
+adcb_8 ... ok
+adcb_9 ... ok
+adcb_10 ... ok
+adcb_11 ... ok
+adcb_12 ... ok
+adcw_1 ... ok
+adcw_2 ... ok
+adcw_3 ... ok
+adcw_4 ... ok
+adcw_5 ... ok
+adcw_6 ... ok
+adcw_7 ... ok
+adcw_8 ... ok
+adcw_9 ... ok
+adcw_10 ... ok
+adcw_11 ... ok
+adcw_12 ... ok
+adcw_13 ... ok
+adcw_14 ... ok
+adcl_1 ... ok
+adcl_2 ... ok
+adcl_3 ... ok
+adcl_4 ... ok
+adcl_5 ... ok
+adcl_6 ... ok
+adcl_7 ... ok
+adcl_8 ... ok
+adcl_9 ... ok
+adcl_10 ... ok
+adcl_11 ... ok
+adcl_12 ... ok
+adcl_13 ... ok
+adcl_14 ... ok
+addb_1 ... ok
+addb_2 ... ok
+addb_3 ... ok
+addb_4 ... ok
+addb_5 ... ok
+addb_6 ... ok
+addw_1 ... ok
+addw_2 ... ok
+addw_3 ... ok
+addw_4 ... ok
+addw_5 ... ok
+addw_6 ... ok
+addw_7 ... ok
+addl_1 ... ok
+addl_2 ... ok
+addl_3 ... ok
+addl_4 ... ok
+addl_5 ... ok
+addl_6 ... ok
+addl_7 ... ok
+andb_1 ... ok
+andb_2 ... ok
+andb_3 ... ok
+andb_4 ... ok
+andb_5 ... ok
+andb_6 ... ok
+andw_1 ... ok
+andw_2 ... ok
+andw_3 ... ok
+andw_4 ... ok
+andw_5 ... ok
+andw_6 ... ok
+andw_7 ... ok
+andl_1 ... ok
+andl_2 ... ok
+andl_3 ... ok
+andl_4 ... ok
+andl_5 ... ok
+andl_6 ... ok
+andl_7 ... ok
+bsfw_1 ... ok
+bsfw_2 ... ok
+bsfl_1 ... ok
+bsfl_2 ... ok
+bsrw_1 ... ok
+bsrw_2 ... ok
+bsrl_1 ... ok
+bsrl_2 ... ok
+bswapl_1 ... ok
+btw_1 ... ok
+btw_2 ... ok
+btw_3 ... ok
+btw_4 ... ok
+btw_5 ... ok
+btw_6 ... ok
+btw_7 ... ok
+btw_8 ... ok
+btl_1 ... ok
+btl_2 ... ok
+btl_3 ... ok
+btl_4 ... ok
+btl_5 ... ok
+btl_6 ... ok
+btl_7 ... ok
+btl_8 ... ok
+btcw_1 ... ok
+btcw_2 ... ok
+btcw_3 ... ok
+btcw_4 ... ok
+btcw_5 ... ok
+btcw_6 ... ok
+btcw_7 ... ok
+btcw_8 ... ok
+btcl_1 ... ok
+btcl_2 ... ok
+btcl_3 ... ok
+btcl_4 ... ok
+btcl_5 ... ok
+btcl_6 ... ok
+btcl_7 ... ok
+btcl_8 ... ok
+btrw_1 ... ok
+btrw_2 ... ok
+btrw_3 ... ok
+btrw_4 ... ok
+btrw_5 ... ok
+btrw_6 ... ok
+btrw_7 ... ok
+btrw_8 ... ok
+btrl_1 ... ok
+btrl_2 ... ok
+btrl_3 ... ok
+btrl_4 ... ok
+btrl_5 ... ok
+btrl_6 ... ok
+btrl_7 ... ok
+btrl_8 ... ok
+btsw_1 ... ok
+btsw_2 ... ok
+btsw_3 ... ok
+btsw_4 ... ok
+btsw_5 ... ok
+btsw_6 ... ok
+btsw_7 ... ok
+btsw_8 ... ok
+btsl_1 ... ok
+btsl_2 ... ok
+btsl_3 ... ok
+btsl_4 ... ok
+btsl_5 ... ok
+btsl_6 ... ok
+btsl_7 ... ok
+btsl_8 ... ok
+cbw_1 ... ok
+cbw_2 ... ok
+cdq_1 ... ok
+cdq_2 ... ok
+clc_1 ... ok
+clc_2 ... ok
+cld_1 ... ok
+cld_2 ... ok
+cmc_1 ... ok
+cmc_2 ... ok
+cmpb_1 ... ok
+cmpb_2 ... ok
+cmpb_3 ... ok
+cmpb_4 ... ok
+cmpb_5 ... ok
+cmpb_6 ... ok
+cmpb_7 ... ok
+cmpb_8 ... ok
+cmpb_9 ... ok
+cmpb_10 ... ok
+cmpb_11 ... ok
+cmpb_12 ... ok
+cmpb_13 ... ok
+cmpb_14 ... ok
+cmpb_15 ... ok
+cmpb_16 ... ok
+cmpb_17 ... ok
+cmpb_18 ... ok
+cmpb_19 ... ok
+cmpb_20 ... ok
+cmpb_21 ... ok
+cmpb_22 ... ok
+cmpb_23 ... ok
+cmpb_24 ... ok
+cmpb_25 ... ok
+cmpb_26 ... ok
+cmpb_27 ... ok
+cmpb_28 ... ok
+cmpb_29 ... ok
+cmpb_30 ... ok
+cmpb_31 ... ok
+cmpb_32 ... ok
+cmpb_33 ... ok
+cmpb_34 ... ok
+cmpb_35 ... ok
+cmpb_36 ... ok
+cmpb_37 ... ok
+cmpb_38 ... ok
+cmpb_39 ... ok
+cmpb_40 ... ok
+cmpb_41 ... ok
+cmpb_42 ... ok
+cmpb_43 ... ok
+cmpb_44 ... ok
+cmpb_45 ... ok
+cmpb_46 ... ok
+cmpb_47 ... ok
+cmpb_48 ... ok
+cmpb_49 ... ok
+cmpb_50 ... ok
+cmpb_51 ... ok
+cmpb_52 ... ok
+cmpb_53 ... ok
+cmpb_54 ... ok
+cmpb_55 ... ok
+cmpb_56 ... ok
+cmpb_57 ... ok
+cmpb_58 ... ok
+cmpb_59 ... ok
+cmpb_60 ... ok
+cmpw_1 ... ok
+cmpw_2 ... ok
+cmpw_3 ... ok
+cmpw_4 ... ok
+cmpw_5 ... ok
+cmpw_6 ... ok
+cmpw_7 ... ok
+cmpw_8 ... ok
+cmpw_9 ... ok
+cmpw_10 ... ok
+cmpw_11 ... ok
+cmpw_12 ... ok
+cmpw_13 ... ok
+cmpw_14 ... ok
+cmpw_15 ... ok
+cmpw_16 ... ok
+cmpw_17 ... ok
+cmpw_18 ... ok
+cmpw_19 ... ok
+cmpw_20 ... ok
+cmpw_21 ... ok
+cmpw_22 ... ok
+cmpw_23 ... ok
+cmpw_24 ... ok
+cmpw_25 ... ok
+cmpw_26 ... ok
+cmpw_27 ... ok
+cmpw_28 ... ok
+cmpw_29 ... ok
+cmpw_30 ... ok
+cmpw_31 ... ok
+cmpw_32 ... ok
+cmpw_33 ... ok
+cmpw_34 ... ok
+cmpw_35 ... ok
+cmpw_36 ... ok
+cmpw_37 ... ok
+cmpw_38 ... ok
+cmpw_39 ... ok
+cmpw_40 ... ok
+cmpw_41 ... ok
+cmpw_42 ... ok
+cmpw_43 ... ok
+cmpw_44 ... ok
+cmpw_45 ... ok
+cmpw_46 ... ok
+cmpw_47 ... ok
+cmpw_48 ... ok
+cmpw_49 ... ok
+cmpw_50 ... ok
+cmpw_51 ... ok
+cmpw_52 ... ok
+cmpw_53 ... ok
+cmpw_54 ... ok
+cmpw_55 ... ok
+cmpw_56 ... ok
+cmpw_57 ... ok
+cmpw_58 ... ok
+cmpw_59 ... ok
+cmpw_60 ... ok
+cmpw_61 ... ok
+cmpw_62 ... ok
+cmpw_63 ... ok
+cmpw_64 ... ok
+cmpw_65 ... ok
+cmpw_66 ... ok
+cmpw_67 ... ok
+cmpw_68 ... ok
+cmpw_69 ... ok
+cmpw_70 ... ok
+cmpw_71 ... ok
+cmpw_72 ... ok
+cmpw_73 ... ok
+cmpw_74 ... ok
+cmpw_75 ... ok
+cmpw_76 ... ok
+cmpw_77 ... ok
+cmpw_78 ... ok
+cmpw_79 ... ok
+cmpw_80 ... ok
+cmpl_1 ... ok
+cmpl_2 ... ok
+cmpl_3 ... ok
+cmpl_4 ... ok
+cmpl_5 ... ok
+cmpl_6 ... ok
+cmpl_7 ... ok
+cmpl_8 ... ok
+cmpl_9 ... ok
+cmpl_10 ... ok
+cmpl_11 ... ok
+cmpl_12 ... ok
+cmpl_13 ... ok
+cmpl_14 ... ok
+cmpl_15 ... ok
+cmpl_16 ... ok
+cmpl_17 ... ok
+cmpl_18 ... ok
+cmpl_19 ... ok
+cmpl_20 ... ok
+cmpl_21 ... ok
+cmpl_22 ... ok
+cmpl_23 ... ok
+cmpl_24 ... ok
+cmpl_25 ... ok
+cmpl_26 ... ok
+cmpl_27 ... ok
+cmpl_28 ... ok
+cmpl_29 ... ok
+cmpl_30 ... ok
+cmpl_31 ... ok
+cmpl_32 ... ok
+cmpl_33 ... ok
+cmpl_34 ... ok
+cmpl_35 ... ok
+cmpl_36 ... ok
+cmpl_37 ... ok
+cmpl_38 ... ok
+cmpl_39 ... ok
+cmpl_40 ... ok
+cmpl_41 ... ok
+cmpl_42 ... ok
+cmpl_43 ... ok
+cmpl_44 ... ok
+cmpl_45 ... ok
+cmpl_46 ... ok
+cmpl_47 ... ok
+cmpl_48 ... ok
+cmpl_49 ... ok
+cmpl_50 ... ok
+cmpl_51 ... ok
+cmpl_52 ... ok
+cmpl_53 ... ok
+cmpl_54 ... ok
+cmpl_55 ... ok
+cmpl_56 ... ok
+cmpl_57 ... ok
+cmpl_58 ... ok
+cmpl_59 ... ok
+cmpl_60 ... ok
+cmpl_61 ... ok
+cmpl_62 ... ok
+cmpl_63 ... ok
+cmpl_64 ... ok
+cmpl_65 ... ok
+cmpl_66 ... ok
+cmpl_67 ... ok
+cmpl_68 ... ok
+cmpl_69 ... ok
+cmpl_70 ... ok
+cmpl_71 ... ok
+cmpl_72 ... ok
+cmpl_73 ... ok
+cmpl_74 ... ok
+cmpl_75 ... ok
+cmpl_76 ... ok
+cmpl_77 ... ok
+cmpl_78 ... ok
+cmpl_79 ... ok
+cmpl_80 ... ok
+cmpxchgb_1 ... ok
+cmpxchgb_2 ... ok
+cmpxchgb_3 ... ok
+cmpxchgb_4 ... ok
+cmpxchgw_1 ... ok
+cmpxchgw_2 ... ok
+cmpxchgw_3 ... ok
+cmpxchgw_4 ... ok
+cmpxchgl_1 ... ok
+cmpxchgl_2 ... ok
+cmpxchgl_3 ... ok
+cmpxchgl_4 ... ok
+cwd_1 ... ok
+cwd_2 ... ok
+cwde_1 ... ok
+cwde_2 ... ok
+daa_1 ... ok
+daa_2 ... ok
+das_1 ... ok
+decb_1 ... ok
+decb_2 ... ok
+decw_1 ... ok
+decw_2 ... ok
+decl_1 ... ok
+decl_2 ... ok
+divb_1 ... ok
+divb_2 ... ok
+divw_1 ... ok
+divw_2 ... ok
+divl_1 ... ok
+divl_2 ... ok
+idivb_1 ... ok
+idivb_2 ... ok
+idivw_1 ... ok
+idivw_2 ... ok
+idivl_1 ... ok
+idivl_2 ... ok
+imulb_1 ... ok
+imulb_2 ... ok
+imulw_1 ... ok
+imulw_2 ... ok
+imull_1 ... ok
+imull_2 ... ok
+imulw_3 ... ok
+imulw_4 ... ok
+imulw_5 ... ok
+imulw_6 ... ok
+imulw_7 ... ok
+imulw_8 ... ok
+imulw_9 ... ok
+imulw_10 ... ok
+imull_3 ... ok
+imull_4 ... ok
+imull_5 ... ok
+imull_6 ... ok
+imull_7 ... ok
+imull_8 ... ok
+imull_9 ... ok
+imull_10 ... ok
+incb_1 ... ok
+incb_2 ... ok
+incw_1 ... ok
+incw_2 ... ok
+incl_1 ... ok
+incl_2 ... ok
+lahf_1 ... ok
+lahf_2 ... ok
+movb_1 ... ok
+movb_2 ... ok
+movb_3 ... ok
+movb_4 ... ok
+movb_5 ... ok
+movw_1 ... ok
+movw_2 ... ok
+movw_3 ... ok
+movw_4 ... ok
+movw_5 ... ok
+movl_1 ... ok
+movl_2 ... ok
+movl_3 ... ok
+movl_4 ... ok
+movl_5 ... ok
+movsbw_1 ... ok
+movsbw_2 ... ok
+movsbl_1 ... ok
+movsbl_2 ... ok
+movswl_1 ... ok
+movswl_2 ... ok
+movzbw_1 ... ok
+movzbw_2 ... ok
+movzbl_1 ... ok
+movzbl_2 ... ok
+movzwl_1 ... ok
+movzwl_2 ... ok
+mulb_1 ... ok
+mulb_2 ... ok
+mulw_1 ... ok
+mulw_2 ... ok
+mull_1 ... ok
+mull_2 ... ok
+negb_1 ... ok
+negb_2 ... ok
+negw_1 ... ok
+negw_2 ... ok
+negl_1 ... ok
+negl_2 ... ok
+notb_1 ... ok
+notb_2 ... ok
+notw_1 ... ok
+notw_2 ... ok
+notl_1 ... ok
+notl_2 ... ok
+orb_1 ... ok
+orb_2 ... ok
+orb_3 ... ok
+orb_4 ... ok
+orb_5 ... ok
+orb_6 ... ok
+orw_1 ... ok
+orw_2 ... ok
+orw_3 ... ok
+orw_4 ... ok
+orw_5 ... ok
+orw_6 ... ok
+orw_7 ... ok
+orl_1 ... ok
+orl_2 ... ok
+orl_3 ... ok
+orl_4 ... ok
+orl_5 ... ok
+orl_6 ... ok
+orl_7 ... ok
+rclb_1 ... ok
+rclb_2 ... ok
+rclb_3 ... ok
+rclb_4 ... ok
+rclb_5 ... ok
+rclb_6 ... ok
+rclw_1 ... ok
+rclw_2 ... ok
+rclw_3 ... ok
+rclw_4 ... ok
+rclw_5 ... ok
+rclw_6 ... ok
+rcll_1 ... ok
+rcll_2 ... ok
+rcll_3 ... ok
+rcll_4 ... ok
+rcll_5 ... ok
+rcll_6 ... ok
+rcrb_1 ... ok
+rcrb_2 ... ok
+rcrb_3 ... ok
+rcrb_4 ... ok
+rcrb_5 ... ok
+rcrb_6 ... ok
+rcrw_1 ... ok
+rcrw_2 ... ok
+rcrw_3 ... ok
+rcrw_4 ... ok
+rcrw_5 ... ok
+rcrw_6 ... ok
+rcrl_1 ... ok
+rcrl_2 ... ok
+rcrl_3 ... ok
+rcrl_4 ... ok
+rcrl_5 ... ok
+rcrl_6 ... ok
+rolb_1 ... ok
+rolb_2 ... ok
+rolb_3 ... ok
+rolb_4 ... ok
+rolb_5 ... ok
+rolb_6 ... ok
+rolw_1 ... ok
+rolw_2 ... ok
+rolw_3 ... ok
+rolw_4 ... ok
+rolw_5 ... ok
+rolw_6 ... ok
+roll_1 ... ok
+roll_2 ... ok
+roll_3 ... ok
+roll_4 ... ok
+roll_5 ... ok
+roll_6 ... ok
+rorb_1 ... ok
+rorb_2 ... ok
+rorb_3 ... ok
+rorb_4 ... ok
+rorb_5 ... ok
+rorb_6 ... ok
+rorw_1 ... ok
+rorw_2 ... ok
+rorw_3 ... ok
+rorw_4 ... ok
+rorw_5 ... ok
+rorw_6 ... ok
+rorl_1 ... ok
+rorl_2 ... ok
+rorl_3 ... ok
+rorl_4 ... ok
+rorl_5 ... ok
+rorl_6 ... ok
+sahf_1 ... ok
+sahf_2 ... ok
+salb_1 ... ok
+salb_2 ... ok
+salb_3 ... ok
+salb_4 ... ok
+salb_5 ... ok
+salb_6 ... ok
+salw_1 ... ok
+salw_2 ... ok
+salw_3 ... ok
+salw_4 ... ok
+salw_5 ... ok
+salw_6 ... ok
+sall_1 ... ok
+sall_2 ... ok
+sall_3 ... ok
+sall_4 ... ok
+sall_5 ... ok
+sall_6 ... ok
+sarb_1 ... ok
+sarb_2 ... ok
+sarb_3 ... ok
+sarb_4 ... ok
+sarb_5 ... ok
+sarb_6 ... ok
+sarw_1 ... ok
+sarw_2 ... ok
+sarw_3 ... ok
+sarw_4 ... ok
+sarw_5 ... ok
+sarw_6 ... ok
+sarl_1 ... ok
+sarl_2 ... ok
+sarl_3 ... ok
+sarl_4 ... ok
+sarl_5 ... ok
+sarl_6 ... ok
+sbbb_1 ... ok
+sbbb_2 ... ok
+sbbb_3 ... ok
+sbbb_4 ... ok
+sbbb_5 ... ok
+sbbb_6 ... ok
+sbbb_7 ... ok
+sbbb_8 ... ok
+sbbb_9 ... ok
+sbbb_10 ... ok
+sbbb_11 ... ok
+sbbb_12 ... ok
+sbbw_1 ... ok
+sbbw_2 ... ok
+sbbw_3 ... ok
+sbbw_4 ... ok
+sbbw_5 ... ok
+sbbw_6 ... ok
+sbbw_7 ... ok
+sbbw_8 ... ok
+sbbw_9 ... ok
+sbbw_10 ... ok
+sbbw_11 ... ok
+sbbw_12 ... ok
+sbbw_13 ... ok
+sbbw_14 ... ok
+sbbl_1 ... ok
+sbbl_2 ... ok
+sbbl_3 ... ok
+sbbl_4 ... ok
+sbbl_5 ... ok
+sbbl_6 ... ok
+sbbl_7 ... ok
+sbbl_8 ... ok
+sbbl_9 ... ok
+sbbl_10 ... ok
+sbbl_11 ... ok
+sbbl_12 ... ok
+sbbl_13 ... ok
+sbbl_14 ... ok
+seta_1 ... ok
+seta_2 ... ok
+seta_3 ... ok
+seta_4 ... ok
+seta_5 ... ok
+seta_6 ... ok
+seta_7 ... ok
+seta_8 ... ok
+setae_1 ... ok
+setae_2 ... ok
+setae_3 ... ok
+setae_4 ... ok
+setb_1 ... ok
+setb_2 ... ok
+setb_3 ... ok
+setb_4 ... ok
+setbe_1 ... ok
+setbe_2 ... ok
+setbe_3 ... ok
+setbe_4 ... ok
+setbe_5 ... ok
+setbe_6 ... ok
+setbe_7 ... ok
+setbe_8 ... ok
+setc_1 ... ok
+setc_2 ... ok
+setc_3 ... ok
+setc_4 ... ok
+sete_1 ... ok
+sete_2 ... ok
+sete_3 ... ok
+sete_4 ... ok
+setg_1 ... ok
+setg_2 ... ok
+setg_3 ... ok
+setg_4 ... ok
+setg_5 ... ok
+setg_6 ... ok
+setg_7 ... ok
+setg_8 ... ok
+setg_9 ... ok
+setg_10 ... ok
+setg_11 ... ok
+setg_12 ... ok
+setg_13 ... ok
+setg_14 ... ok
+setg_15 ... ok
+setg_16 ... ok
+setge_1 ... ok
+setge_2 ... ok
+setge_3 ... ok
+setge_4 ... ok
+setge_5 ... ok
+setge_6 ... ok
+setge_7 ... ok
+setge_8 ... ok
+setl_1 ... ok
+setl_2 ... ok
+setl_3 ... ok
+setl_4 ... ok
+setl_5 ... ok
+setl_6 ... ok
+setl_7 ... ok
+setl_8 ... ok
+setle_1 ... ok
+setle_2 ... ok
+setle_3 ... ok
+setle_4 ... ok
+setle_5 ... ok
+setle_6 ... ok
+setle_7 ... ok
+setle_8 ... ok
+setle_9 ... ok
+setle_10 ... ok
+setle_11 ... ok
+setle_12 ... ok
+setle_13 ... ok
+setle_14 ... ok
+setle_15 ... ok
+setle_16 ... ok
+setna_1 ... ok
+setna_2 ... ok
+setna_3 ... ok
+setna_4 ... ok
+setna_5 ... ok
+setna_6 ... ok
+setna_7 ... ok
+setna_8 ... ok
+setnae_1 ... ok
+setnae_2 ... ok
+setnae_3 ... ok
+setnae_4 ... ok
+setnb_1 ... ok
+setnb_2 ... ok
+setnb_3 ... ok
+setnb_4 ... ok
+setnbe_1 ... ok
+setnbe_2 ... ok
+setnbe_3 ... ok
+setnbe_4 ... ok
+setnbe_5 ... ok
+setnbe_6 ... ok
+setnbe_7 ... ok
+setnbe_8 ... ok
+setnc_1 ... ok
+setnc_2 ... ok
+setnc_3 ... ok
+setnc_4 ... ok
+setne_1 ... ok
+setne_2 ... ok
+setne_3 ... ok
+setne_4 ... ok
+setng_1 ... ok
+setng_2 ... ok
+setng_3 ... ok
+setng_4 ... ok
+setng_5 ... ok
+setng_6 ... ok
+setng_7 ... ok
+setng_8 ... ok
+setng_9 ... ok
+setng_10 ... ok
+setng_11 ... ok
+setng_12 ... ok
+setng_13 ... ok
+setng_14 ... ok
+setng_15 ... ok
+setng_16 ... ok
+setnge_1 ... ok
+setnge_2 ... ok
+setnge_3 ... ok
+setnge_4 ... ok
+setnge_5 ... ok
+setnge_6 ... ok
+setnge_7 ... ok
+setnge_8 ... ok
+setnl_1 ... ok
+setnl_2 ... ok
+setnl_3 ... ok
+setnl_4 ... ok
+setnl_5 ... ok
+setnl_6 ... ok
+setnl_7 ... ok
+setnl_8 ... ok
+setnle_1 ... ok
+setnle_2 ... ok
+setnle_3 ... ok
+setnle_4 ... ok
+setnle_5 ... ok
+setnle_6 ... ok
+setnle_7 ... ok
+setnle_8 ... ok
+setnle_9 ... ok
+setnle_10 ... ok
+setnle_11 ... ok
+setnle_12 ... ok
+setnle_13 ... ok
+setnle_14 ... ok
+setnle_15 ... ok
+setnle_16 ... ok
+setno_1 ... ok
+setno_2 ... ok
+setno_3 ... ok
+setno_4 ... ok
+setnp_1 ... ok
+setnp_2 ... ok
+setnp_3 ... ok
+setnp_4 ... ok
+setns_1 ... ok
+setns_2 ... ok
+setns_3 ... ok
+setns_4 ... ok
+setnz_1 ... ok
+setnz_2 ... ok
+setnz_3 ... ok
+setnz_4 ... ok
+seto_1 ... ok
+seto_2 ... ok
+seto_3 ... ok
+seto_4 ... ok
+setp_1 ... ok
+setp_2 ... ok
+setp_3 ... ok
+setp_4 ... ok
+sets_1 ... ok
+sets_2 ... ok
+sets_3 ... ok
+sets_4 ... ok
+setz_1 ... ok
+setz_2 ... ok
+setz_3 ... ok
+setz_4 ... ok
+shlb_1 ... ok
+shlb_2 ... ok
+shlb_3 ... ok
+shlb_4 ... ok
+shlb_5 ... ok
+shlb_6 ... ok
+shlw_1 ... ok
+shlw_2 ... ok
+shlw_3 ... ok
+shlw_4 ... ok
+shlw_5 ... ok
+shlw_6 ... ok
+shll_1 ... ok
+shll_2 ... ok
+shll_3 ... ok
+shll_4 ... ok
+shll_5 ... ok
+shll_6 ... ok
+shrb_1 ... ok
+shrb_2 ... ok
+shrb_3 ... ok
+shrb_4 ... ok
+shrb_5 ... ok
+shrb_6 ... ok
+shrw_1 ... ok
+shrw_2 ... ok
+shrw_3 ... ok
+shrw_4 ... ok
+shrw_5 ... ok
+shrw_6 ... ok
+shrl_1 ... ok
+shrl_2 ... ok
+shrl_3 ... ok
+shrl_4 ... ok
+shrl_5 ... ok
+shrl_6 ... ok
+shldw_1 ... ok
+shldw_2 ... ok
+shldw_3 ... ok
+shldw_4 ... ok
+shldw_5 ... ok
+shldw_6 ... ok
+shldw_7 ... ok
+shldw_8 ... ok
+shldl_1 ... ok
+shldl_2 ... ok
+shldl_3 ... ok
+shldl_4 ... ok
+shldl_5 ... ok
+shldl_6 ... ok
+shldl_7 ... ok
+shldl_8 ... ok
+shrdw_1 ... ok
+shrdw_2 ... ok
+shrdw_3 ... ok
+shrdw_4 ... ok
+shrdw_5 ... ok
+shrdw_6 ... ok
+shrdw_7 ... ok
+shrdw_8 ... ok
+shrdl_1 ... ok
+shrdl_2 ... ok
+shrdl_3 ... ok
+shrdl_4 ... ok
+shrdl_5 ... ok
+shrdl_6 ... ok
+shrdl_7 ... ok
+shrdl_8 ... ok
+stc_1 ... ok
+stc_2 ... ok
+std_1 ... ok
+std_2 ... ok
+subb_1 ... ok
+subb_2 ... ok
+subb_3 ... ok
+subb_4 ... ok
+subb_5 ... ok
+subb_6 ... ok
+subw_1 ... ok
+subw_2 ... ok
+subw_3 ... ok
+subw_4 ... ok
+subw_5 ... ok
+subw_6 ... ok
+subw_7 ... ok
+subl_1 ... ok
+subl_2 ... ok
+subl_3 ... ok
+subl_4 ... ok
+subl_5 ... ok
+subl_6 ... ok
+subl_7 ... ok
+testb_1 ... ok
+testb_2 ... ok
+testb_3 ... ok
+testb_4 ... ok
+testb_5 ... ok
+testb_6 ... ok
+testb_7 ... ok
+testb_8 ... ok
+testb_9 ... ok
+testb_10 ... ok
+testb_11 ... ok
+testb_12 ... ok
+testb_13 ... ok
+testb_14 ... ok
+testb_15 ... ok
+testb_16 ... ok
+testb_17 ... ok
+testb_18 ... ok
+testb_19 ... ok
+testb_20 ... ok
+testb_21 ... ok
+testb_22 ... ok
+testb_23 ... ok
+testb_24 ... ok
+testb_25 ... ok
+testw_1 ... ok
+testw_2 ... ok
+testw_3 ... ok
+testw_4 ... ok
+testw_5 ... ok
+testw_6 ... ok
+testw_7 ... ok
+testw_8 ... ok
+testw_9 ... ok
+testw_10 ... ok
+testw_11 ... ok
+testw_12 ... ok
+testw_13 ... ok
+testw_14 ... ok
+testw_15 ... ok
+testw_16 ... ok
+testw_17 ... ok
+testw_18 ... ok
+testw_19 ... ok
+testw_20 ... ok
+testw_21 ... ok
+testw_22 ... ok
+testw_23 ... ok
+testw_24 ... ok
+testw_25 ... ok
+testl_1 ... ok
+testl_2 ... ok
+testl_3 ... ok
+testl_4 ... ok
+testl_5 ... ok
+testl_6 ... ok
+testl_7 ... ok
+testl_8 ... ok
+testl_9 ... ok
+testl_10 ... ok
+testl_11 ... ok
+testl_12 ... ok
+testl_13 ... ok
+testl_14 ... ok
+testl_15 ... ok
+testl_16 ... ok
+testl_17 ... ok
+testl_18 ... ok
+testl_19 ... ok
+testl_20 ... ok
+testl_21 ... ok
+testl_22 ... ok
+testl_23 ... ok
+testl_24 ... ok
+testl_25 ... ok
+xaddb_1 ... ok
+xaddb_2 ... ok
+xaddw_1 ... ok
+xaddw_2 ... ok
+xaddl_1 ... ok
+xaddl_2 ... ok
+xchgb_1 ... ok
+xchgb_2 ... ok
+xchgb_3 ... ok
+xchgw_1 ... ok
+xchgw_2 ... ok
+xchgw_3 ... ok
+xchgw_4 ... ok
+xchgw_5 ... ok
+xchgl_1 ... ok
+xchgl_2 ... ok
+xchgl_3 ... ok
+xchgl_4 ... ok
+xchgl_5 ... ok
+xorb_1 ... ok
+xorb_2 ... ok
+xorb_3 ... ok
+xorb_4 ... ok
+xorb_5 ... ok
+xorb_6 ... ok
+xorw_1 ... ok
+xorw_2 ... ok
+xorw_3 ... ok
+xorw_4 ... ok
+xorw_5 ... ok
+xorw_6 ... ok
+xorw_7 ... ok
+xorl_1 ... ok
+xorl_2 ... ok
+xorl_3 ... ok
+xorl_4 ... ok
+xorl_5 ... ok
+xorl_6 ... ok
+xorl_7 ... ok
diff --git a/cachegrind/tests/insn_basic.vgtest b/cachegrind/tests/insn_basic.vgtest
new file mode 100644
index 00000000..f5329ea8
--- /dev/null
+++ b/cachegrind/tests/insn_basic.vgtest
@@ -0,0 +1,2 @@
+vgopts: -q
+prog: ../../none/tests/insn_basic
diff --git a/cachegrind/tests/insn_cmov.stderr.exp b/cachegrind/tests/insn_cmov.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/cachegrind/tests/insn_cmov.stderr.exp
diff --git a/cachegrind/tests/insn_cmov.stdout.exp b/cachegrind/tests/insn_cmov.stdout.exp
new file mode 100644
index 00000000..31ac1720
--- /dev/null
+++ b/cachegrind/tests/insn_cmov.stdout.exp
@@ -0,0 +1,384 @@
+cmova_1 ... ok
+cmova_2 ... ok
+cmova_3 ... ok
+cmova_4 ... ok
+cmova_5 ... ok
+cmova_6 ... ok
+cmova_7 ... ok
+cmova_8 ... ok
+cmovae_1 ... ok
+cmovae_2 ... ok
+cmovae_3 ... ok
+cmovae_4 ... ok
+cmovb_1 ... ok
+cmovb_2 ... ok
+cmovb_3 ... ok
+cmovb_4 ... ok
+cmovbe_1 ... ok
+cmovbe_2 ... ok
+cmovbe_3 ... ok
+cmovbe_4 ... ok
+cmovbe_5 ... ok
+cmovbe_6 ... ok
+cmovbe_7 ... ok
+cmovbe_8 ... ok
+cmovc_1 ... ok
+cmovc_2 ... ok
+cmovc_3 ... ok
+cmovc_4 ... ok
+cmove_1 ... ok
+cmove_2 ... ok
+cmove_3 ... ok
+cmove_4 ... ok
+cmovg_1 ... ok
+cmovg_2 ... ok
+cmovg_3 ... ok
+cmovg_4 ... ok
+cmovg_5 ... ok
+cmovg_6 ... ok
+cmovg_7 ... ok
+cmovg_8 ... ok
+cmovg_9 ... ok
+cmovg_10 ... ok
+cmovg_11 ... ok
+cmovg_12 ... ok
+cmovg_13 ... ok
+cmovg_14 ... ok
+cmovg_15 ... ok
+cmovg_16 ... ok
+cmovge_1 ... ok
+cmovge_2 ... ok
+cmovge_3 ... ok
+cmovge_4 ... ok
+cmovge_5 ... ok
+cmovge_6 ... ok
+cmovge_7 ... ok
+cmovge_8 ... ok
+cmovl_1 ... ok
+cmovl_2 ... ok
+cmovl_3 ... ok
+cmovl_4 ... ok
+cmovl_5 ... ok
+cmovl_6 ... ok
+cmovl_7 ... ok
+cmovl_8 ... ok
+cmovle_1 ... ok
+cmovle_2 ... ok
+cmovle_3 ... ok
+cmovle_4 ... ok
+cmovle_5 ... ok
+cmovle_6 ... ok
+cmovle_7 ... ok
+cmovle_8 ... ok
+cmovle_9 ... ok
+cmovle_10 ... ok
+cmovle_11 ... ok
+cmovle_12 ... ok
+cmovle_13 ... ok
+cmovle_14 ... ok
+cmovle_15 ... ok
+cmovle_16 ... ok
+cmovna_1 ... ok
+cmovna_2 ... ok
+cmovna_3 ... ok
+cmovna_4 ... ok
+cmovna_5 ... ok
+cmovna_6 ... ok
+cmovna_7 ... ok
+cmovna_8 ... ok
+cmovnae_1 ... ok
+cmovnae_2 ... ok
+cmovnae_3 ... ok
+cmovnae_4 ... ok
+cmovnb_1 ... ok
+cmovnb_2 ... ok
+cmovnb_3 ... ok
+cmovnb_4 ... ok
+cmovnbe_1 ... ok
+cmovnbe_2 ... ok
+cmovnbe_3 ... ok
+cmovnbe_4 ... ok
+cmovnbe_5 ... ok
+cmovnbe_6 ... ok
+cmovnbe_7 ... ok
+cmovnbe_8 ... ok
+cmovnc_1 ... ok
+cmovnc_2 ... ok
+cmovnc_3 ... ok
+cmovnc_4 ... ok
+cmovne_1 ... ok
+cmovne_2 ... ok
+cmovne_3 ... ok
+cmovne_4 ... ok
+cmovng_1 ... ok
+cmovng_2 ... ok
+cmovng_3 ... ok
+cmovng_4 ... ok
+cmovng_5 ... ok
+cmovng_6 ... ok
+cmovng_7 ... ok
+cmovng_8 ... ok
+cmovng_9 ... ok
+cmovng_10 ... ok
+cmovng_11 ... ok
+cmovng_12 ... ok
+cmovng_13 ... ok
+cmovng_14 ... ok
+cmovng_15 ... ok
+cmovng_16 ... ok
+cmovnge_1 ... ok
+cmovnge_2 ... ok
+cmovnge_3 ... ok
+cmovnge_4 ... ok
+cmovnge_5 ... ok
+cmovnge_6 ... ok
+cmovnge_7 ... ok
+cmovnge_8 ... ok
+cmovnl_1 ... ok
+cmovnl_2 ... ok
+cmovnl_3 ... ok
+cmovnl_4 ... ok
+cmovnl_5 ... ok
+cmovnl_6 ... ok
+cmovnl_7 ... ok
+cmovnl_8 ... ok
+cmovnle_1 ... ok
+cmovnle_2 ... ok
+cmovnle_3 ... ok
+cmovnle_4 ... ok
+cmovnle_5 ... ok
+cmovnle_6 ... ok
+cmovnle_7 ... ok
+cmovnle_8 ... ok
+cmovnle_9 ... ok
+cmovnle_10 ... ok
+cmovnle_11 ... ok
+cmovnle_12 ... ok
+cmovnle_13 ... ok
+cmovnle_14 ... ok
+cmovnle_15 ... ok
+cmovnle_16 ... ok
+cmovno_1 ... ok
+cmovno_2 ... ok
+cmovno_3 ... ok
+cmovno_4 ... ok
+cmovnp_1 ... ok
+cmovnp_2 ... ok
+cmovnp_3 ... ok
+cmovnp_4 ... ok
+cmovns_1 ... ok
+cmovns_2 ... ok
+cmovns_3 ... ok
+cmovns_4 ... ok
+cmovnz_1 ... ok
+cmovnz_2 ... ok
+cmovnz_3 ... ok
+cmovnz_4 ... ok
+cmovo_1 ... ok
+cmovo_2 ... ok
+cmovo_3 ... ok
+cmovo_4 ... ok
+cmovp_1 ... ok
+cmovp_2 ... ok
+cmovp_3 ... ok
+cmovp_4 ... ok
+cmovs_1 ... ok
+cmovs_2 ... ok
+cmovs_3 ... ok
+cmovs_4 ... ok
+cmovz_1 ... ok
+cmovz_2 ... ok
+cmovz_3 ... ok
+cmovz_4 ... ok
+cmova_9 ... ok
+cmova_10 ... ok
+cmova_11 ... ok
+cmova_12 ... ok
+cmova_13 ... ok
+cmova_14 ... ok
+cmova_15 ... ok
+cmova_16 ... ok
+cmovae_5 ... ok
+cmovae_6 ... ok
+cmovae_7 ... ok
+cmovae_8 ... ok
+cmovb_5 ... ok
+cmovb_6 ... ok
+cmovb_7 ... ok
+cmovb_8 ... ok
+cmovbe_9 ... ok
+cmovbe_10 ... ok
+cmovbe_11 ... ok
+cmovbe_12 ... ok
+cmovbe_13 ... ok
+cmovbe_14 ... ok
+cmovbe_15 ... ok
+cmovbe_16 ... ok
+cmovc_5 ... ok
+cmovc_6 ... ok
+cmovc_7 ... ok
+cmovc_8 ... ok
+cmove_5 ... ok
+cmove_6 ... ok
+cmove_7 ... ok
+cmove_8 ... ok
+cmovg_17 ... ok
+cmovg_18 ... ok
+cmovg_19 ... ok
+cmovg_20 ... ok
+cmovg_21 ... ok
+cmovg_22 ... ok
+cmovg_23 ... ok
+cmovg_24 ... ok
+cmovg_25 ... ok
+cmovg_26 ... ok
+cmovg_27 ... ok
+cmovg_28 ... ok
+cmovg_29 ... ok
+cmovg_30 ... ok
+cmovg_31 ... ok
+cmovg_32 ... ok
+cmovge_9 ... ok
+cmovge_10 ... ok
+cmovge_11 ... ok
+cmovge_12 ... ok
+cmovge_13 ... ok
+cmovge_14 ... ok
+cmovge_15 ... ok
+cmovge_16 ... ok
+cmovl_9 ... ok
+cmovl_10 ... ok
+cmovl_11 ... ok
+cmovl_12 ... ok
+cmovl_13 ... ok
+cmovl_14 ... ok
+cmovl_15 ... ok
+cmovl_16 ... ok
+cmovle_17 ... ok
+cmovle_18 ... ok
+cmovle_19 ... ok
+cmovle_20 ... ok
+cmovle_21 ... ok
+cmovle_22 ... ok
+cmovle_23 ... ok
+cmovle_24 ... ok
+cmovle_25 ... ok
+cmovle_26 ... ok
+cmovle_27 ... ok
+cmovle_28 ... ok
+cmovle_29 ... ok
+cmovle_30 ... ok
+cmovle_31 ... ok
+cmovle_32 ... ok
+cmovna_9 ... ok
+cmovna_10 ... ok
+cmovna_11 ... ok
+cmovna_12 ... ok
+cmovna_13 ... ok
+cmovna_14 ... ok
+cmovna_15 ... ok
+cmovna_16 ... ok
+cmovnae_5 ... ok
+cmovnae_6 ... ok
+cmovnae_7 ... ok
+cmovnae_8 ... ok
+cmovnb_5 ... ok
+cmovnb_6 ... ok
+cmovnb_7 ... ok
+cmovnb_8 ... ok
+cmovnbe_9 ... ok
+cmovnbe_10 ... ok
+cmovnbe_11 ... ok
+cmovnbe_12 ... ok
+cmovnbe_13 ... ok
+cmovnbe_14 ... ok
+cmovnbe_15 ... ok
+cmovnbe_16 ... ok
+cmovnc_5 ... ok
+cmovnc_6 ... ok
+cmovnc_7 ... ok
+cmovnc_8 ... ok
+cmovne_5 ... ok
+cmovne_6 ... ok
+cmovne_7 ... ok
+cmovne_8 ... ok
+cmovng_17 ... ok
+cmovng_18 ... ok
+cmovng_19 ... ok
+cmovng_20 ... ok
+cmovng_21 ... ok
+cmovng_22 ... ok
+cmovng_23 ... ok
+cmovng_24 ... ok
+cmovng_25 ... ok
+cmovng_26 ... ok
+cmovng_27 ... ok
+cmovng_28 ... ok
+cmovng_29 ... ok
+cmovng_30 ... ok
+cmovng_31 ... ok
+cmovng_32 ... ok
+cmovnge_9 ... ok
+cmovnge_10 ... ok
+cmovnge_11 ... ok
+cmovnge_12 ... ok
+cmovnge_13 ... ok
+cmovnge_14 ... ok
+cmovnge_15 ... ok
+cmovnge_16 ... ok
+cmovnl_9 ... ok
+cmovnl_10 ... ok
+cmovnl_11 ... ok
+cmovnl_12 ... ok
+cmovnl_13 ... ok
+cmovnl_14 ... ok
+cmovnl_15 ... ok
+cmovnl_16 ... ok
+cmovnle_17 ... ok
+cmovnle_18 ... ok
+cmovnle_19 ... ok
+cmovnle_20 ... ok
+cmovnle_21 ... ok
+cmovnle_22 ... ok
+cmovnle_23 ... ok
+cmovnle_24 ... ok
+cmovnle_25 ... ok
+cmovnle_26 ... ok
+cmovnle_27 ... ok
+cmovnle_28 ... ok
+cmovnle_29 ... ok
+cmovnle_30 ... ok
+cmovnle_31 ... ok
+cmovnle_32 ... ok
+cmovno_5 ... ok
+cmovno_6 ... ok
+cmovno_7 ... ok
+cmovno_8 ... ok
+cmovnp_5 ... ok
+cmovnp_6 ... ok
+cmovnp_7 ... ok
+cmovnp_8 ... ok
+cmovns_5 ... ok
+cmovns_6 ... ok
+cmovns_7 ... ok
+cmovns_8 ... ok
+cmovnz_5 ... ok
+cmovnz_6 ... ok
+cmovnz_7 ... ok
+cmovnz_8 ... ok
+cmovo_5 ... ok
+cmovo_6 ... ok
+cmovo_7 ... ok
+cmovo_8 ... ok
+cmovp_5 ... ok
+cmovp_6 ... ok
+cmovp_7 ... ok
+cmovp_8 ... ok
+cmovs_5 ... ok
+cmovs_6 ... ok
+cmovs_7 ... ok
+cmovs_8 ... ok
+cmovz_5 ... ok
+cmovz_6 ... ok
+cmovz_7 ... ok
+cmovz_8 ... ok
diff --git a/cachegrind/tests/insn_cmov.vgtest b/cachegrind/tests/insn_cmov.vgtest
new file mode 100644
index 00000000..0321a3ca
--- /dev/null
+++ b/cachegrind/tests/insn_cmov.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_cmov
+cpu_test: cmov
diff --git a/cachegrind/tests/insn_mmx.stderr.exp b/cachegrind/tests/insn_mmx.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/cachegrind/tests/insn_mmx.stderr.exp
diff --git a/cachegrind/tests/insn_mmx.stdout.exp b/cachegrind/tests/insn_mmx.stdout.exp
new file mode 100644
index 00000000..95cbae16
--- /dev/null
+++ b/cachegrind/tests/insn_mmx.stdout.exp
@@ -0,0 +1,103 @@
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movq_1 ... ok
+movq_2 ... ok
+movq_3 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+por_1 ... ok
+por_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
diff --git a/cachegrind/tests/insn_mmx.vgtest b/cachegrind/tests/insn_mmx.vgtest
new file mode 100644
index 00000000..ddbb9772
--- /dev/null
+++ b/cachegrind/tests/insn_mmx.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmx
+cpu_test: mmx
diff --git a/cachegrind/tests/insn_mmxext.stderr.exp b/cachegrind/tests/insn_mmxext.stderr.exp
new file mode 100644
index 00000000..139597f9
--- /dev/null
+++ b/cachegrind/tests/insn_mmxext.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/cachegrind/tests/insn_mmxext.stdout.exp b/cachegrind/tests/insn_mmxext.stdout.exp
new file mode 100644
index 00000000..631f7939
--- /dev/null
+++ b/cachegrind/tests/insn_mmxext.stdout.exp
@@ -0,0 +1,28 @@
+movntq_1 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
diff --git a/cachegrind/tests/insn_mmxext.vgtest b/cachegrind/tests/insn_mmxext.vgtest
new file mode 100644
index 00000000..bb667097
--- /dev/null
+++ b/cachegrind/tests/insn_mmxext.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmxext
+cpu_test: mmxext
diff --git a/cachegrind/tests/insn_sse.stderr.exp b/cachegrind/tests/insn_sse.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/cachegrind/tests/insn_sse.stderr.exp
diff --git a/cachegrind/tests/insn_sse.stdout.exp b/cachegrind/tests/insn_sse.stdout.exp
new file mode 100644
index 00000000..c9ae0f15
--- /dev/null
+++ b/cachegrind/tests/insn_sse.stdout.exp
@@ -0,0 +1,141 @@
+addps_1 ... ok
+addps_2 ... ok
+addss_1 ... ok
+addss_2 ... ok
+andnps_1 ... ok
+andnps_2 ... ok
+andps_1 ... ok
+andps_2 ... ok
+cmpeqps_1 ... ok
+cmpeqps_2 ... ok
+cmpeqss_1 ... ok
+cmpeqss_2 ... ok
+cmpleps_1 ... ok
+cmpleps_2 ... ok
+cmpless_1 ... ok
+cmpless_2 ... ok
+cmpltps_1 ... ok
+cmpltps_2 ... ok
+cmpltss_1 ... ok
+cmpltss_2 ... ok
+cmpneqps_1 ... ok
+cmpneqps_2 ... ok
+cmpneqss_1 ... ok
+cmpneqss_2 ... ok
+cmpnleps_1 ... ok
+cmpnleps_2 ... ok
+cmpnless_1 ... ok
+cmpnless_2 ... ok
+cmpnltps_1 ... ok
+cmpnltps_2 ... ok
+cmpnltss_1 ... ok
+cmpnltss_2 ... ok
+comiss_1 ... ok
+comiss_2 ... ok
+comiss_3 ... ok
+comiss_4 ... ok
+comiss_5 ... ok
+comiss_6 ... ok
+cvtpi2ps_1 ... ok
+cvtpi2ps_2 ... ok
+cvtps2pi_1 ... ok
+cvtps2pi_2 ... ok
+cvtsi2ss_1 ... ok
+cvtsi2ss_2 ... ok
+cvtss2si_1 ... ok
+cvtss2si_2 ... ok
+cvttps2pi_1 ... ok
+cvttps2pi_2 ... ok
+cvttss2si_1 ... ok
+cvttss2si_2 ... ok
+divps_1 ... ok
+divps_2 ... ok
+divss_1 ... ok
+divss_2 ... ok
+maxps_1 ... ok
+maxps_2 ... ok
+maxss_1 ... ok
+maxss_2 ... ok
+minps_1 ... ok
+minps_2 ... ok
+minss_1 ... ok
+minss_2 ... ok
+movaps_1 ... ok
+movaps_2 ... ok
+movhlps_1 ... ok
+movhps_1 ... ok
+movhps_2 ... ok
+movlhps_1 ... ok
+movlps_1 ... ok
+movlps_2 ... ok
+movmskps_1 ... ok
+movntps_1 ... ok
+movntq_1 ... ok
+movss_1 ... ok
+movss_2 ... ok
+movss_3 ... ok
+movups_1 ... ok
+movups_2 ... ok
+mulps_1 ... ok
+mulps_2 ... ok
+mulss_1 ... ok
+mulss_2 ... ok
+orps_1 ... ok
+orps_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
+rcpps_1 ... ok
+rcpps_2 ... ok
+rcpss_1 ... ok
+rcpss_2 ... ok
+rsqrtps_1 ... ok
+rsqrtps_2 ... ok
+rsqrtss_1 ... ok
+rsqrtss_2 ... ok
+shufps_1 ... ok
+shufps_2 ... ok
+sqrtps_1 ... ok
+sqrtps_2 ... ok
+sqrtss_1 ... ok
+sqrtss_2 ... ok
+subps_1 ... ok
+subps_2 ... ok
+subss_1 ... ok
+subss_2 ... ok
+ucomiss_1 ... ok
+ucomiss_2 ... ok
+ucomiss_3 ... ok
+ucomiss_4 ... ok
+ucomiss_5 ... ok
+ucomiss_6 ... ok
+unpckhps_1 ... ok
+unpckhps_2 ... ok
+unpcklps_1 ... ok
+unpcklps_2 ... ok
+xorps_1 ... ok
+xorps_2 ... ok
diff --git a/cachegrind/tests/insn_sse.vgtest b/cachegrind/tests/insn_sse.vgtest
new file mode 100644
index 00000000..167c8e29
--- /dev/null
+++ b/cachegrind/tests/insn_sse.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse
+cpu_test: sse
diff --git a/cachegrind/tests/insn_sse2.stderr.exp b/cachegrind/tests/insn_sse2.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/cachegrind/tests/insn_sse2.stderr.exp
diff --git a/cachegrind/tests/insn_sse2.stdout.exp b/cachegrind/tests/insn_sse2.stdout.exp
new file mode 100644
index 00000000..53340e76
--- /dev/null
+++ b/cachegrind/tests/insn_sse2.stdout.exp
@@ -0,0 +1,292 @@
+addpd_1 ... ok
+addpd_2 ... ok
+addsd_1 ... ok
+addsd_2 ... ok
+andpd_1 ... ok
+andpd_2 ... ok
+andnpd_1 ... ok
+andnpd_2 ... ok
+cmpeqpd_1 ... ok
+cmpeqpd_2 ... ok
+cmpltpd_1 ... ok
+cmpltpd_2 ... ok
+cmplepd_1 ... ok
+cmplepd_2 ... ok
+cmpneqpd_1 ... ok
+cmpneqpd_2 ... ok
+cmpnltpd_1 ... ok
+cmpnltpd_2 ... ok
+cmpnlepd_1 ... ok
+cmpnlepd_2 ... ok
+cmpeqsd_1 ... ok
+cmpeqsd_2 ... ok
+cmpltsd_1 ... ok
+cmpltsd_2 ... ok
+cmplesd_1 ... ok
+cmplesd_2 ... ok
+cmpneqsd_1 ... ok
+cmpneqsd_2 ... ok
+cmpnltsd_1 ... ok
+cmpnltsd_2 ... ok
+cmpnlesd_1 ... ok
+cmpnlesd_2 ... ok
+comisd_1 ... ok
+comisd_2 ... ok
+comisd_3 ... ok
+comisd_4 ... ok
+comisd_5 ... ok
+comisd_6 ... ok
+cvtdq2pd_1 ... ok
+cvtdq2pd_2 ... ok
+cvtdq2ps_1 ... ok
+cvtdq2ps_2 ... ok
+cvtpd2dq_1 ... ok
+cvtpd2dq_2 ... ok
+cvtpd2pi_1 ... ok
+cvtpd2pi_2 ... ok
+cvtpd2ps_1 ... ok
+cvtpd2ps_2 ... ok
+cvtpi2pd_1 ... ok
+cvtpi2pd_2 ... ok
+cvtps2dq_1 ... ok
+cvtps2dq_2 ... ok
+cvtps2pd_1 ... ok
+cvtps2pd_2 ... ok
+cvtsd2si_1 ... ok
+cvtsd2si_2 ... ok
+cvtsd2ss_1 ... ok
+cvtsd2ss_2 ... ok
+cvtsi2sd_1 ... ok
+cvtsi2sd_2 ... ok
+cvtss2sd_1 ... ok
+cvtss2sd_2 ... ok
+cvttpd2pi_1 ... ok
+cvttpd2pi_2 ... ok
+cvttpd2dq_1 ... ok
+cvttpd2dq_2 ... ok
+cvttps2dq_1 ... ok
+cvttps2dq_2 ... ok
+cvttsd2si_1 ... ok
+cvttsd2si_2 ... ok
+divpd_1 ... ok
+divpd_2 ... ok
+divsd_1 ... ok
+divsd_2 ... ok
+maxpd_1 ... ok
+maxpd_2 ... ok
+maxsd_1 ... ok
+maxsd_2 ... ok
+minpd_1 ... ok
+minpd_2 ... ok
+minsd_1 ... ok
+minsd_2 ... ok
+movapd_1 ... ok
+movapd_2 ... ok
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movdqa_1 ... ok
+movdqa_2 ... ok
+movdqa_3 ... ok
+movdqu_1 ... ok
+movdqu_2 ... ok
+movdqu_3 ... ok
+movdq2q_1 ... ok
+movhpd_1 ... ok
+movhpd_2 ... ok
+movlpd_1 ... ok
+movlpd_2 ... ok
+movmskpd_1 ... ok
+movntdq_1 ... ok
+movnti_1 ... ok
+movntpd_1 ... ok
+movq2dq_1 ... ok
+movsd_1 ... ok
+movsd_2 ... ok
+movsd_3 ... ok
+movupd_1 ... ok
+movupd_2 ... ok
+mulpd_1 ... ok
+mulpd_2 ... ok
+mulsd_1 ... ok
+mulsd_2 ... ok
+orpd_1 ... ok
+orpd_2 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddq_1 ... ok
+paddq_2 ... ok
+paddq_3 ... ok
+paddq_4 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pextrw_5 ... ok
+pextrw_6 ... ok
+pextrw_7 ... ok
+pextrw_8 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+pmuludq_1 ... ok
+pmuludq_2 ... ok
+pmuludq_3 ... ok
+pmuludq_4 ... ok
+por_1 ... ok
+por_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufd_1 ... ok
+pshufd_2 ... ok
+pshufhw_1 ... ok
+pshufhw_2 ... ok
+pshuflw_1 ... ok
+pshuflw_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+pslldq_1 ... ok
+pslldq_2 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrldq_1 ... ok
+psrldq_2 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubq_1 ... ok
+psubq_2 ... ok
+psubq_3 ... ok
+psubq_4 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhqdq_1 ... ok
+punpckhqdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklqdq_1 ... ok
+punpcklqdq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
+shufpd_1 ... ok
+shufpd_2 ... ok
+sqrtpd_1 ... ok
+sqrtpd_2 ... ok
+sqrtsd_1 ... ok
+sqrtsd_2 ... ok
+subpd_1 ... ok
+subpd_2 ... ok
+subsd_1 ... ok
+subsd_2 ... ok
+ucomisd_1 ... ok
+ucomisd_2 ... ok
+ucomisd_3 ... ok
+ucomisd_4 ... ok
+ucomisd_5 ... ok
+ucomisd_6 ... ok
+unpckhpd_1 ... ok
+unpckhpd_2 ... ok
+unpcklpd_1 ... ok
+unpcklpd_2 ... ok
+xorpd_1 ... ok
+xorpd_2 ... ok
diff --git a/cachegrind/tests/insn_sse2.vgtest b/cachegrind/tests/insn_sse2.vgtest
new file mode 100644
index 00000000..42e82f38
--- /dev/null
+++ b/cachegrind/tests/insn_sse2.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse2
+cpu_test: sse2
diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am
index b6a8d972..c4f478ac 100644
--- a/helgrind/tests/Makefile.am
+++ b/helgrind/tests/Makefile.am
@@ -4,6 +4,8 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
allok.stderr.exp allok.vgtest \
deadlock.stderr.exp deadlock.vgtest \
inherit.stderr.exp inherit.vgtest \
+ insn_basic.vgtest insn_cmov.vgtest insn_mmx.vgtest \
+ insn_mmxext.vgtest insn_sse.vgtest insn_sse2.vgtest \
race.stderr.exp race.vgtest \
race2.stderr.exp race2.vgtest \
readshared.stderr.exp readshared.vgtest
diff --git a/helgrind/tests/insn_basic.stderr.exp b/helgrind/tests/insn_basic.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/helgrind/tests/insn_basic.stderr.exp
diff --git a/helgrind/tests/insn_basic.stdout.exp b/helgrind/tests/insn_basic.stdout.exp
new file mode 100644
index 00000000..40cabbcd
--- /dev/null
+++ b/helgrind/tests/insn_basic.stdout.exp
@@ -0,0 +1,1083 @@
+aaa_1 ... ok
+aaa_2 ... ok
+aaa_3 ... ok
+aaa_4 ... ok
+aaa_5 ... ok
+aaa_6 ... ok
+aaa_7 ... ok
+aaa_8 ... ok
+aad_1 ... ok
+aad_2 ... ok
+aam_1 ... ok
+aam_2 ... ok
+aas_1 ... ok
+aas_2 ... ok
+aas_3 ... ok
+aas_4 ... ok
+aas_5 ... ok
+aas_6 ... ok
+aas_7 ... ok
+aas_8 ... ok
+adcb_1 ... ok
+adcb_2 ... ok
+adcb_3 ... ok
+adcb_4 ... ok
+adcb_5 ... ok
+adcb_6 ... ok
+adcb_7 ... ok
+adcb_8 ... ok
+adcb_9 ... ok
+adcb_10 ... ok
+adcb_11 ... ok
+adcb_12 ... ok
+adcw_1 ... ok
+adcw_2 ... ok
+adcw_3 ... ok
+adcw_4 ... ok
+adcw_5 ... ok
+adcw_6 ... ok
+adcw_7 ... ok
+adcw_8 ... ok
+adcw_9 ... ok
+adcw_10 ... ok
+adcw_11 ... ok
+adcw_12 ... ok
+adcw_13 ... ok
+adcw_14 ... ok
+adcl_1 ... ok
+adcl_2 ... ok
+adcl_3 ... ok
+adcl_4 ... ok
+adcl_5 ... ok
+adcl_6 ... ok
+adcl_7 ... ok
+adcl_8 ... ok
+adcl_9 ... ok
+adcl_10 ... ok
+adcl_11 ... ok
+adcl_12 ... ok
+adcl_13 ... ok
+adcl_14 ... ok
+addb_1 ... ok
+addb_2 ... ok
+addb_3 ... ok
+addb_4 ... ok
+addb_5 ... ok
+addb_6 ... ok
+addw_1 ... ok
+addw_2 ... ok
+addw_3 ... ok
+addw_4 ... ok
+addw_5 ... ok
+addw_6 ... ok
+addw_7 ... ok
+addl_1 ... ok
+addl_2 ... ok
+addl_3 ... ok
+addl_4 ... ok
+addl_5 ... ok
+addl_6 ... ok
+addl_7 ... ok
+andb_1 ... ok
+andb_2 ... ok
+andb_3 ... ok
+andb_4 ... ok
+andb_5 ... ok
+andb_6 ... ok
+andw_1 ... ok
+andw_2 ... ok
+andw_3 ... ok
+andw_4 ... ok
+andw_5 ... ok
+andw_6 ... ok
+andw_7 ... ok
+andl_1 ... ok
+andl_2 ... ok
+andl_3 ... ok
+andl_4 ... ok
+andl_5 ... ok
+andl_6 ... ok
+andl_7 ... ok
+bsfw_1 ... ok
+bsfw_2 ... ok
+bsfl_1 ... ok
+bsfl_2 ... ok
+bsrw_1 ... ok
+bsrw_2 ... ok
+bsrl_1 ... ok
+bsrl_2 ... ok
+bswapl_1 ... ok
+btw_1 ... ok
+btw_2 ... ok
+btw_3 ... ok
+btw_4 ... ok
+btw_5 ... ok
+btw_6 ... ok
+btw_7 ... ok
+btw_8 ... ok
+btl_1 ... ok
+btl_2 ... ok
+btl_3 ... ok
+btl_4 ... ok
+btl_5 ... ok
+btl_6 ... ok
+btl_7 ... ok
+btl_8 ... ok
+btcw_1 ... ok
+btcw_2 ... ok
+btcw_3 ... ok
+btcw_4 ... ok
+btcw_5 ... ok
+btcw_6 ... ok
+btcw_7 ... ok
+btcw_8 ... ok
+btcl_1 ... ok
+btcl_2 ... ok
+btcl_3 ... ok
+btcl_4 ... ok
+btcl_5 ... ok
+btcl_6 ... ok
+btcl_7 ... ok
+btcl_8 ... ok
+btrw_1 ... ok
+btrw_2 ... ok
+btrw_3 ... ok
+btrw_4 ... ok
+btrw_5 ... ok
+btrw_6 ... ok
+btrw_7 ... ok
+btrw_8 ... ok
+btrl_1 ... ok
+btrl_2 ... ok
+btrl_3 ... ok
+btrl_4 ... ok
+btrl_5 ... ok
+btrl_6 ... ok
+btrl_7 ... ok
+btrl_8 ... ok
+btsw_1 ... ok
+btsw_2 ... ok
+btsw_3 ... ok
+btsw_4 ... ok
+btsw_5 ... ok
+btsw_6 ... ok
+btsw_7 ... ok
+btsw_8 ... ok
+btsl_1 ... ok
+btsl_2 ... ok
+btsl_3 ... ok
+btsl_4 ... ok
+btsl_5 ... ok
+btsl_6 ... ok
+btsl_7 ... ok
+btsl_8 ... ok
+cbw_1 ... ok
+cbw_2 ... ok
+cdq_1 ... ok
+cdq_2 ... ok
+clc_1 ... ok
+clc_2 ... ok
+cld_1 ... ok
+cld_2 ... ok
+cmc_1 ... ok
+cmc_2 ... ok
+cmpb_1 ... ok
+cmpb_2 ... ok
+cmpb_3 ... ok
+cmpb_4 ... ok
+cmpb_5 ... ok
+cmpb_6 ... ok
+cmpb_7 ... ok
+cmpb_8 ... ok
+cmpb_9 ... ok
+cmpb_10 ... ok
+cmpb_11 ... ok
+cmpb_12 ... ok
+cmpb_13 ... ok
+cmpb_14 ... ok
+cmpb_15 ... ok
+cmpb_16 ... ok
+cmpb_17 ... ok
+cmpb_18 ... ok
+cmpb_19 ... ok
+cmpb_20 ... ok
+cmpb_21 ... ok
+cmpb_22 ... ok
+cmpb_23 ... ok
+cmpb_24 ... ok
+cmpb_25 ... ok
+cmpb_26 ... ok
+cmpb_27 ... ok
+cmpb_28 ... ok
+cmpb_29 ... ok
+cmpb_30 ... ok
+cmpb_31 ... ok
+cmpb_32 ... ok
+cmpb_33 ... ok
+cmpb_34 ... ok
+cmpb_35 ... ok
+cmpb_36 ... ok
+cmpb_37 ... ok
+cmpb_38 ... ok
+cmpb_39 ... ok
+cmpb_40 ... ok
+cmpb_41 ... ok
+cmpb_42 ... ok
+cmpb_43 ... ok
+cmpb_44 ... ok
+cmpb_45 ... ok
+cmpb_46 ... ok
+cmpb_47 ... ok
+cmpb_48 ... ok
+cmpb_49 ... ok
+cmpb_50 ... ok
+cmpb_51 ... ok
+cmpb_52 ... ok
+cmpb_53 ... ok
+cmpb_54 ... ok
+cmpb_55 ... ok
+cmpb_56 ... ok
+cmpb_57 ... ok
+cmpb_58 ... ok
+cmpb_59 ... ok
+cmpb_60 ... ok
+cmpw_1 ... ok
+cmpw_2 ... ok
+cmpw_3 ... ok
+cmpw_4 ... ok
+cmpw_5 ... ok
+cmpw_6 ... ok
+cmpw_7 ... ok
+cmpw_8 ... ok
+cmpw_9 ... ok
+cmpw_10 ... ok
+cmpw_11 ... ok
+cmpw_12 ... ok
+cmpw_13 ... ok
+cmpw_14 ... ok
+cmpw_15 ... ok
+cmpw_16 ... ok
+cmpw_17 ... ok
+cmpw_18 ... ok
+cmpw_19 ... ok
+cmpw_20 ... ok
+cmpw_21 ... ok
+cmpw_22 ... ok
+cmpw_23 ... ok
+cmpw_24 ... ok
+cmpw_25 ... ok
+cmpw_26 ... ok
+cmpw_27 ... ok
+cmpw_28 ... ok
+cmpw_29 ... ok
+cmpw_30 ... ok
+cmpw_31 ... ok
+cmpw_32 ... ok
+cmpw_33 ... ok
+cmpw_34 ... ok
+cmpw_35 ... ok
+cmpw_36 ... ok
+cmpw_37 ... ok
+cmpw_38 ... ok
+cmpw_39 ... ok
+cmpw_40 ... ok
+cmpw_41 ... ok
+cmpw_42 ... ok
+cmpw_43 ... ok
+cmpw_44 ... ok
+cmpw_45 ... ok
+cmpw_46 ... ok
+cmpw_47 ... ok
+cmpw_48 ... ok
+cmpw_49 ... ok
+cmpw_50 ... ok
+cmpw_51 ... ok
+cmpw_52 ... ok
+cmpw_53 ... ok
+cmpw_54 ... ok
+cmpw_55 ... ok
+cmpw_56 ... ok
+cmpw_57 ... ok
+cmpw_58 ... ok
+cmpw_59 ... ok
+cmpw_60 ... ok
+cmpw_61 ... ok
+cmpw_62 ... ok
+cmpw_63 ... ok
+cmpw_64 ... ok
+cmpw_65 ... ok
+cmpw_66 ... ok
+cmpw_67 ... ok
+cmpw_68 ... ok
+cmpw_69 ... ok
+cmpw_70 ... ok
+cmpw_71 ... ok
+cmpw_72 ... ok
+cmpw_73 ... ok
+cmpw_74 ... ok
+cmpw_75 ... ok
+cmpw_76 ... ok
+cmpw_77 ... ok
+cmpw_78 ... ok
+cmpw_79 ... ok
+cmpw_80 ... ok
+cmpl_1 ... ok
+cmpl_2 ... ok
+cmpl_3 ... ok
+cmpl_4 ... ok
+cmpl_5 ... ok
+cmpl_6 ... ok
+cmpl_7 ... ok
+cmpl_8 ... ok
+cmpl_9 ... ok
+cmpl_10 ... ok
+cmpl_11 ... ok
+cmpl_12 ... ok
+cmpl_13 ... ok
+cmpl_14 ... ok
+cmpl_15 ... ok
+cmpl_16 ... ok
+cmpl_17 ... ok
+cmpl_18 ... ok
+cmpl_19 ... ok
+cmpl_20 ... ok
+cmpl_21 ... ok
+cmpl_22 ... ok
+cmpl_23 ... ok
+cmpl_24 ... ok
+cmpl_25 ... ok
+cmpl_26 ... ok
+cmpl_27 ... ok
+cmpl_28 ... ok
+cmpl_29 ... ok
+cmpl_30 ... ok
+cmpl_31 ... ok
+cmpl_32 ... ok
+cmpl_33 ... ok
+cmpl_34 ... ok
+cmpl_35 ... ok
+cmpl_36 ... ok
+cmpl_37 ... ok
+cmpl_38 ... ok
+cmpl_39 ... ok
+cmpl_40 ... ok
+cmpl_41 ... ok
+cmpl_42 ... ok
+cmpl_43 ... ok
+cmpl_44 ... ok
+cmpl_45 ... ok
+cmpl_46 ... ok
+cmpl_47 ... ok
+cmpl_48 ... ok
+cmpl_49 ... ok
+cmpl_50 ... ok
+cmpl_51 ... ok
+cmpl_52 ... ok
+cmpl_53 ... ok
+cmpl_54 ... ok
+cmpl_55 ... ok
+cmpl_56 ... ok
+cmpl_57 ... ok
+cmpl_58 ... ok
+cmpl_59 ... ok
+cmpl_60 ... ok
+cmpl_61 ... ok
+cmpl_62 ... ok
+cmpl_63 ... ok
+cmpl_64 ... ok
+cmpl_65 ... ok
+cmpl_66 ... ok
+cmpl_67 ... ok
+cmpl_68 ... ok
+cmpl_69 ... ok
+cmpl_70 ... ok
+cmpl_71 ... ok
+cmpl_72 ... ok
+cmpl_73 ... ok
+cmpl_74 ... ok
+cmpl_75 ... ok
+cmpl_76 ... ok
+cmpl_77 ... ok
+cmpl_78 ... ok
+cmpl_79 ... ok
+cmpl_80 ... ok
+cmpxchgb_1 ... ok
+cmpxchgb_2 ... ok
+cmpxchgb_3 ... ok
+cmpxchgb_4 ... ok
+cmpxchgw_1 ... ok
+cmpxchgw_2 ... ok
+cmpxchgw_3 ... ok
+cmpxchgw_4 ... ok
+cmpxchgl_1 ... ok
+cmpxchgl_2 ... ok
+cmpxchgl_3 ... ok
+cmpxchgl_4 ... ok
+cwd_1 ... ok
+cwd_2 ... ok
+cwde_1 ... ok
+cwde_2 ... ok
+daa_1 ... ok
+daa_2 ... ok
+das_1 ... ok
+decb_1 ... ok
+decb_2 ... ok
+decw_1 ... ok
+decw_2 ... ok
+decl_1 ... ok
+decl_2 ... ok
+divb_1 ... ok
+divb_2 ... ok
+divw_1 ... ok
+divw_2 ... ok
+divl_1 ... ok
+divl_2 ... ok
+idivb_1 ... ok
+idivb_2 ... ok
+idivw_1 ... ok
+idivw_2 ... ok
+idivl_1 ... ok
+idivl_2 ... ok
+imulb_1 ... ok
+imulb_2 ... ok
+imulw_1 ... ok
+imulw_2 ... ok
+imull_1 ... ok
+imull_2 ... ok
+imulw_3 ... ok
+imulw_4 ... ok
+imulw_5 ... ok
+imulw_6 ... ok
+imulw_7 ... ok
+imulw_8 ... ok
+imulw_9 ... ok
+imulw_10 ... ok
+imull_3 ... ok
+imull_4 ... ok
+imull_5 ... ok
+imull_6 ... ok
+imull_7 ... ok
+imull_8 ... ok
+imull_9 ... ok
+imull_10 ... ok
+incb_1 ... ok
+incb_2 ... ok
+incw_1 ... ok
+incw_2 ... ok
+incl_1 ... ok
+incl_2 ... ok
+lahf_1 ... ok
+lahf_2 ... ok
+movb_1 ... ok
+movb_2 ... ok
+movb_3 ... ok
+movb_4 ... ok
+movb_5 ... ok
+movw_1 ... ok
+movw_2 ... ok
+movw_3 ... ok
+movw_4 ... ok
+movw_5 ... ok
+movl_1 ... ok
+movl_2 ... ok
+movl_3 ... ok
+movl_4 ... ok
+movl_5 ... ok
+movsbw_1 ... ok
+movsbw_2 ... ok
+movsbl_1 ... ok
+movsbl_2 ... ok
+movswl_1 ... ok
+movswl_2 ... ok
+movzbw_1 ... ok
+movzbw_2 ... ok
+movzbl_1 ... ok
+movzbl_2 ... ok
+movzwl_1 ... ok
+movzwl_2 ... ok
+mulb_1 ... ok
+mulb_2 ... ok
+mulw_1 ... ok
+mulw_2 ... ok
+mull_1 ... ok
+mull_2 ... ok
+negb_1 ... ok
+negb_2 ... ok
+negw_1 ... ok
+negw_2 ... ok
+negl_1 ... ok
+negl_2 ... ok
+notb_1 ... ok
+notb_2 ... ok
+notw_1 ... ok
+notw_2 ... ok
+notl_1 ... ok
+notl_2 ... ok
+orb_1 ... ok
+orb_2 ... ok
+orb_3 ... ok
+orb_4 ... ok
+orb_5 ... ok
+orb_6 ... ok
+orw_1 ... ok
+orw_2 ... ok
+orw_3 ... ok
+orw_4 ... ok
+orw_5 ... ok
+orw_6 ... ok
+orw_7 ... ok
+orl_1 ... ok
+orl_2 ... ok
+orl_3 ... ok
+orl_4 ... ok
+orl_5 ... ok
+orl_6 ... ok
+orl_7 ... ok
+rclb_1 ... ok
+rclb_2 ... ok
+rclb_3 ... ok
+rclb_4 ... ok
+rclb_5 ... ok
+rclb_6 ... ok
+rclw_1 ... ok
+rclw_2 ... ok
+rclw_3 ... ok
+rclw_4 ... ok
+rclw_5 ... ok
+rclw_6 ... ok
+rcll_1 ... ok
+rcll_2 ... ok
+rcll_3 ... ok
+rcll_4 ... ok
+rcll_5 ... ok
+rcll_6 ... ok
+rcrb_1 ... ok
+rcrb_2 ... ok
+rcrb_3 ... ok
+rcrb_4 ... ok
+rcrb_5 ... ok
+rcrb_6 ... ok
+rcrw_1 ... ok
+rcrw_2 ... ok
+rcrw_3 ... ok
+rcrw_4 ... ok
+rcrw_5 ... ok
+rcrw_6 ... ok
+rcrl_1 ... ok
+rcrl_2 ... ok
+rcrl_3 ... ok
+rcrl_4 ... ok
+rcrl_5 ... ok
+rcrl_6 ... ok
+rolb_1 ... ok
+rolb_2 ... ok
+rolb_3 ... ok
+rolb_4 ... ok
+rolb_5 ... ok
+rolb_6 ... ok
+rolw_1 ... ok
+rolw_2 ... ok
+rolw_3 ... ok
+rolw_4 ... ok
+rolw_5 ... ok
+rolw_6 ... ok
+roll_1 ... ok
+roll_2 ... ok
+roll_3 ... ok
+roll_4 ... ok
+roll_5 ... ok
+roll_6 ... ok
+rorb_1 ... ok
+rorb_2 ... ok
+rorb_3 ... ok
+rorb_4 ... ok
+rorb_5 ... ok
+rorb_6 ... ok
+rorw_1 ... ok
+rorw_2 ... ok
+rorw_3 ... ok
+rorw_4 ... ok
+rorw_5 ... ok
+rorw_6 ... ok
+rorl_1 ... ok
+rorl_2 ... ok
+rorl_3 ... ok
+rorl_4 ... ok
+rorl_5 ... ok
+rorl_6 ... ok
+sahf_1 ... ok
+sahf_2 ... ok
+salb_1 ... ok
+salb_2 ... ok
+salb_3 ... ok
+salb_4 ... ok
+salb_5 ... ok
+salb_6 ... ok
+salw_1 ... ok
+salw_2 ... ok
+salw_3 ... ok
+salw_4 ... ok
+salw_5 ... ok
+salw_6 ... ok
+sall_1 ... ok
+sall_2 ... ok
+sall_3 ... ok
+sall_4 ... ok
+sall_5 ... ok
+sall_6 ... ok
+sarb_1 ... ok
+sarb_2 ... ok
+sarb_3 ... ok
+sarb_4 ... ok
+sarb_5 ... ok
+sarb_6 ... ok
+sarw_1 ... ok
+sarw_2 ... ok
+sarw_3 ... ok
+sarw_4 ... ok
+sarw_5 ... ok
+sarw_6 ... ok
+sarl_1 ... ok
+sarl_2 ... ok
+sarl_3 ... ok
+sarl_4 ... ok
+sarl_5 ... ok
+sarl_6 ... ok
+sbbb_1 ... ok
+sbbb_2 ... ok
+sbbb_3 ... ok
+sbbb_4 ... ok
+sbbb_5 ... ok
+sbbb_6 ... ok
+sbbb_7 ... ok
+sbbb_8 ... ok
+sbbb_9 ... ok
+sbbb_10 ... ok
+sbbb_11 ... ok
+sbbb_12 ... ok
+sbbw_1 ... ok
+sbbw_2 ... ok
+sbbw_3 ... ok
+sbbw_4 ... ok
+sbbw_5 ... ok
+sbbw_6 ... ok
+sbbw_7 ... ok
+sbbw_8 ... ok
+sbbw_9 ... ok
+sbbw_10 ... ok
+sbbw_11 ... ok
+sbbw_12 ... ok
+sbbw_13 ... ok
+sbbw_14 ... ok
+sbbl_1 ... ok
+sbbl_2 ... ok
+sbbl_3 ... ok
+sbbl_4 ... ok
+sbbl_5 ... ok
+sbbl_6 ... ok
+sbbl_7 ... ok
+sbbl_8 ... ok
+sbbl_9 ... ok
+sbbl_10 ... ok
+sbbl_11 ... ok
+sbbl_12 ... ok
+sbbl_13 ... ok
+sbbl_14 ... ok
+seta_1 ... ok
+seta_2 ... ok
+seta_3 ... ok
+seta_4 ... ok
+seta_5 ... ok
+seta_6 ... ok
+seta_7 ... ok
+seta_8 ... ok
+setae_1 ... ok
+setae_2 ... ok
+setae_3 ... ok
+setae_4 ... ok
+setb_1 ... ok
+setb_2 ... ok
+setb_3 ... ok
+setb_4 ... ok
+setbe_1 ... ok
+setbe_2 ... ok
+setbe_3 ... ok
+setbe_4 ... ok
+setbe_5 ... ok
+setbe_6 ... ok
+setbe_7 ... ok
+setbe_8 ... ok
+setc_1 ... ok
+setc_2 ... ok
+setc_3 ... ok
+setc_4 ... ok
+sete_1 ... ok
+sete_2 ... ok
+sete_3 ... ok
+sete_4 ... ok
+setg_1 ... ok
+setg_2 ... ok
+setg_3 ... ok
+setg_4 ... ok
+setg_5 ... ok
+setg_6 ... ok
+setg_7 ... ok
+setg_8 ... ok
+setg_9 ... ok
+setg_10 ... ok
+setg_11 ... ok
+setg_12 ... ok
+setg_13 ... ok
+setg_14 ... ok
+setg_15 ... ok
+setg_16 ... ok
+setge_1 ... ok
+setge_2 ... ok
+setge_3 ... ok
+setge_4 ... ok
+setge_5 ... ok
+setge_6 ... ok
+setge_7 ... ok
+setge_8 ... ok
+setl_1 ... ok
+setl_2 ... ok
+setl_3 ... ok
+setl_4 ... ok
+setl_5 ... ok
+setl_6 ... ok
+setl_7 ... ok
+setl_8 ... ok
+setle_1 ... ok
+setle_2 ... ok
+setle_3 ... ok
+setle_4 ... ok
+setle_5 ... ok
+setle_6 ... ok
+setle_7 ... ok
+setle_8 ... ok
+setle_9 ... ok
+setle_10 ... ok
+setle_11 ... ok
+setle_12 ... ok
+setle_13 ... ok
+setle_14 ... ok
+setle_15 ... ok
+setle_16 ... ok
+setna_1 ... ok
+setna_2 ... ok
+setna_3 ... ok
+setna_4 ... ok
+setna_5 ... ok
+setna_6 ... ok
+setna_7 ... ok
+setna_8 ... ok
+setnae_1 ... ok
+setnae_2 ... ok
+setnae_3 ... ok
+setnae_4 ... ok
+setnb_1 ... ok
+setnb_2 ... ok
+setnb_3 ... ok
+setnb_4 ... ok
+setnbe_1 ... ok
+setnbe_2 ... ok
+setnbe_3 ... ok
+setnbe_4 ... ok
+setnbe_5 ... ok
+setnbe_6 ... ok
+setnbe_7 ... ok
+setnbe_8 ... ok
+setnc_1 ... ok
+setnc_2 ... ok
+setnc_3 ... ok
+setnc_4 ... ok
+setne_1 ... ok
+setne_2 ... ok
+setne_3 ... ok
+setne_4 ... ok
+setng_1 ... ok
+setng_2 ... ok
+setng_3 ... ok
+setng_4 ... ok
+setng_5 ... ok
+setng_6 ... ok
+setng_7 ... ok
+setng_8 ... ok
+setng_9 ... ok
+setng_10 ... ok
+setng_11 ... ok
+setng_12 ... ok
+setng_13 ... ok
+setng_14 ... ok
+setng_15 ... ok
+setng_16 ... ok
+setnge_1 ... ok
+setnge_2 ... ok
+setnge_3 ... ok
+setnge_4 ... ok
+setnge_5 ... ok
+setnge_6 ... ok
+setnge_7 ... ok
+setnge_8 ... ok
+setnl_1 ... ok
+setnl_2 ... ok
+setnl_3 ... ok
+setnl_4 ... ok
+setnl_5 ... ok
+setnl_6 ... ok
+setnl_7 ... ok
+setnl_8 ... ok
+setnle_1 ... ok
+setnle_2 ... ok
+setnle_3 ... ok
+setnle_4 ... ok
+setnle_5 ... ok
+setnle_6 ... ok
+setnle_7 ... ok
+setnle_8 ... ok
+setnle_9 ... ok
+setnle_10 ... ok
+setnle_11 ... ok
+setnle_12 ... ok
+setnle_13 ... ok
+setnle_14 ... ok
+setnle_15 ... ok
+setnle_16 ... ok
+setno_1 ... ok
+setno_2 ... ok
+setno_3 ... ok
+setno_4 ... ok
+setnp_1 ... ok
+setnp_2 ... ok
+setnp_3 ... ok
+setnp_4 ... ok
+setns_1 ... ok
+setns_2 ... ok
+setns_3 ... ok
+setns_4 ... ok
+setnz_1 ... ok
+setnz_2 ... ok
+setnz_3 ... ok
+setnz_4 ... ok
+seto_1 ... ok
+seto_2 ... ok
+seto_3 ... ok
+seto_4 ... ok
+setp_1 ... ok
+setp_2 ... ok
+setp_3 ... ok
+setp_4 ... ok
+sets_1 ... ok
+sets_2 ... ok
+sets_3 ... ok
+sets_4 ... ok
+setz_1 ... ok
+setz_2 ... ok
+setz_3 ... ok
+setz_4 ... ok
+shlb_1 ... ok
+shlb_2 ... ok
+shlb_3 ... ok
+shlb_4 ... ok
+shlb_5 ... ok
+shlb_6 ... ok
+shlw_1 ... ok
+shlw_2 ... ok
+shlw_3 ... ok
+shlw_4 ... ok
+shlw_5 ... ok
+shlw_6 ... ok
+shll_1 ... ok
+shll_2 ... ok
+shll_3 ... ok
+shll_4 ... ok
+shll_5 ... ok
+shll_6 ... ok
+shrb_1 ... ok
+shrb_2 ... ok
+shrb_3 ... ok
+shrb_4 ... ok
+shrb_5 ... ok
+shrb_6 ... ok
+shrw_1 ... ok
+shrw_2 ... ok
+shrw_3 ... ok
+shrw_4 ... ok
+shrw_5 ... ok
+shrw_6 ... ok
+shrl_1 ... ok
+shrl_2 ... ok
+shrl_3 ... ok
+shrl_4 ... ok
+shrl_5 ... ok
+shrl_6 ... ok
+shldw_1 ... ok
+shldw_2 ... ok
+shldw_3 ... ok
+shldw_4 ... ok
+shldw_5 ... ok
+shldw_6 ... ok
+shldw_7 ... ok
+shldw_8 ... ok
+shldl_1 ... ok
+shldl_2 ... ok
+shldl_3 ... ok
+shldl_4 ... ok
+shldl_5 ... ok
+shldl_6 ... ok
+shldl_7 ... ok
+shldl_8 ... ok
+shrdw_1 ... ok
+shrdw_2 ... ok
+shrdw_3 ... ok
+shrdw_4 ... ok
+shrdw_5 ... ok
+shrdw_6 ... ok
+shrdw_7 ... ok
+shrdw_8 ... ok
+shrdl_1 ... ok
+shrdl_2 ... ok
+shrdl_3 ... ok
+shrdl_4 ... ok
+shrdl_5 ... ok
+shrdl_6 ... ok
+shrdl_7 ... ok
+shrdl_8 ... ok
+stc_1 ... ok
+stc_2 ... ok
+std_1 ... ok
+std_2 ... ok
+subb_1 ... ok
+subb_2 ... ok
+subb_3 ... ok
+subb_4 ... ok
+subb_5 ... ok
+subb_6 ... ok
+subw_1 ... ok
+subw_2 ... ok
+subw_3 ... ok
+subw_4 ... ok
+subw_5 ... ok
+subw_6 ... ok
+subw_7 ... ok
+subl_1 ... ok
+subl_2 ... ok
+subl_3 ... ok
+subl_4 ... ok
+subl_5 ... ok
+subl_6 ... ok
+subl_7 ... ok
+testb_1 ... ok
+testb_2 ... ok
+testb_3 ... ok
+testb_4 ... ok
+testb_5 ... ok
+testb_6 ... ok
+testb_7 ... ok
+testb_8 ... ok
+testb_9 ... ok
+testb_10 ... ok
+testb_11 ... ok
+testb_12 ... ok
+testb_13 ... ok
+testb_14 ... ok
+testb_15 ... ok
+testb_16 ... ok
+testb_17 ... ok
+testb_18 ... ok
+testb_19 ... ok
+testb_20 ... ok
+testb_21 ... ok
+testb_22 ... ok
+testb_23 ... ok
+testb_24 ... ok
+testb_25 ... ok
+testw_1 ... ok
+testw_2 ... ok
+testw_3 ... ok
+testw_4 ... ok
+testw_5 ... ok
+testw_6 ... ok
+testw_7 ... ok
+testw_8 ... ok
+testw_9 ... ok
+testw_10 ... ok
+testw_11 ... ok
+testw_12 ... ok
+testw_13 ... ok
+testw_14 ... ok
+testw_15 ... ok
+testw_16 ... ok
+testw_17 ... ok
+testw_18 ... ok
+testw_19 ... ok
+testw_20 ... ok
+testw_21 ... ok
+testw_22 ... ok
+testw_23 ... ok
+testw_24 ... ok
+testw_25 ... ok
+testl_1 ... ok
+testl_2 ... ok
+testl_3 ... ok
+testl_4 ... ok
+testl_5 ... ok
+testl_6 ... ok
+testl_7 ... ok
+testl_8 ... ok
+testl_9 ... ok
+testl_10 ... ok
+testl_11 ... ok
+testl_12 ... ok
+testl_13 ... ok
+testl_14 ... ok
+testl_15 ... ok
+testl_16 ... ok
+testl_17 ... ok
+testl_18 ... ok
+testl_19 ... ok
+testl_20 ... ok
+testl_21 ... ok
+testl_22 ... ok
+testl_23 ... ok
+testl_24 ... ok
+testl_25 ... ok
+xaddb_1 ... ok
+xaddb_2 ... ok
+xaddw_1 ... ok
+xaddw_2 ... ok
+xaddl_1 ... ok
+xaddl_2 ... ok
+xchgb_1 ... ok
+xchgb_2 ... ok
+xchgb_3 ... ok
+xchgw_1 ... ok
+xchgw_2 ... ok
+xchgw_3 ... ok
+xchgw_4 ... ok
+xchgw_5 ... ok
+xchgl_1 ... ok
+xchgl_2 ... ok
+xchgl_3 ... ok
+xchgl_4 ... ok
+xchgl_5 ... ok
+xorb_1 ... ok
+xorb_2 ... ok
+xorb_3 ... ok
+xorb_4 ... ok
+xorb_5 ... ok
+xorb_6 ... ok
+xorw_1 ... ok
+xorw_2 ... ok
+xorw_3 ... ok
+xorw_4 ... ok
+xorw_5 ... ok
+xorw_6 ... ok
+xorw_7 ... ok
+xorl_1 ... ok
+xorl_2 ... ok
+xorl_3 ... ok
+xorl_4 ... ok
+xorl_5 ... ok
+xorl_6 ... ok
+xorl_7 ... ok
diff --git a/helgrind/tests/insn_basic.vgtest b/helgrind/tests/insn_basic.vgtest
new file mode 100644
index 00000000..f5329ea8
--- /dev/null
+++ b/helgrind/tests/insn_basic.vgtest
@@ -0,0 +1,2 @@
+vgopts: -q
+prog: ../../none/tests/insn_basic
diff --git a/helgrind/tests/insn_cmov.stderr.exp b/helgrind/tests/insn_cmov.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/helgrind/tests/insn_cmov.stderr.exp
diff --git a/helgrind/tests/insn_cmov.stdout.exp b/helgrind/tests/insn_cmov.stdout.exp
new file mode 100644
index 00000000..31ac1720
--- /dev/null
+++ b/helgrind/tests/insn_cmov.stdout.exp
@@ -0,0 +1,384 @@
+cmova_1 ... ok
+cmova_2 ... ok
+cmova_3 ... ok
+cmova_4 ... ok
+cmova_5 ... ok
+cmova_6 ... ok
+cmova_7 ... ok
+cmova_8 ... ok
+cmovae_1 ... ok
+cmovae_2 ... ok
+cmovae_3 ... ok
+cmovae_4 ... ok
+cmovb_1 ... ok
+cmovb_2 ... ok
+cmovb_3 ... ok
+cmovb_4 ... ok
+cmovbe_1 ... ok
+cmovbe_2 ... ok
+cmovbe_3 ... ok
+cmovbe_4 ... ok
+cmovbe_5 ... ok
+cmovbe_6 ... ok
+cmovbe_7 ... ok
+cmovbe_8 ... ok
+cmovc_1 ... ok
+cmovc_2 ... ok
+cmovc_3 ... ok
+cmovc_4 ... ok
+cmove_1 ... ok
+cmove_2 ... ok
+cmove_3 ... ok
+cmove_4 ... ok
+cmovg_1 ... ok
+cmovg_2 ... ok
+cmovg_3 ... ok
+cmovg_4 ... ok
+cmovg_5 ... ok
+cmovg_6 ... ok
+cmovg_7 ... ok
+cmovg_8 ... ok
+cmovg_9 ... ok
+cmovg_10 ... ok
+cmovg_11 ... ok
+cmovg_12 ... ok
+cmovg_13 ... ok
+cmovg_14 ... ok
+cmovg_15 ... ok
+cmovg_16 ... ok
+cmovge_1 ... ok
+cmovge_2 ... ok
+cmovge_3 ... ok
+cmovge_4 ... ok
+cmovge_5 ... ok
+cmovge_6 ... ok
+cmovge_7 ... ok
+cmovge_8 ... ok
+cmovl_1 ... ok
+cmovl_2 ... ok
+cmovl_3 ... ok
+cmovl_4 ... ok
+cmovl_5 ... ok
+cmovl_6 ... ok
+cmovl_7 ... ok
+cmovl_8 ... ok
+cmovle_1 ... ok
+cmovle_2 ... ok
+cmovle_3 ... ok
+cmovle_4 ... ok
+cmovle_5 ... ok
+cmovle_6 ... ok
+cmovle_7 ... ok
+cmovle_8 ... ok
+cmovle_9 ... ok
+cmovle_10 ... ok
+cmovle_11 ... ok
+cmovle_12 ... ok
+cmovle_13 ... ok
+cmovle_14 ... ok
+cmovle_15 ... ok
+cmovle_16 ... ok
+cmovna_1 ... ok
+cmovna_2 ... ok
+cmovna_3 ... ok
+cmovna_4 ... ok
+cmovna_5 ... ok
+cmovna_6 ... ok
+cmovna_7 ... ok
+cmovna_8 ... ok
+cmovnae_1 ... ok
+cmovnae_2 ... ok
+cmovnae_3 ... ok
+cmovnae_4 ... ok
+cmovnb_1 ... ok
+cmovnb_2 ... ok
+cmovnb_3 ... ok
+cmovnb_4 ... ok
+cmovnbe_1 ... ok
+cmovnbe_2 ... ok
+cmovnbe_3 ... ok
+cmovnbe_4 ... ok
+cmovnbe_5 ... ok
+cmovnbe_6 ... ok
+cmovnbe_7 ... ok
+cmovnbe_8 ... ok
+cmovnc_1 ... ok
+cmovnc_2 ... ok
+cmovnc_3 ... ok
+cmovnc_4 ... ok
+cmovne_1 ... ok
+cmovne_2 ... ok
+cmovne_3 ... ok
+cmovne_4 ... ok
+cmovng_1 ... ok
+cmovng_2 ... ok
+cmovng_3 ... ok
+cmovng_4 ... ok
+cmovng_5 ... ok
+cmovng_6 ... ok
+cmovng_7 ... ok
+cmovng_8 ... ok
+cmovng_9 ... ok
+cmovng_10 ... ok
+cmovng_11 ... ok
+cmovng_12 ... ok
+cmovng_13 ... ok
+cmovng_14 ... ok
+cmovng_15 ... ok
+cmovng_16 ... ok
+cmovnge_1 ... ok
+cmovnge_2 ... ok
+cmovnge_3 ... ok
+cmovnge_4 ... ok
+cmovnge_5 ... ok
+cmovnge_6 ... ok
+cmovnge_7 ... ok
+cmovnge_8 ... ok
+cmovnl_1 ... ok
+cmovnl_2 ... ok
+cmovnl_3 ... ok
+cmovnl_4 ... ok
+cmovnl_5 ... ok
+cmovnl_6 ... ok
+cmovnl_7 ... ok
+cmovnl_8 ... ok
+cmovnle_1 ... ok
+cmovnle_2 ... ok
+cmovnle_3 ... ok
+cmovnle_4 ... ok
+cmovnle_5 ... ok
+cmovnle_6 ... ok
+cmovnle_7 ... ok
+cmovnle_8 ... ok
+cmovnle_9 ... ok
+cmovnle_10 ... ok
+cmovnle_11 ... ok
+cmovnle_12 ... ok
+cmovnle_13 ... ok
+cmovnle_14 ... ok
+cmovnle_15 ... ok
+cmovnle_16 ... ok
+cmovno_1 ... ok
+cmovno_2 ... ok
+cmovno_3 ... ok
+cmovno_4 ... ok
+cmovnp_1 ... ok
+cmovnp_2 ... ok
+cmovnp_3 ... ok
+cmovnp_4 ... ok
+cmovns_1 ... ok
+cmovns_2 ... ok
+cmovns_3 ... ok
+cmovns_4 ... ok
+cmovnz_1 ... ok
+cmovnz_2 ... ok
+cmovnz_3 ... ok
+cmovnz_4 ... ok
+cmovo_1 ... ok
+cmovo_2 ... ok
+cmovo_3 ... ok
+cmovo_4 ... ok
+cmovp_1 ... ok
+cmovp_2 ... ok
+cmovp_3 ... ok
+cmovp_4 ... ok
+cmovs_1 ... ok
+cmovs_2 ... ok
+cmovs_3 ... ok
+cmovs_4 ... ok
+cmovz_1 ... ok
+cmovz_2 ... ok
+cmovz_3 ... ok
+cmovz_4 ... ok
+cmova_9 ... ok
+cmova_10 ... ok
+cmova_11 ... ok
+cmova_12 ... ok
+cmova_13 ... ok
+cmova_14 ... ok
+cmova_15 ... ok
+cmova_16 ... ok
+cmovae_5 ... ok
+cmovae_6 ... ok
+cmovae_7 ... ok
+cmovae_8 ... ok
+cmovb_5 ... ok
+cmovb_6 ... ok
+cmovb_7 ... ok
+cmovb_8 ... ok
+cmovbe_9 ... ok
+cmovbe_10 ... ok
+cmovbe_11 ... ok
+cmovbe_12 ... ok
+cmovbe_13 ... ok
+cmovbe_14 ... ok
+cmovbe_15 ... ok
+cmovbe_16 ... ok
+cmovc_5 ... ok
+cmovc_6 ... ok
+cmovc_7 ... ok
+cmovc_8 ... ok
+cmove_5 ... ok
+cmove_6 ... ok
+cmove_7 ... ok
+cmove_8 ... ok
+cmovg_17 ... ok
+cmovg_18 ... ok
+cmovg_19 ... ok
+cmovg_20 ... ok
+cmovg_21 ... ok
+cmovg_22 ... ok
+cmovg_23 ... ok
+cmovg_24 ... ok
+cmovg_25 ... ok
+cmovg_26 ... ok
+cmovg_27 ... ok
+cmovg_28 ... ok
+cmovg_29 ... ok
+cmovg_30 ... ok
+cmovg_31 ... ok
+cmovg_32 ... ok
+cmovge_9 ... ok
+cmovge_10 ... ok
+cmovge_11 ... ok
+cmovge_12 ... ok
+cmovge_13 ... ok
+cmovge_14 ... ok
+cmovge_15 ... ok
+cmovge_16 ... ok
+cmovl_9 ... ok
+cmovl_10 ... ok
+cmovl_11 ... ok
+cmovl_12 ... ok
+cmovl_13 ... ok
+cmovl_14 ... ok
+cmovl_15 ... ok
+cmovl_16 ... ok
+cmovle_17 ... ok
+cmovle_18 ... ok
+cmovle_19 ... ok
+cmovle_20 ... ok
+cmovle_21 ... ok
+cmovle_22 ... ok
+cmovle_23 ... ok
+cmovle_24 ... ok
+cmovle_25 ... ok
+cmovle_26 ... ok
+cmovle_27 ... ok
+cmovle_28 ... ok
+cmovle_29 ... ok
+cmovle_30 ... ok
+cmovle_31 ... ok
+cmovle_32 ... ok
+cmovna_9 ... ok
+cmovna_10 ... ok
+cmovna_11 ... ok
+cmovna_12 ... ok
+cmovna_13 ... ok
+cmovna_14 ... ok
+cmovna_15 ... ok
+cmovna_16 ... ok
+cmovnae_5 ... ok
+cmovnae_6 ... ok
+cmovnae_7 ... ok
+cmovnae_8 ... ok
+cmovnb_5 ... ok
+cmovnb_6 ... ok
+cmovnb_7 ... ok
+cmovnb_8 ... ok
+cmovnbe_9 ... ok
+cmovnbe_10 ... ok
+cmovnbe_11 ... ok
+cmovnbe_12 ... ok
+cmovnbe_13 ... ok
+cmovnbe_14 ... ok
+cmovnbe_15 ... ok
+cmovnbe_16 ... ok
+cmovnc_5 ... ok
+cmovnc_6 ... ok
+cmovnc_7 ... ok
+cmovnc_8 ... ok
+cmovne_5 ... ok
+cmovne_6 ... ok
+cmovne_7 ... ok
+cmovne_8 ... ok
+cmovng_17 ... ok
+cmovng_18 ... ok
+cmovng_19 ... ok
+cmovng_20 ... ok
+cmovng_21 ... ok
+cmovng_22 ... ok
+cmovng_23 ... ok
+cmovng_24 ... ok
+cmovng_25 ... ok
+cmovng_26 ... ok
+cmovng_27 ... ok
+cmovng_28 ... ok
+cmovng_29 ... ok
+cmovng_30 ... ok
+cmovng_31 ... ok
+cmovng_32 ... ok
+cmovnge_9 ... ok
+cmovnge_10 ... ok
+cmovnge_11 ... ok
+cmovnge_12 ... ok
+cmovnge_13 ... ok
+cmovnge_14 ... ok
+cmovnge_15 ... ok
+cmovnge_16 ... ok
+cmovnl_9 ... ok
+cmovnl_10 ... ok
+cmovnl_11 ... ok
+cmovnl_12 ... ok
+cmovnl_13 ... ok
+cmovnl_14 ... ok
+cmovnl_15 ... ok
+cmovnl_16 ... ok
+cmovnle_17 ... ok
+cmovnle_18 ... ok
+cmovnle_19 ... ok
+cmovnle_20 ... ok
+cmovnle_21 ... ok
+cmovnle_22 ... ok
+cmovnle_23 ... ok
+cmovnle_24 ... ok
+cmovnle_25 ... ok
+cmovnle_26 ... ok
+cmovnle_27 ... ok
+cmovnle_28 ... ok
+cmovnle_29 ... ok
+cmovnle_30 ... ok
+cmovnle_31 ... ok
+cmovnle_32 ... ok
+cmovno_5 ... ok
+cmovno_6 ... ok
+cmovno_7 ... ok
+cmovno_8 ... ok
+cmovnp_5 ... ok
+cmovnp_6 ... ok
+cmovnp_7 ... ok
+cmovnp_8 ... ok
+cmovns_5 ... ok
+cmovns_6 ... ok
+cmovns_7 ... ok
+cmovns_8 ... ok
+cmovnz_5 ... ok
+cmovnz_6 ... ok
+cmovnz_7 ... ok
+cmovnz_8 ... ok
+cmovo_5 ... ok
+cmovo_6 ... ok
+cmovo_7 ... ok
+cmovo_8 ... ok
+cmovp_5 ... ok
+cmovp_6 ... ok
+cmovp_7 ... ok
+cmovp_8 ... ok
+cmovs_5 ... ok
+cmovs_6 ... ok
+cmovs_7 ... ok
+cmovs_8 ... ok
+cmovz_5 ... ok
+cmovz_6 ... ok
+cmovz_7 ... ok
+cmovz_8 ... ok
diff --git a/helgrind/tests/insn_cmov.vgtest b/helgrind/tests/insn_cmov.vgtest
new file mode 100644
index 00000000..0321a3ca
--- /dev/null
+++ b/helgrind/tests/insn_cmov.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_cmov
+cpu_test: cmov
diff --git a/helgrind/tests/insn_mmx.stderr.exp b/helgrind/tests/insn_mmx.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/helgrind/tests/insn_mmx.stderr.exp
diff --git a/helgrind/tests/insn_mmx.stdout.exp b/helgrind/tests/insn_mmx.stdout.exp
new file mode 100644
index 00000000..95cbae16
--- /dev/null
+++ b/helgrind/tests/insn_mmx.stdout.exp
@@ -0,0 +1,103 @@
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movq_1 ... ok
+movq_2 ... ok
+movq_3 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+por_1 ... ok
+por_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
diff --git a/helgrind/tests/insn_mmx.vgtest b/helgrind/tests/insn_mmx.vgtest
new file mode 100644
index 00000000..ddbb9772
--- /dev/null
+++ b/helgrind/tests/insn_mmx.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmx
+cpu_test: mmx
diff --git a/helgrind/tests/insn_mmxext.stderr.exp b/helgrind/tests/insn_mmxext.stderr.exp
new file mode 100644
index 00000000..139597f9
--- /dev/null
+++ b/helgrind/tests/insn_mmxext.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/helgrind/tests/insn_mmxext.stdout.exp b/helgrind/tests/insn_mmxext.stdout.exp
new file mode 100644
index 00000000..631f7939
--- /dev/null
+++ b/helgrind/tests/insn_mmxext.stdout.exp
@@ -0,0 +1,28 @@
+movntq_1 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
diff --git a/helgrind/tests/insn_mmxext.vgtest b/helgrind/tests/insn_mmxext.vgtest
new file mode 100644
index 00000000..bb667097
--- /dev/null
+++ b/helgrind/tests/insn_mmxext.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmxext
+cpu_test: mmxext
diff --git a/helgrind/tests/insn_sse.stderr.exp b/helgrind/tests/insn_sse.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/helgrind/tests/insn_sse.stderr.exp
diff --git a/helgrind/tests/insn_sse.stdout.exp b/helgrind/tests/insn_sse.stdout.exp
new file mode 100644
index 00000000..c9ae0f15
--- /dev/null
+++ b/helgrind/tests/insn_sse.stdout.exp
@@ -0,0 +1,141 @@
+addps_1 ... ok
+addps_2 ... ok
+addss_1 ... ok
+addss_2 ... ok
+andnps_1 ... ok
+andnps_2 ... ok
+andps_1 ... ok
+andps_2 ... ok
+cmpeqps_1 ... ok
+cmpeqps_2 ... ok
+cmpeqss_1 ... ok
+cmpeqss_2 ... ok
+cmpleps_1 ... ok
+cmpleps_2 ... ok
+cmpless_1 ... ok
+cmpless_2 ... ok
+cmpltps_1 ... ok
+cmpltps_2 ... ok
+cmpltss_1 ... ok
+cmpltss_2 ... ok
+cmpneqps_1 ... ok
+cmpneqps_2 ... ok
+cmpneqss_1 ... ok
+cmpneqss_2 ... ok
+cmpnleps_1 ... ok
+cmpnleps_2 ... ok
+cmpnless_1 ... ok
+cmpnless_2 ... ok
+cmpnltps_1 ... ok
+cmpnltps_2 ... ok
+cmpnltss_1 ... ok
+cmpnltss_2 ... ok
+comiss_1 ... ok
+comiss_2 ... ok
+comiss_3 ... ok
+comiss_4 ... ok
+comiss_5 ... ok
+comiss_6 ... ok
+cvtpi2ps_1 ... ok
+cvtpi2ps_2 ... ok
+cvtps2pi_1 ... ok
+cvtps2pi_2 ... ok
+cvtsi2ss_1 ... ok
+cvtsi2ss_2 ... ok
+cvtss2si_1 ... ok
+cvtss2si_2 ... ok
+cvttps2pi_1 ... ok
+cvttps2pi_2 ... ok
+cvttss2si_1 ... ok
+cvttss2si_2 ... ok
+divps_1 ... ok
+divps_2 ... ok
+divss_1 ... ok
+divss_2 ... ok
+maxps_1 ... ok
+maxps_2 ... ok
+maxss_1 ... ok
+maxss_2 ... ok
+minps_1 ... ok
+minps_2 ... ok
+minss_1 ... ok
+minss_2 ... ok
+movaps_1 ... ok
+movaps_2 ... ok
+movhlps_1 ... ok
+movhps_1 ... ok
+movhps_2 ... ok
+movlhps_1 ... ok
+movlps_1 ... ok
+movlps_2 ... ok
+movmskps_1 ... ok
+movntps_1 ... ok
+movntq_1 ... ok
+movss_1 ... ok
+movss_2 ... ok
+movss_3 ... ok
+movups_1 ... ok
+movups_2 ... ok
+mulps_1 ... ok
+mulps_2 ... ok
+mulss_1 ... ok
+mulss_2 ... ok
+orps_1 ... ok
+orps_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
+rcpps_1 ... ok
+rcpps_2 ... ok
+rcpss_1 ... ok
+rcpss_2 ... ok
+rsqrtps_1 ... ok
+rsqrtps_2 ... ok
+rsqrtss_1 ... ok
+rsqrtss_2 ... ok
+shufps_1 ... ok
+shufps_2 ... ok
+sqrtps_1 ... ok
+sqrtps_2 ... ok
+sqrtss_1 ... ok
+sqrtss_2 ... ok
+subps_1 ... ok
+subps_2 ... ok
+subss_1 ... ok
+subss_2 ... ok
+ucomiss_1 ... ok
+ucomiss_2 ... ok
+ucomiss_3 ... ok
+ucomiss_4 ... ok
+ucomiss_5 ... ok
+ucomiss_6 ... ok
+unpckhps_1 ... ok
+unpckhps_2 ... ok
+unpcklps_1 ... ok
+unpcklps_2 ... ok
+xorps_1 ... ok
+xorps_2 ... ok
diff --git a/helgrind/tests/insn_sse.vgtest b/helgrind/tests/insn_sse.vgtest
new file mode 100644
index 00000000..167c8e29
--- /dev/null
+++ b/helgrind/tests/insn_sse.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse
+cpu_test: sse
diff --git a/helgrind/tests/insn_sse2.stderr.exp b/helgrind/tests/insn_sse2.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/helgrind/tests/insn_sse2.stderr.exp
diff --git a/helgrind/tests/insn_sse2.stdout.exp b/helgrind/tests/insn_sse2.stdout.exp
new file mode 100644
index 00000000..53340e76
--- /dev/null
+++ b/helgrind/tests/insn_sse2.stdout.exp
@@ -0,0 +1,292 @@
+addpd_1 ... ok
+addpd_2 ... ok
+addsd_1 ... ok
+addsd_2 ... ok
+andpd_1 ... ok
+andpd_2 ... ok
+andnpd_1 ... ok
+andnpd_2 ... ok
+cmpeqpd_1 ... ok
+cmpeqpd_2 ... ok
+cmpltpd_1 ... ok
+cmpltpd_2 ... ok
+cmplepd_1 ... ok
+cmplepd_2 ... ok
+cmpneqpd_1 ... ok
+cmpneqpd_2 ... ok
+cmpnltpd_1 ... ok
+cmpnltpd_2 ... ok
+cmpnlepd_1 ... ok
+cmpnlepd_2 ... ok
+cmpeqsd_1 ... ok
+cmpeqsd_2 ... ok
+cmpltsd_1 ... ok
+cmpltsd_2 ... ok
+cmplesd_1 ... ok
+cmplesd_2 ... ok
+cmpneqsd_1 ... ok
+cmpneqsd_2 ... ok
+cmpnltsd_1 ... ok
+cmpnltsd_2 ... ok
+cmpnlesd_1 ... ok
+cmpnlesd_2 ... ok
+comisd_1 ... ok
+comisd_2 ... ok
+comisd_3 ... ok
+comisd_4 ... ok
+comisd_5 ... ok
+comisd_6 ... ok
+cvtdq2pd_1 ... ok
+cvtdq2pd_2 ... ok
+cvtdq2ps_1 ... ok
+cvtdq2ps_2 ... ok
+cvtpd2dq_1 ... ok
+cvtpd2dq_2 ... ok
+cvtpd2pi_1 ... ok
+cvtpd2pi_2 ... ok
+cvtpd2ps_1 ... ok
+cvtpd2ps_2 ... ok
+cvtpi2pd_1 ... ok
+cvtpi2pd_2 ... ok
+cvtps2dq_1 ... ok
+cvtps2dq_2 ... ok
+cvtps2pd_1 ... ok
+cvtps2pd_2 ... ok
+cvtsd2si_1 ... ok
+cvtsd2si_2 ... ok
+cvtsd2ss_1 ... ok
+cvtsd2ss_2 ... ok
+cvtsi2sd_1 ... ok
+cvtsi2sd_2 ... ok
+cvtss2sd_1 ... ok
+cvtss2sd_2 ... ok
+cvttpd2pi_1 ... ok
+cvttpd2pi_2 ... ok
+cvttpd2dq_1 ... ok
+cvttpd2dq_2 ... ok
+cvttps2dq_1 ... ok
+cvttps2dq_2 ... ok
+cvttsd2si_1 ... ok
+cvttsd2si_2 ... ok
+divpd_1 ... ok
+divpd_2 ... ok
+divsd_1 ... ok
+divsd_2 ... ok
+maxpd_1 ... ok
+maxpd_2 ... ok
+maxsd_1 ... ok
+maxsd_2 ... ok
+minpd_1 ... ok
+minpd_2 ... ok
+minsd_1 ... ok
+minsd_2 ... ok
+movapd_1 ... ok
+movapd_2 ... ok
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movdqa_1 ... ok
+movdqa_2 ... ok
+movdqa_3 ... ok
+movdqu_1 ... ok
+movdqu_2 ... ok
+movdqu_3 ... ok
+movdq2q_1 ... ok
+movhpd_1 ... ok
+movhpd_2 ... ok
+movlpd_1 ... ok
+movlpd_2 ... ok
+movmskpd_1 ... ok
+movntdq_1 ... ok
+movnti_1 ... ok
+movntpd_1 ... ok
+movq2dq_1 ... ok
+movsd_1 ... ok
+movsd_2 ... ok
+movsd_3 ... ok
+movupd_1 ... ok
+movupd_2 ... ok
+mulpd_1 ... ok
+mulpd_2 ... ok
+mulsd_1 ... ok
+mulsd_2 ... ok
+orpd_1 ... ok
+orpd_2 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddq_1 ... ok
+paddq_2 ... ok
+paddq_3 ... ok
+paddq_4 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pextrw_5 ... ok
+pextrw_6 ... ok
+pextrw_7 ... ok
+pextrw_8 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+pmuludq_1 ... ok
+pmuludq_2 ... ok
+pmuludq_3 ... ok
+pmuludq_4 ... ok
+por_1 ... ok
+por_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufd_1 ... ok
+pshufd_2 ... ok
+pshufhw_1 ... ok
+pshufhw_2 ... ok
+pshuflw_1 ... ok
+pshuflw_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+pslldq_1 ... ok
+pslldq_2 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrldq_1 ... ok
+psrldq_2 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubq_1 ... ok
+psubq_2 ... ok
+psubq_3 ... ok
+psubq_4 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhqdq_1 ... ok
+punpckhqdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklqdq_1 ... ok
+punpcklqdq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
+shufpd_1 ... ok
+shufpd_2 ... ok
+sqrtpd_1 ... ok
+sqrtpd_2 ... ok
+sqrtsd_1 ... ok
+sqrtsd_2 ... ok
+subpd_1 ... ok
+subpd_2 ... ok
+subsd_1 ... ok
+subsd_2 ... ok
+ucomisd_1 ... ok
+ucomisd_2 ... ok
+ucomisd_3 ... ok
+ucomisd_4 ... ok
+ucomisd_5 ... ok
+ucomisd_6 ... ok
+unpckhpd_1 ... ok
+unpckhpd_2 ... ok
+unpcklpd_1 ... ok
+unpcklpd_2 ... ok
+xorpd_1 ... ok
+xorpd_2 ... ok
diff --git a/helgrind/tests/insn_sse2.vgtest b/helgrind/tests/insn_sse2.vgtest
new file mode 100644
index 00000000..42e82f38
--- /dev/null
+++ b/helgrind/tests/insn_sse2.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse2
+cpu_test: sse2
diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
index 2a2c7e57..1c318345 100644
--- a/memcheck/tests/Makefile.am
+++ b/memcheck/tests/Makefile.am
@@ -29,6 +29,8 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
fwrite.stderr.exp fwrite.stdout.exp fwrite.vgtest \
inits.stderr.exp inits.vgtest \
inline.stderr.exp inline.stdout.exp inline.vgtest \
+ insn_basic.vgtest insn_cmov.vgtest insn_mmx.vgtest \
+ insn_mmxext.vgtest insn_sse.vgtest insn_sse2.vgtest \
malloc1.stderr.exp malloc1.vgtest \
malloc2.stderr.exp malloc2.vgtest \
malloc3.stderr.exp malloc3.stdout.exp malloc3.vgtest \
diff --git a/memcheck/tests/insn_basic.stderr.exp b/memcheck/tests/insn_basic.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/memcheck/tests/insn_basic.stderr.exp
diff --git a/memcheck/tests/insn_basic.stdout.exp b/memcheck/tests/insn_basic.stdout.exp
new file mode 100644
index 00000000..40cabbcd
--- /dev/null
+++ b/memcheck/tests/insn_basic.stdout.exp
@@ -0,0 +1,1083 @@
+aaa_1 ... ok
+aaa_2 ... ok
+aaa_3 ... ok
+aaa_4 ... ok
+aaa_5 ... ok
+aaa_6 ... ok
+aaa_7 ... ok
+aaa_8 ... ok
+aad_1 ... ok
+aad_2 ... ok
+aam_1 ... ok
+aam_2 ... ok
+aas_1 ... ok
+aas_2 ... ok
+aas_3 ... ok
+aas_4 ... ok
+aas_5 ... ok
+aas_6 ... ok
+aas_7 ... ok
+aas_8 ... ok
+adcb_1 ... ok
+adcb_2 ... ok
+adcb_3 ... ok
+adcb_4 ... ok
+adcb_5 ... ok
+adcb_6 ... ok
+adcb_7 ... ok
+adcb_8 ... ok
+adcb_9 ... ok
+adcb_10 ... ok
+adcb_11 ... ok
+adcb_12 ... ok
+adcw_1 ... ok
+adcw_2 ... ok
+adcw_3 ... ok
+adcw_4 ... ok
+adcw_5 ... ok
+adcw_6 ... ok
+adcw_7 ... ok
+adcw_8 ... ok
+adcw_9 ... ok
+adcw_10 ... ok
+adcw_11 ... ok
+adcw_12 ... ok
+adcw_13 ... ok
+adcw_14 ... ok
+adcl_1 ... ok
+adcl_2 ... ok
+adcl_3 ... ok
+adcl_4 ... ok
+adcl_5 ... ok
+adcl_6 ... ok
+adcl_7 ... ok
+adcl_8 ... ok
+adcl_9 ... ok
+adcl_10 ... ok
+adcl_11 ... ok
+adcl_12 ... ok
+adcl_13 ... ok
+adcl_14 ... ok
+addb_1 ... ok
+addb_2 ... ok
+addb_3 ... ok
+addb_4 ... ok
+addb_5 ... ok
+addb_6 ... ok
+addw_1 ... ok
+addw_2 ... ok
+addw_3 ... ok
+addw_4 ... ok
+addw_5 ... ok
+addw_6 ... ok
+addw_7 ... ok
+addl_1 ... ok
+addl_2 ... ok
+addl_3 ... ok
+addl_4 ... ok
+addl_5 ... ok
+addl_6 ... ok
+addl_7 ... ok
+andb_1 ... ok
+andb_2 ... ok
+andb_3 ... ok
+andb_4 ... ok
+andb_5 ... ok
+andb_6 ... ok
+andw_1 ... ok
+andw_2 ... ok
+andw_3 ... ok
+andw_4 ... ok
+andw_5 ... ok
+andw_6 ... ok
+andw_7 ... ok
+andl_1 ... ok
+andl_2 ... ok
+andl_3 ... ok
+andl_4 ... ok
+andl_5 ... ok
+andl_6 ... ok
+andl_7 ... ok
+bsfw_1 ... ok
+bsfw_2 ... ok
+bsfl_1 ... ok
+bsfl_2 ... ok
+bsrw_1 ... ok
+bsrw_2 ... ok
+bsrl_1 ... ok
+bsrl_2 ... ok
+bswapl_1 ... ok
+btw_1 ... ok
+btw_2 ... ok
+btw_3 ... ok
+btw_4 ... ok
+btw_5 ... ok
+btw_6 ... ok
+btw_7 ... ok
+btw_8 ... ok
+btl_1 ... ok
+btl_2 ... ok
+btl_3 ... ok
+btl_4 ... ok
+btl_5 ... ok
+btl_6 ... ok
+btl_7 ... ok
+btl_8 ... ok
+btcw_1 ... ok
+btcw_2 ... ok
+btcw_3 ... ok
+btcw_4 ... ok
+btcw_5 ... ok
+btcw_6 ... ok
+btcw_7 ... ok
+btcw_8 ... ok
+btcl_1 ... ok
+btcl_2 ... ok
+btcl_3 ... ok
+btcl_4 ... ok
+btcl_5 ... ok
+btcl_6 ... ok
+btcl_7 ... ok
+btcl_8 ... ok
+btrw_1 ... ok
+btrw_2 ... ok
+btrw_3 ... ok
+btrw_4 ... ok
+btrw_5 ... ok
+btrw_6 ... ok
+btrw_7 ... ok
+btrw_8 ... ok
+btrl_1 ... ok
+btrl_2 ... ok
+btrl_3 ... ok
+btrl_4 ... ok
+btrl_5 ... ok
+btrl_6 ... ok
+btrl_7 ... ok
+btrl_8 ... ok
+btsw_1 ... ok
+btsw_2 ... ok
+btsw_3 ... ok
+btsw_4 ... ok
+btsw_5 ... ok
+btsw_6 ... ok
+btsw_7 ... ok
+btsw_8 ... ok
+btsl_1 ... ok
+btsl_2 ... ok
+btsl_3 ... ok
+btsl_4 ... ok
+btsl_5 ... ok
+btsl_6 ... ok
+btsl_7 ... ok
+btsl_8 ... ok
+cbw_1 ... ok
+cbw_2 ... ok
+cdq_1 ... ok
+cdq_2 ... ok
+clc_1 ... ok
+clc_2 ... ok
+cld_1 ... ok
+cld_2 ... ok
+cmc_1 ... ok
+cmc_2 ... ok
+cmpb_1 ... ok
+cmpb_2 ... ok
+cmpb_3 ... ok
+cmpb_4 ... ok
+cmpb_5 ... ok
+cmpb_6 ... ok
+cmpb_7 ... ok
+cmpb_8 ... ok
+cmpb_9 ... ok
+cmpb_10 ... ok
+cmpb_11 ... ok
+cmpb_12 ... ok
+cmpb_13 ... ok
+cmpb_14 ... ok
+cmpb_15 ... ok
+cmpb_16 ... ok
+cmpb_17 ... ok
+cmpb_18 ... ok
+cmpb_19 ... ok
+cmpb_20 ... ok
+cmpb_21 ... ok
+cmpb_22 ... ok
+cmpb_23 ... ok
+cmpb_24 ... ok
+cmpb_25 ... ok
+cmpb_26 ... ok
+cmpb_27 ... ok
+cmpb_28 ... ok
+cmpb_29 ... ok
+cmpb_30 ... ok
+cmpb_31 ... ok
+cmpb_32 ... ok
+cmpb_33 ... ok
+cmpb_34 ... ok
+cmpb_35 ... ok
+cmpb_36 ... ok
+cmpb_37 ... ok
+cmpb_38 ... ok
+cmpb_39 ... ok
+cmpb_40 ... ok
+cmpb_41 ... ok
+cmpb_42 ... ok
+cmpb_43 ... ok
+cmpb_44 ... ok
+cmpb_45 ... ok
+cmpb_46 ... ok
+cmpb_47 ... ok
+cmpb_48 ... ok
+cmpb_49 ... ok
+cmpb_50 ... ok
+cmpb_51 ... ok
+cmpb_52 ... ok
+cmpb_53 ... ok
+cmpb_54 ... ok
+cmpb_55 ... ok
+cmpb_56 ... ok
+cmpb_57 ... ok
+cmpb_58 ... ok
+cmpb_59 ... ok
+cmpb_60 ... ok
+cmpw_1 ... ok
+cmpw_2 ... ok
+cmpw_3 ... ok
+cmpw_4 ... ok
+cmpw_5 ... ok
+cmpw_6 ... ok
+cmpw_7 ... ok
+cmpw_8 ... ok
+cmpw_9 ... ok
+cmpw_10 ... ok
+cmpw_11 ... ok
+cmpw_12 ... ok
+cmpw_13 ... ok
+cmpw_14 ... ok
+cmpw_15 ... ok
+cmpw_16 ... ok
+cmpw_17 ... ok
+cmpw_18 ... ok
+cmpw_19 ... ok
+cmpw_20 ... ok
+cmpw_21 ... ok
+cmpw_22 ... ok
+cmpw_23 ... ok
+cmpw_24 ... ok
+cmpw_25 ... ok
+cmpw_26 ... ok
+cmpw_27 ... ok
+cmpw_28 ... ok
+cmpw_29 ... ok
+cmpw_30 ... ok
+cmpw_31 ... ok
+cmpw_32 ... ok
+cmpw_33 ... ok
+cmpw_34 ... ok
+cmpw_35 ... ok
+cmpw_36 ... ok
+cmpw_37 ... ok
+cmpw_38 ... ok
+cmpw_39 ... ok
+cmpw_40 ... ok
+cmpw_41 ... ok
+cmpw_42 ... ok
+cmpw_43 ... ok
+cmpw_44 ... ok
+cmpw_45 ... ok
+cmpw_46 ... ok
+cmpw_47 ... ok
+cmpw_48 ... ok
+cmpw_49 ... ok
+cmpw_50 ... ok
+cmpw_51 ... ok
+cmpw_52 ... ok
+cmpw_53 ... ok
+cmpw_54 ... ok
+cmpw_55 ... ok
+cmpw_56 ... ok
+cmpw_57 ... ok
+cmpw_58 ... ok
+cmpw_59 ... ok
+cmpw_60 ... ok
+cmpw_61 ... ok
+cmpw_62 ... ok
+cmpw_63 ... ok
+cmpw_64 ... ok
+cmpw_65 ... ok
+cmpw_66 ... ok
+cmpw_67 ... ok
+cmpw_68 ... ok
+cmpw_69 ... ok
+cmpw_70 ... ok
+cmpw_71 ... ok
+cmpw_72 ... ok
+cmpw_73 ... ok
+cmpw_74 ... ok
+cmpw_75 ... ok
+cmpw_76 ... ok
+cmpw_77 ... ok
+cmpw_78 ... ok
+cmpw_79 ... ok
+cmpw_80 ... ok
+cmpl_1 ... ok
+cmpl_2 ... ok
+cmpl_3 ... ok
+cmpl_4 ... ok
+cmpl_5 ... ok
+cmpl_6 ... ok
+cmpl_7 ... ok
+cmpl_8 ... ok
+cmpl_9 ... ok
+cmpl_10 ... ok
+cmpl_11 ... ok
+cmpl_12 ... ok
+cmpl_13 ... ok
+cmpl_14 ... ok
+cmpl_15 ... ok
+cmpl_16 ... ok
+cmpl_17 ... ok
+cmpl_18 ... ok
+cmpl_19 ... ok
+cmpl_20 ... ok
+cmpl_21 ... ok
+cmpl_22 ... ok
+cmpl_23 ... ok
+cmpl_24 ... ok
+cmpl_25 ... ok
+cmpl_26 ... ok
+cmpl_27 ... ok
+cmpl_28 ... ok
+cmpl_29 ... ok
+cmpl_30 ... ok
+cmpl_31 ... ok
+cmpl_32 ... ok
+cmpl_33 ... ok
+cmpl_34 ... ok
+cmpl_35 ... ok
+cmpl_36 ... ok
+cmpl_37 ... ok
+cmpl_38 ... ok
+cmpl_39 ... ok
+cmpl_40 ... ok
+cmpl_41 ... ok
+cmpl_42 ... ok
+cmpl_43 ... ok
+cmpl_44 ... ok
+cmpl_45 ... ok
+cmpl_46 ... ok
+cmpl_47 ... ok
+cmpl_48 ... ok
+cmpl_49 ... ok
+cmpl_50 ... ok
+cmpl_51 ... ok
+cmpl_52 ... ok
+cmpl_53 ... ok
+cmpl_54 ... ok
+cmpl_55 ... ok
+cmpl_56 ... ok
+cmpl_57 ... ok
+cmpl_58 ... ok
+cmpl_59 ... ok
+cmpl_60 ... ok
+cmpl_61 ... ok
+cmpl_62 ... ok
+cmpl_63 ... ok
+cmpl_64 ... ok
+cmpl_65 ... ok
+cmpl_66 ... ok
+cmpl_67 ... ok
+cmpl_68 ... ok
+cmpl_69 ... ok
+cmpl_70 ... ok
+cmpl_71 ... ok
+cmpl_72 ... ok
+cmpl_73 ... ok
+cmpl_74 ... ok
+cmpl_75 ... ok
+cmpl_76 ... ok
+cmpl_77 ... ok
+cmpl_78 ... ok
+cmpl_79 ... ok
+cmpl_80 ... ok
+cmpxchgb_1 ... ok
+cmpxchgb_2 ... ok
+cmpxchgb_3 ... ok
+cmpxchgb_4 ... ok
+cmpxchgw_1 ... ok
+cmpxchgw_2 ... ok
+cmpxchgw_3 ... ok
+cmpxchgw_4 ... ok
+cmpxchgl_1 ... ok
+cmpxchgl_2 ... ok
+cmpxchgl_3 ... ok
+cmpxchgl_4 ... ok
+cwd_1 ... ok
+cwd_2 ... ok
+cwde_1 ... ok
+cwde_2 ... ok
+daa_1 ... ok
+daa_2 ... ok
+das_1 ... ok
+decb_1 ... ok
+decb_2 ... ok
+decw_1 ... ok
+decw_2 ... ok
+decl_1 ... ok
+decl_2 ... ok
+divb_1 ... ok
+divb_2 ... ok
+divw_1 ... ok
+divw_2 ... ok
+divl_1 ... ok
+divl_2 ... ok
+idivb_1 ... ok
+idivb_2 ... ok
+idivw_1 ... ok
+idivw_2 ... ok
+idivl_1 ... ok
+idivl_2 ... ok
+imulb_1 ... ok
+imulb_2 ... ok
+imulw_1 ... ok
+imulw_2 ... ok
+imull_1 ... ok
+imull_2 ... ok
+imulw_3 ... ok
+imulw_4 ... ok
+imulw_5 ... ok
+imulw_6 ... ok
+imulw_7 ... ok
+imulw_8 ... ok
+imulw_9 ... ok
+imulw_10 ... ok
+imull_3 ... ok
+imull_4 ... ok
+imull_5 ... ok
+imull_6 ... ok
+imull_7 ... ok
+imull_8 ... ok
+imull_9 ... ok
+imull_10 ... ok
+incb_1 ... ok
+incb_2 ... ok
+incw_1 ... ok
+incw_2 ... ok
+incl_1 ... ok
+incl_2 ... ok
+lahf_1 ... ok
+lahf_2 ... ok
+movb_1 ... ok
+movb_2 ... ok
+movb_3 ... ok
+movb_4 ... ok
+movb_5 ... ok
+movw_1 ... ok
+movw_2 ... ok
+movw_3 ... ok
+movw_4 ... ok
+movw_5 ... ok
+movl_1 ... ok
+movl_2 ... ok
+movl_3 ... ok
+movl_4 ... ok
+movl_5 ... ok
+movsbw_1 ... ok
+movsbw_2 ... ok
+movsbl_1 ... ok
+movsbl_2 ... ok
+movswl_1 ... ok
+movswl_2 ... ok
+movzbw_1 ... ok
+movzbw_2 ... ok
+movzbl_1 ... ok
+movzbl_2 ... ok
+movzwl_1 ... ok
+movzwl_2 ... ok
+mulb_1 ... ok
+mulb_2 ... ok
+mulw_1 ... ok
+mulw_2 ... ok
+mull_1 ... ok
+mull_2 ... ok
+negb_1 ... ok
+negb_2 ... ok
+negw_1 ... ok
+negw_2 ... ok
+negl_1 ... ok
+negl_2 ... ok
+notb_1 ... ok
+notb_2 ... ok
+notw_1 ... ok
+notw_2 ... ok
+notl_1 ... ok
+notl_2 ... ok
+orb_1 ... ok
+orb_2 ... ok
+orb_3 ... ok
+orb_4 ... ok
+orb_5 ... ok
+orb_6 ... ok
+orw_1 ... ok
+orw_2 ... ok
+orw_3 ... ok
+orw_4 ... ok
+orw_5 ... ok
+orw_6 ... ok
+orw_7 ... ok
+orl_1 ... ok
+orl_2 ... ok
+orl_3 ... ok
+orl_4 ... ok
+orl_5 ... ok
+orl_6 ... ok
+orl_7 ... ok
+rclb_1 ... ok
+rclb_2 ... ok
+rclb_3 ... ok
+rclb_4 ... ok
+rclb_5 ... ok
+rclb_6 ... ok
+rclw_1 ... ok
+rclw_2 ... ok
+rclw_3 ... ok
+rclw_4 ... ok
+rclw_5 ... ok
+rclw_6 ... ok
+rcll_1 ... ok
+rcll_2 ... ok
+rcll_3 ... ok
+rcll_4 ... ok
+rcll_5 ... ok
+rcll_6 ... ok
+rcrb_1 ... ok
+rcrb_2 ... ok
+rcrb_3 ... ok
+rcrb_4 ... ok
+rcrb_5 ... ok
+rcrb_6 ... ok
+rcrw_1 ... ok
+rcrw_2 ... ok
+rcrw_3 ... ok
+rcrw_4 ... ok
+rcrw_5 ... ok
+rcrw_6 ... ok
+rcrl_1 ... ok
+rcrl_2 ... ok
+rcrl_3 ... ok
+rcrl_4 ... ok
+rcrl_5 ... ok
+rcrl_6 ... ok
+rolb_1 ... ok
+rolb_2 ... ok
+rolb_3 ... ok
+rolb_4 ... ok
+rolb_5 ... ok
+rolb_6 ... ok
+rolw_1 ... ok
+rolw_2 ... ok
+rolw_3 ... ok
+rolw_4 ... ok
+rolw_5 ... ok
+rolw_6 ... ok
+roll_1 ... ok
+roll_2 ... ok
+roll_3 ... ok
+roll_4 ... ok
+roll_5 ... ok
+roll_6 ... ok
+rorb_1 ... ok
+rorb_2 ... ok
+rorb_3 ... ok
+rorb_4 ... ok
+rorb_5 ... ok
+rorb_6 ... ok
+rorw_1 ... ok
+rorw_2 ... ok
+rorw_3 ... ok
+rorw_4 ... ok
+rorw_5 ... ok
+rorw_6 ... ok
+rorl_1 ... ok
+rorl_2 ... ok
+rorl_3 ... ok
+rorl_4 ... ok
+rorl_5 ... ok
+rorl_6 ... ok
+sahf_1 ... ok
+sahf_2 ... ok
+salb_1 ... ok
+salb_2 ... ok
+salb_3 ... ok
+salb_4 ... ok
+salb_5 ... ok
+salb_6 ... ok
+salw_1 ... ok
+salw_2 ... ok
+salw_3 ... ok
+salw_4 ... ok
+salw_5 ... ok
+salw_6 ... ok
+sall_1 ... ok
+sall_2 ... ok
+sall_3 ... ok
+sall_4 ... ok
+sall_5 ... ok
+sall_6 ... ok
+sarb_1 ... ok
+sarb_2 ... ok
+sarb_3 ... ok
+sarb_4 ... ok
+sarb_5 ... ok
+sarb_6 ... ok
+sarw_1 ... ok
+sarw_2 ... ok
+sarw_3 ... ok
+sarw_4 ... ok
+sarw_5 ... ok
+sarw_6 ... ok
+sarl_1 ... ok
+sarl_2 ... ok
+sarl_3 ... ok
+sarl_4 ... ok
+sarl_5 ... ok
+sarl_6 ... ok
+sbbb_1 ... ok
+sbbb_2 ... ok
+sbbb_3 ... ok
+sbbb_4 ... ok
+sbbb_5 ... ok
+sbbb_6 ... ok
+sbbb_7 ... ok
+sbbb_8 ... ok
+sbbb_9 ... ok
+sbbb_10 ... ok
+sbbb_11 ... ok
+sbbb_12 ... ok
+sbbw_1 ... ok
+sbbw_2 ... ok
+sbbw_3 ... ok
+sbbw_4 ... ok
+sbbw_5 ... ok
+sbbw_6 ... ok
+sbbw_7 ... ok
+sbbw_8 ... ok
+sbbw_9 ... ok
+sbbw_10 ... ok
+sbbw_11 ... ok
+sbbw_12 ... ok
+sbbw_13 ... ok
+sbbw_14 ... ok
+sbbl_1 ... ok
+sbbl_2 ... ok
+sbbl_3 ... ok
+sbbl_4 ... ok
+sbbl_5 ... ok
+sbbl_6 ... ok
+sbbl_7 ... ok
+sbbl_8 ... ok
+sbbl_9 ... ok
+sbbl_10 ... ok
+sbbl_11 ... ok
+sbbl_12 ... ok
+sbbl_13 ... ok
+sbbl_14 ... ok
+seta_1 ... ok
+seta_2 ... ok
+seta_3 ... ok
+seta_4 ... ok
+seta_5 ... ok
+seta_6 ... ok
+seta_7 ... ok
+seta_8 ... ok
+setae_1 ... ok
+setae_2 ... ok
+setae_3 ... ok
+setae_4 ... ok
+setb_1 ... ok
+setb_2 ... ok
+setb_3 ... ok
+setb_4 ... ok
+setbe_1 ... ok
+setbe_2 ... ok
+setbe_3 ... ok
+setbe_4 ... ok
+setbe_5 ... ok
+setbe_6 ... ok
+setbe_7 ... ok
+setbe_8 ... ok
+setc_1 ... ok
+setc_2 ... ok
+setc_3 ... ok
+setc_4 ... ok
+sete_1 ... ok
+sete_2 ... ok
+sete_3 ... ok
+sete_4 ... ok
+setg_1 ... ok
+setg_2 ... ok
+setg_3 ... ok
+setg_4 ... ok
+setg_5 ... ok
+setg_6 ... ok
+setg_7 ... ok
+setg_8 ... ok
+setg_9 ... ok
+setg_10 ... ok
+setg_11 ... ok
+setg_12 ... ok
+setg_13 ... ok
+setg_14 ... ok
+setg_15 ... ok
+setg_16 ... ok
+setge_1 ... ok
+setge_2 ... ok
+setge_3 ... ok
+setge_4 ... ok
+setge_5 ... ok
+setge_6 ... ok
+setge_7 ... ok
+setge_8 ... ok
+setl_1 ... ok
+setl_2 ... ok
+setl_3 ... ok
+setl_4 ... ok
+setl_5 ... ok
+setl_6 ... ok
+setl_7 ... ok
+setl_8 ... ok
+setle_1 ... ok
+setle_2 ... ok
+setle_3 ... ok
+setle_4 ... ok
+setle_5 ... ok
+setle_6 ... ok
+setle_7 ... ok
+setle_8 ... ok
+setle_9 ... ok
+setle_10 ... ok
+setle_11 ... ok
+setle_12 ... ok
+setle_13 ... ok
+setle_14 ... ok
+setle_15 ... ok
+setle_16 ... ok
+setna_1 ... ok
+setna_2 ... ok
+setna_3 ... ok
+setna_4 ... ok
+setna_5 ... ok
+setna_6 ... ok
+setna_7 ... ok
+setna_8 ... ok
+setnae_1 ... ok
+setnae_2 ... ok
+setnae_3 ... ok
+setnae_4 ... ok
+setnb_1 ... ok
+setnb_2 ... ok
+setnb_3 ... ok
+setnb_4 ... ok
+setnbe_1 ... ok
+setnbe_2 ... ok
+setnbe_3 ... ok
+setnbe_4 ... ok
+setnbe_5 ... ok
+setnbe_6 ... ok
+setnbe_7 ... ok
+setnbe_8 ... ok
+setnc_1 ... ok
+setnc_2 ... ok
+setnc_3 ... ok
+setnc_4 ... ok
+setne_1 ... ok
+setne_2 ... ok
+setne_3 ... ok
+setne_4 ... ok
+setng_1 ... ok
+setng_2 ... ok
+setng_3 ... ok
+setng_4 ... ok
+setng_5 ... ok
+setng_6 ... ok
+setng_7 ... ok
+setng_8 ... ok
+setng_9 ... ok
+setng_10 ... ok
+setng_11 ... ok
+setng_12 ... ok
+setng_13 ... ok
+setng_14 ... ok
+setng_15 ... ok
+setng_16 ... ok
+setnge_1 ... ok
+setnge_2 ... ok
+setnge_3 ... ok
+setnge_4 ... ok
+setnge_5 ... ok
+setnge_6 ... ok
+setnge_7 ... ok
+setnge_8 ... ok
+setnl_1 ... ok
+setnl_2 ... ok
+setnl_3 ... ok
+setnl_4 ... ok
+setnl_5 ... ok
+setnl_6 ... ok
+setnl_7 ... ok
+setnl_8 ... ok
+setnle_1 ... ok
+setnle_2 ... ok
+setnle_3 ... ok
+setnle_4 ... ok
+setnle_5 ... ok
+setnle_6 ... ok
+setnle_7 ... ok
+setnle_8 ... ok
+setnle_9 ... ok
+setnle_10 ... ok
+setnle_11 ... ok
+setnle_12 ... ok
+setnle_13 ... ok
+setnle_14 ... ok
+setnle_15 ... ok
+setnle_16 ... ok
+setno_1 ... ok
+setno_2 ... ok
+setno_3 ... ok
+setno_4 ... ok
+setnp_1 ... ok
+setnp_2 ... ok
+setnp_3 ... ok
+setnp_4 ... ok
+setns_1 ... ok
+setns_2 ... ok
+setns_3 ... ok
+setns_4 ... ok
+setnz_1 ... ok
+setnz_2 ... ok
+setnz_3 ... ok
+setnz_4 ... ok
+seto_1 ... ok
+seto_2 ... ok
+seto_3 ... ok
+seto_4 ... ok
+setp_1 ... ok
+setp_2 ... ok
+setp_3 ... ok
+setp_4 ... ok
+sets_1 ... ok
+sets_2 ... ok
+sets_3 ... ok
+sets_4 ... ok
+setz_1 ... ok
+setz_2 ... ok
+setz_3 ... ok
+setz_4 ... ok
+shlb_1 ... ok
+shlb_2 ... ok
+shlb_3 ... ok
+shlb_4 ... ok
+shlb_5 ... ok
+shlb_6 ... ok
+shlw_1 ... ok
+shlw_2 ... ok
+shlw_3 ... ok
+shlw_4 ... ok
+shlw_5 ... ok
+shlw_6 ... ok
+shll_1 ... ok
+shll_2 ... ok
+shll_3 ... ok
+shll_4 ... ok
+shll_5 ... ok
+shll_6 ... ok
+shrb_1 ... ok
+shrb_2 ... ok
+shrb_3 ... ok
+shrb_4 ... ok
+shrb_5 ... ok
+shrb_6 ... ok
+shrw_1 ... ok
+shrw_2 ... ok
+shrw_3 ... ok
+shrw_4 ... ok
+shrw_5 ... ok
+shrw_6 ... ok
+shrl_1 ... ok
+shrl_2 ... ok
+shrl_3 ... ok
+shrl_4 ... ok
+shrl_5 ... ok
+shrl_6 ... ok
+shldw_1 ... ok
+shldw_2 ... ok
+shldw_3 ... ok
+shldw_4 ... ok
+shldw_5 ... ok
+shldw_6 ... ok
+shldw_7 ... ok
+shldw_8 ... ok
+shldl_1 ... ok
+shldl_2 ... ok
+shldl_3 ... ok
+shldl_4 ... ok
+shldl_5 ... ok
+shldl_6 ... ok
+shldl_7 ... ok
+shldl_8 ... ok
+shrdw_1 ... ok
+shrdw_2 ... ok
+shrdw_3 ... ok
+shrdw_4 ... ok
+shrdw_5 ... ok
+shrdw_6 ... ok
+shrdw_7 ... ok
+shrdw_8 ... ok
+shrdl_1 ... ok
+shrdl_2 ... ok
+shrdl_3 ... ok
+shrdl_4 ... ok
+shrdl_5 ... ok
+shrdl_6 ... ok
+shrdl_7 ... ok
+shrdl_8 ... ok
+stc_1 ... ok
+stc_2 ... ok
+std_1 ... ok
+std_2 ... ok
+subb_1 ... ok
+subb_2 ... ok
+subb_3 ... ok
+subb_4 ... ok
+subb_5 ... ok
+subb_6 ... ok
+subw_1 ... ok
+subw_2 ... ok
+subw_3 ... ok
+subw_4 ... ok
+subw_5 ... ok
+subw_6 ... ok
+subw_7 ... ok
+subl_1 ... ok
+subl_2 ... ok
+subl_3 ... ok
+subl_4 ... ok
+subl_5 ... ok
+subl_6 ... ok
+subl_7 ... ok
+testb_1 ... ok
+testb_2 ... ok
+testb_3 ... ok
+testb_4 ... ok
+testb_5 ... ok
+testb_6 ... ok
+testb_7 ... ok
+testb_8 ... ok
+testb_9 ... ok
+testb_10 ... ok
+testb_11 ... ok
+testb_12 ... ok
+testb_13 ... ok
+testb_14 ... ok
+testb_15 ... ok
+testb_16 ... ok
+testb_17 ... ok
+testb_18 ... ok
+testb_19 ... ok
+testb_20 ... ok
+testb_21 ... ok
+testb_22 ... ok
+testb_23 ... ok
+testb_24 ... ok
+testb_25 ... ok
+testw_1 ... ok
+testw_2 ... ok
+testw_3 ... ok
+testw_4 ... ok
+testw_5 ... ok
+testw_6 ... ok
+testw_7 ... ok
+testw_8 ... ok
+testw_9 ... ok
+testw_10 ... ok
+testw_11 ... ok
+testw_12 ... ok
+testw_13 ... ok
+testw_14 ... ok
+testw_15 ... ok
+testw_16 ... ok
+testw_17 ... ok
+testw_18 ... ok
+testw_19 ... ok
+testw_20 ... ok
+testw_21 ... ok
+testw_22 ... ok
+testw_23 ... ok
+testw_24 ... ok
+testw_25 ... ok
+testl_1 ... ok
+testl_2 ... ok
+testl_3 ... ok
+testl_4 ... ok
+testl_5 ... ok
+testl_6 ... ok
+testl_7 ... ok
+testl_8 ... ok
+testl_9 ... ok
+testl_10 ... ok
+testl_11 ... ok
+testl_12 ... ok
+testl_13 ... ok
+testl_14 ... ok
+testl_15 ... ok
+testl_16 ... ok
+testl_17 ... ok
+testl_18 ... ok
+testl_19 ... ok
+testl_20 ... ok
+testl_21 ... ok
+testl_22 ... ok
+testl_23 ... ok
+testl_24 ... ok
+testl_25 ... ok
+xaddb_1 ... ok
+xaddb_2 ... ok
+xaddw_1 ... ok
+xaddw_2 ... ok
+xaddl_1 ... ok
+xaddl_2 ... ok
+xchgb_1 ... ok
+xchgb_2 ... ok
+xchgb_3 ... ok
+xchgw_1 ... ok
+xchgw_2 ... ok
+xchgw_3 ... ok
+xchgw_4 ... ok
+xchgw_5 ... ok
+xchgl_1 ... ok
+xchgl_2 ... ok
+xchgl_3 ... ok
+xchgl_4 ... ok
+xchgl_5 ... ok
+xorb_1 ... ok
+xorb_2 ... ok
+xorb_3 ... ok
+xorb_4 ... ok
+xorb_5 ... ok
+xorb_6 ... ok
+xorw_1 ... ok
+xorw_2 ... ok
+xorw_3 ... ok
+xorw_4 ... ok
+xorw_5 ... ok
+xorw_6 ... ok
+xorw_7 ... ok
+xorl_1 ... ok
+xorl_2 ... ok
+xorl_3 ... ok
+xorl_4 ... ok
+xorl_5 ... ok
+xorl_6 ... ok
+xorl_7 ... ok
diff --git a/memcheck/tests/insn_basic.vgtest b/memcheck/tests/insn_basic.vgtest
new file mode 100644
index 00000000..f5329ea8
--- /dev/null
+++ b/memcheck/tests/insn_basic.vgtest
@@ -0,0 +1,2 @@
+vgopts: -q
+prog: ../../none/tests/insn_basic
diff --git a/memcheck/tests/insn_cmov.stderr.exp b/memcheck/tests/insn_cmov.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/memcheck/tests/insn_cmov.stderr.exp
diff --git a/memcheck/tests/insn_cmov.stdout.exp b/memcheck/tests/insn_cmov.stdout.exp
new file mode 100644
index 00000000..31ac1720
--- /dev/null
+++ b/memcheck/tests/insn_cmov.stdout.exp
@@ -0,0 +1,384 @@
+cmova_1 ... ok
+cmova_2 ... ok
+cmova_3 ... ok
+cmova_4 ... ok
+cmova_5 ... ok
+cmova_6 ... ok
+cmova_7 ... ok
+cmova_8 ... ok
+cmovae_1 ... ok
+cmovae_2 ... ok
+cmovae_3 ... ok
+cmovae_4 ... ok
+cmovb_1 ... ok
+cmovb_2 ... ok
+cmovb_3 ... ok
+cmovb_4 ... ok
+cmovbe_1 ... ok
+cmovbe_2 ... ok
+cmovbe_3 ... ok
+cmovbe_4 ... ok
+cmovbe_5 ... ok
+cmovbe_6 ... ok
+cmovbe_7 ... ok
+cmovbe_8 ... ok
+cmovc_1 ... ok
+cmovc_2 ... ok
+cmovc_3 ... ok
+cmovc_4 ... ok
+cmove_1 ... ok
+cmove_2 ... ok
+cmove_3 ... ok
+cmove_4 ... ok
+cmovg_1 ... ok
+cmovg_2 ... ok
+cmovg_3 ... ok
+cmovg_4 ... ok
+cmovg_5 ... ok
+cmovg_6 ... ok
+cmovg_7 ... ok
+cmovg_8 ... ok
+cmovg_9 ... ok
+cmovg_10 ... ok
+cmovg_11 ... ok
+cmovg_12 ... ok
+cmovg_13 ... ok
+cmovg_14 ... ok
+cmovg_15 ... ok
+cmovg_16 ... ok
+cmovge_1 ... ok
+cmovge_2 ... ok
+cmovge_3 ... ok
+cmovge_4 ... ok
+cmovge_5 ... ok
+cmovge_6 ... ok
+cmovge_7 ... ok
+cmovge_8 ... ok
+cmovl_1 ... ok
+cmovl_2 ... ok
+cmovl_3 ... ok
+cmovl_4 ... ok
+cmovl_5 ... ok
+cmovl_6 ... ok
+cmovl_7 ... ok
+cmovl_8 ... ok
+cmovle_1 ... ok
+cmovle_2 ... ok
+cmovle_3 ... ok
+cmovle_4 ... ok
+cmovle_5 ... ok
+cmovle_6 ... ok
+cmovle_7 ... ok
+cmovle_8 ... ok
+cmovle_9 ... ok
+cmovle_10 ... ok
+cmovle_11 ... ok
+cmovle_12 ... ok
+cmovle_13 ... ok
+cmovle_14 ... ok
+cmovle_15 ... ok
+cmovle_16 ... ok
+cmovna_1 ... ok
+cmovna_2 ... ok
+cmovna_3 ... ok
+cmovna_4 ... ok
+cmovna_5 ... ok
+cmovna_6 ... ok
+cmovna_7 ... ok
+cmovna_8 ... ok
+cmovnae_1 ... ok
+cmovnae_2 ... ok
+cmovnae_3 ... ok
+cmovnae_4 ... ok
+cmovnb_1 ... ok
+cmovnb_2 ... ok
+cmovnb_3 ... ok
+cmovnb_4 ... ok
+cmovnbe_1 ... ok
+cmovnbe_2 ... ok
+cmovnbe_3 ... ok
+cmovnbe_4 ... ok
+cmovnbe_5 ... ok
+cmovnbe_6 ... ok
+cmovnbe_7 ... ok
+cmovnbe_8 ... ok
+cmovnc_1 ... ok
+cmovnc_2 ... ok
+cmovnc_3 ... ok
+cmovnc_4 ... ok
+cmovne_1 ... ok
+cmovne_2 ... ok
+cmovne_3 ... ok
+cmovne_4 ... ok
+cmovng_1 ... ok
+cmovng_2 ... ok
+cmovng_3 ... ok
+cmovng_4 ... ok
+cmovng_5 ... ok
+cmovng_6 ... ok
+cmovng_7 ... ok
+cmovng_8 ... ok
+cmovng_9 ... ok
+cmovng_10 ... ok
+cmovng_11 ... ok
+cmovng_12 ... ok
+cmovng_13 ... ok
+cmovng_14 ... ok
+cmovng_15 ... ok
+cmovng_16 ... ok
+cmovnge_1 ... ok
+cmovnge_2 ... ok
+cmovnge_3 ... ok
+cmovnge_4 ... ok
+cmovnge_5 ... ok
+cmovnge_6 ... ok
+cmovnge_7 ... ok
+cmovnge_8 ... ok
+cmovnl_1 ... ok
+cmovnl_2 ... ok
+cmovnl_3 ... ok
+cmovnl_4 ... ok
+cmovnl_5 ... ok
+cmovnl_6 ... ok
+cmovnl_7 ... ok
+cmovnl_8 ... ok
+cmovnle_1 ... ok
+cmovnle_2 ... ok
+cmovnle_3 ... ok
+cmovnle_4 ... ok
+cmovnle_5 ... ok
+cmovnle_6 ... ok
+cmovnle_7 ... ok
+cmovnle_8 ... ok
+cmovnle_9 ... ok
+cmovnle_10 ... ok
+cmovnle_11 ... ok
+cmovnle_12 ... ok
+cmovnle_13 ... ok
+cmovnle_14 ... ok
+cmovnle_15 ... ok
+cmovnle_16 ... ok
+cmovno_1 ... ok
+cmovno_2 ... ok
+cmovno_3 ... ok
+cmovno_4 ... ok
+cmovnp_1 ... ok
+cmovnp_2 ... ok
+cmovnp_3 ... ok
+cmovnp_4 ... ok
+cmovns_1 ... ok
+cmovns_2 ... ok
+cmovns_3 ... ok
+cmovns_4 ... ok
+cmovnz_1 ... ok
+cmovnz_2 ... ok
+cmovnz_3 ... ok
+cmovnz_4 ... ok
+cmovo_1 ... ok
+cmovo_2 ... ok
+cmovo_3 ... ok
+cmovo_4 ... ok
+cmovp_1 ... ok
+cmovp_2 ... ok
+cmovp_3 ... ok
+cmovp_4 ... ok
+cmovs_1 ... ok
+cmovs_2 ... ok
+cmovs_3 ... ok
+cmovs_4 ... ok
+cmovz_1 ... ok
+cmovz_2 ... ok
+cmovz_3 ... ok
+cmovz_4 ... ok
+cmova_9 ... ok
+cmova_10 ... ok
+cmova_11 ... ok
+cmova_12 ... ok
+cmova_13 ... ok
+cmova_14 ... ok
+cmova_15 ... ok
+cmova_16 ... ok
+cmovae_5 ... ok
+cmovae_6 ... ok
+cmovae_7 ... ok
+cmovae_8 ... ok
+cmovb_5 ... ok
+cmovb_6 ... ok
+cmovb_7 ... ok
+cmovb_8 ... ok
+cmovbe_9 ... ok
+cmovbe_10 ... ok
+cmovbe_11 ... ok
+cmovbe_12 ... ok
+cmovbe_13 ... ok
+cmovbe_14 ... ok
+cmovbe_15 ... ok
+cmovbe_16 ... ok
+cmovc_5 ... ok
+cmovc_6 ... ok
+cmovc_7 ... ok
+cmovc_8 ... ok
+cmove_5 ... ok
+cmove_6 ... ok
+cmove_7 ... ok
+cmove_8 ... ok
+cmovg_17 ... ok
+cmovg_18 ... ok
+cmovg_19 ... ok
+cmovg_20 ... ok
+cmovg_21 ... ok
+cmovg_22 ... ok
+cmovg_23 ... ok
+cmovg_24 ... ok
+cmovg_25 ... ok
+cmovg_26 ... ok
+cmovg_27 ... ok
+cmovg_28 ... ok
+cmovg_29 ... ok
+cmovg_30 ... ok
+cmovg_31 ... ok
+cmovg_32 ... ok
+cmovge_9 ... ok
+cmovge_10 ... ok
+cmovge_11 ... ok
+cmovge_12 ... ok
+cmovge_13 ... ok
+cmovge_14 ... ok
+cmovge_15 ... ok
+cmovge_16 ... ok
+cmovl_9 ... ok
+cmovl_10 ... ok
+cmovl_11 ... ok
+cmovl_12 ... ok
+cmovl_13 ... ok
+cmovl_14 ... ok
+cmovl_15 ... ok
+cmovl_16 ... ok
+cmovle_17 ... ok
+cmovle_18 ... ok
+cmovle_19 ... ok
+cmovle_20 ... ok
+cmovle_21 ... ok
+cmovle_22 ... ok
+cmovle_23 ... ok
+cmovle_24 ... ok
+cmovle_25 ... ok
+cmovle_26 ... ok
+cmovle_27 ... ok
+cmovle_28 ... ok
+cmovle_29 ... ok
+cmovle_30 ... ok
+cmovle_31 ... ok
+cmovle_32 ... ok
+cmovna_9 ... ok
+cmovna_10 ... ok
+cmovna_11 ... ok
+cmovna_12 ... ok
+cmovna_13 ... ok
+cmovna_14 ... ok
+cmovna_15 ... ok
+cmovna_16 ... ok
+cmovnae_5 ... ok
+cmovnae_6 ... ok
+cmovnae_7 ... ok
+cmovnae_8 ... ok
+cmovnb_5 ... ok
+cmovnb_6 ... ok
+cmovnb_7 ... ok
+cmovnb_8 ... ok
+cmovnbe_9 ... ok
+cmovnbe_10 ... ok
+cmovnbe_11 ... ok
+cmovnbe_12 ... ok
+cmovnbe_13 ... ok
+cmovnbe_14 ... ok
+cmovnbe_15 ... ok
+cmovnbe_16 ... ok
+cmovnc_5 ... ok
+cmovnc_6 ... ok
+cmovnc_7 ... ok
+cmovnc_8 ... ok
+cmovne_5 ... ok
+cmovne_6 ... ok
+cmovne_7 ... ok
+cmovne_8 ... ok
+cmovng_17 ... ok
+cmovng_18 ... ok
+cmovng_19 ... ok
+cmovng_20 ... ok
+cmovng_21 ... ok
+cmovng_22 ... ok
+cmovng_23 ... ok
+cmovng_24 ... ok
+cmovng_25 ... ok
+cmovng_26 ... ok
+cmovng_27 ... ok
+cmovng_28 ... ok
+cmovng_29 ... ok
+cmovng_30 ... ok
+cmovng_31 ... ok
+cmovng_32 ... ok
+cmovnge_9 ... ok
+cmovnge_10 ... ok
+cmovnge_11 ... ok
+cmovnge_12 ... ok
+cmovnge_13 ... ok
+cmovnge_14 ... ok
+cmovnge_15 ... ok
+cmovnge_16 ... ok
+cmovnl_9 ... ok
+cmovnl_10 ... ok
+cmovnl_11 ... ok
+cmovnl_12 ... ok
+cmovnl_13 ... ok
+cmovnl_14 ... ok
+cmovnl_15 ... ok
+cmovnl_16 ... ok
+cmovnle_17 ... ok
+cmovnle_18 ... ok
+cmovnle_19 ... ok
+cmovnle_20 ... ok
+cmovnle_21 ... ok
+cmovnle_22 ... ok
+cmovnle_23 ... ok
+cmovnle_24 ... ok
+cmovnle_25 ... ok
+cmovnle_26 ... ok
+cmovnle_27 ... ok
+cmovnle_28 ... ok
+cmovnle_29 ... ok
+cmovnle_30 ... ok
+cmovnle_31 ... ok
+cmovnle_32 ... ok
+cmovno_5 ... ok
+cmovno_6 ... ok
+cmovno_7 ... ok
+cmovno_8 ... ok
+cmovnp_5 ... ok
+cmovnp_6 ... ok
+cmovnp_7 ... ok
+cmovnp_8 ... ok
+cmovns_5 ... ok
+cmovns_6 ... ok
+cmovns_7 ... ok
+cmovns_8 ... ok
+cmovnz_5 ... ok
+cmovnz_6 ... ok
+cmovnz_7 ... ok
+cmovnz_8 ... ok
+cmovo_5 ... ok
+cmovo_6 ... ok
+cmovo_7 ... ok
+cmovo_8 ... ok
+cmovp_5 ... ok
+cmovp_6 ... ok
+cmovp_7 ... ok
+cmovp_8 ... ok
+cmovs_5 ... ok
+cmovs_6 ... ok
+cmovs_7 ... ok
+cmovs_8 ... ok
+cmovz_5 ... ok
+cmovz_6 ... ok
+cmovz_7 ... ok
+cmovz_8 ... ok
diff --git a/memcheck/tests/insn_cmov.vgtest b/memcheck/tests/insn_cmov.vgtest
new file mode 100644
index 00000000..0321a3ca
--- /dev/null
+++ b/memcheck/tests/insn_cmov.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_cmov
+cpu_test: cmov
diff --git a/memcheck/tests/insn_mmx.stderr.exp b/memcheck/tests/insn_mmx.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/memcheck/tests/insn_mmx.stderr.exp
diff --git a/memcheck/tests/insn_mmx.stdout.exp b/memcheck/tests/insn_mmx.stdout.exp
new file mode 100644
index 00000000..95cbae16
--- /dev/null
+++ b/memcheck/tests/insn_mmx.stdout.exp
@@ -0,0 +1,103 @@
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movq_1 ... ok
+movq_2 ... ok
+movq_3 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+por_1 ... ok
+por_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
diff --git a/memcheck/tests/insn_mmx.vgtest b/memcheck/tests/insn_mmx.vgtest
new file mode 100644
index 00000000..ddbb9772
--- /dev/null
+++ b/memcheck/tests/insn_mmx.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmx
+cpu_test: mmx
diff --git a/memcheck/tests/insn_mmxext.stderr.exp b/memcheck/tests/insn_mmxext.stderr.exp
new file mode 100644
index 00000000..139597f9
--- /dev/null
+++ b/memcheck/tests/insn_mmxext.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/memcheck/tests/insn_mmxext.stdout.exp b/memcheck/tests/insn_mmxext.stdout.exp
new file mode 100644
index 00000000..631f7939
--- /dev/null
+++ b/memcheck/tests/insn_mmxext.stdout.exp
@@ -0,0 +1,28 @@
+movntq_1 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
diff --git a/memcheck/tests/insn_mmxext.vgtest b/memcheck/tests/insn_mmxext.vgtest
new file mode 100644
index 00000000..bb667097
--- /dev/null
+++ b/memcheck/tests/insn_mmxext.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_mmxext
+cpu_test: mmxext
diff --git a/memcheck/tests/insn_sse.stderr.exp b/memcheck/tests/insn_sse.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/memcheck/tests/insn_sse.stderr.exp
diff --git a/memcheck/tests/insn_sse.stdout.exp b/memcheck/tests/insn_sse.stdout.exp
new file mode 100644
index 00000000..c9ae0f15
--- /dev/null
+++ b/memcheck/tests/insn_sse.stdout.exp
@@ -0,0 +1,141 @@
+addps_1 ... ok
+addps_2 ... ok
+addss_1 ... ok
+addss_2 ... ok
+andnps_1 ... ok
+andnps_2 ... ok
+andps_1 ... ok
+andps_2 ... ok
+cmpeqps_1 ... ok
+cmpeqps_2 ... ok
+cmpeqss_1 ... ok
+cmpeqss_2 ... ok
+cmpleps_1 ... ok
+cmpleps_2 ... ok
+cmpless_1 ... ok
+cmpless_2 ... ok
+cmpltps_1 ... ok
+cmpltps_2 ... ok
+cmpltss_1 ... ok
+cmpltss_2 ... ok
+cmpneqps_1 ... ok
+cmpneqps_2 ... ok
+cmpneqss_1 ... ok
+cmpneqss_2 ... ok
+cmpnleps_1 ... ok
+cmpnleps_2 ... ok
+cmpnless_1 ... ok
+cmpnless_2 ... ok
+cmpnltps_1 ... ok
+cmpnltps_2 ... ok
+cmpnltss_1 ... ok
+cmpnltss_2 ... ok
+comiss_1 ... ok
+comiss_2 ... ok
+comiss_3 ... ok
+comiss_4 ... ok
+comiss_5 ... ok
+comiss_6 ... ok
+cvtpi2ps_1 ... ok
+cvtpi2ps_2 ... ok
+cvtps2pi_1 ... ok
+cvtps2pi_2 ... ok
+cvtsi2ss_1 ... ok
+cvtsi2ss_2 ... ok
+cvtss2si_1 ... ok
+cvtss2si_2 ... ok
+cvttps2pi_1 ... ok
+cvttps2pi_2 ... ok
+cvttss2si_1 ... ok
+cvttss2si_2 ... ok
+divps_1 ... ok
+divps_2 ... ok
+divss_1 ... ok
+divss_2 ... ok
+maxps_1 ... ok
+maxps_2 ... ok
+maxss_1 ... ok
+maxss_2 ... ok
+minps_1 ... ok
+minps_2 ... ok
+minss_1 ... ok
+minss_2 ... ok
+movaps_1 ... ok
+movaps_2 ... ok
+movhlps_1 ... ok
+movhps_1 ... ok
+movhps_2 ... ok
+movlhps_1 ... ok
+movlps_1 ... ok
+movlps_2 ... ok
+movmskps_1 ... ok
+movntps_1 ... ok
+movntq_1 ... ok
+movss_1 ... ok
+movss_2 ... ok
+movss_3 ... ok
+movups_1 ... ok
+movups_2 ... ok
+mulps_1 ... ok
+mulps_2 ... ok
+mulss_1 ... ok
+mulss_2 ... ok
+orps_1 ... ok
+orps_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufw_1 ... ok
+pshufw_2 ... ok
+rcpps_1 ... ok
+rcpps_2 ... ok
+rcpss_1 ... ok
+rcpss_2 ... ok
+rsqrtps_1 ... ok
+rsqrtps_2 ... ok
+rsqrtss_1 ... ok
+rsqrtss_2 ... ok
+shufps_1 ... ok
+shufps_2 ... ok
+sqrtps_1 ... ok
+sqrtps_2 ... ok
+sqrtss_1 ... ok
+sqrtss_2 ... ok
+subps_1 ... ok
+subps_2 ... ok
+subss_1 ... ok
+subss_2 ... ok
+ucomiss_1 ... ok
+ucomiss_2 ... ok
+ucomiss_3 ... ok
+ucomiss_4 ... ok
+ucomiss_5 ... ok
+ucomiss_6 ... ok
+unpckhps_1 ... ok
+unpckhps_2 ... ok
+unpcklps_1 ... ok
+unpcklps_2 ... ok
+xorps_1 ... ok
+xorps_2 ... ok
diff --git a/memcheck/tests/insn_sse.vgtest b/memcheck/tests/insn_sse.vgtest
new file mode 100644
index 00000000..167c8e29
--- /dev/null
+++ b/memcheck/tests/insn_sse.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse
+cpu_test: sse
diff --git a/memcheck/tests/insn_sse2.stderr.exp b/memcheck/tests/insn_sse2.stderr.exp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/memcheck/tests/insn_sse2.stderr.exp
diff --git a/memcheck/tests/insn_sse2.stdout.exp b/memcheck/tests/insn_sse2.stdout.exp
new file mode 100644
index 00000000..53340e76
--- /dev/null
+++ b/memcheck/tests/insn_sse2.stdout.exp
@@ -0,0 +1,292 @@
+addpd_1 ... ok
+addpd_2 ... ok
+addsd_1 ... ok
+addsd_2 ... ok
+andpd_1 ... ok
+andpd_2 ... ok
+andnpd_1 ... ok
+andnpd_2 ... ok
+cmpeqpd_1 ... ok
+cmpeqpd_2 ... ok
+cmpltpd_1 ... ok
+cmpltpd_2 ... ok
+cmplepd_1 ... ok
+cmplepd_2 ... ok
+cmpneqpd_1 ... ok
+cmpneqpd_2 ... ok
+cmpnltpd_1 ... ok
+cmpnltpd_2 ... ok
+cmpnlepd_1 ... ok
+cmpnlepd_2 ... ok
+cmpeqsd_1 ... ok
+cmpeqsd_2 ... ok
+cmpltsd_1 ... ok
+cmpltsd_2 ... ok
+cmplesd_1 ... ok
+cmplesd_2 ... ok
+cmpneqsd_1 ... ok
+cmpneqsd_2 ... ok
+cmpnltsd_1 ... ok
+cmpnltsd_2 ... ok
+cmpnlesd_1 ... ok
+cmpnlesd_2 ... ok
+comisd_1 ... ok
+comisd_2 ... ok
+comisd_3 ... ok
+comisd_4 ... ok
+comisd_5 ... ok
+comisd_6 ... ok
+cvtdq2pd_1 ... ok
+cvtdq2pd_2 ... ok
+cvtdq2ps_1 ... ok
+cvtdq2ps_2 ... ok
+cvtpd2dq_1 ... ok
+cvtpd2dq_2 ... ok
+cvtpd2pi_1 ... ok
+cvtpd2pi_2 ... ok
+cvtpd2ps_1 ... ok
+cvtpd2ps_2 ... ok
+cvtpi2pd_1 ... ok
+cvtpi2pd_2 ... ok
+cvtps2dq_1 ... ok
+cvtps2dq_2 ... ok
+cvtps2pd_1 ... ok
+cvtps2pd_2 ... ok
+cvtsd2si_1 ... ok
+cvtsd2si_2 ... ok
+cvtsd2ss_1 ... ok
+cvtsd2ss_2 ... ok
+cvtsi2sd_1 ... ok
+cvtsi2sd_2 ... ok
+cvtss2sd_1 ... ok
+cvtss2sd_2 ... ok
+cvttpd2pi_1 ... ok
+cvttpd2pi_2 ... ok
+cvttpd2dq_1 ... ok
+cvttpd2dq_2 ... ok
+cvttps2dq_1 ... ok
+cvttps2dq_2 ... ok
+cvttsd2si_1 ... ok
+cvttsd2si_2 ... ok
+divpd_1 ... ok
+divpd_2 ... ok
+divsd_1 ... ok
+divsd_2 ... ok
+maxpd_1 ... ok
+maxpd_2 ... ok
+maxsd_1 ... ok
+maxsd_2 ... ok
+minpd_1 ... ok
+minpd_2 ... ok
+minsd_1 ... ok
+minsd_2 ... ok
+movapd_1 ... ok
+movapd_2 ... ok
+movd_1 ... ok
+movd_2 ... ok
+movd_3 ... ok
+movd_4 ... ok
+movdqa_1 ... ok
+movdqa_2 ... ok
+movdqa_3 ... ok
+movdqu_1 ... ok
+movdqu_2 ... ok
+movdqu_3 ... ok
+movdq2q_1 ... ok
+movhpd_1 ... ok
+movhpd_2 ... ok
+movlpd_1 ... ok
+movlpd_2 ... ok
+movmskpd_1 ... ok
+movntdq_1 ... ok
+movnti_1 ... ok
+movntpd_1 ... ok
+movq2dq_1 ... ok
+movsd_1 ... ok
+movsd_2 ... ok
+movsd_3 ... ok
+movupd_1 ... ok
+movupd_2 ... ok
+mulpd_1 ... ok
+mulpd_2 ... ok
+mulsd_1 ... ok
+mulsd_2 ... ok
+orpd_1 ... ok
+orpd_2 ... ok
+packssdw_1 ... ok
+packssdw_2 ... ok
+packsswb_1 ... ok
+packsswb_2 ... ok
+packuswb_1 ... ok
+packuswb_2 ... ok
+paddb_1 ... ok
+paddb_2 ... ok
+paddd_1 ... ok
+paddd_2 ... ok
+paddq_1 ... ok
+paddq_2 ... ok
+paddq_3 ... ok
+paddq_4 ... ok
+paddsb_1 ... ok
+paddsb_2 ... ok
+paddsw_1 ... ok
+paddsw_2 ... ok
+paddusb_1 ... ok
+paddusb_2 ... ok
+paddusw_1 ... ok
+paddusw_2 ... ok
+paddw_1 ... ok
+paddw_2 ... ok
+pand_1 ... ok
+pand_2 ... ok
+pandn_1 ... ok
+pandn_2 ... ok
+pavgb_1 ... ok
+pavgb_2 ... ok
+pavgw_1 ... ok
+pavgw_2 ... ok
+pcmpeqb_1 ... ok
+pcmpeqb_2 ... ok
+pcmpeqd_1 ... ok
+pcmpeqd_2 ... ok
+pcmpeqw_1 ... ok
+pcmpeqw_2 ... ok
+pcmpgtb_1 ... ok
+pcmpgtb_2 ... ok
+pcmpgtd_1 ... ok
+pcmpgtd_2 ... ok
+pcmpgtw_1 ... ok
+pcmpgtw_2 ... ok
+pextrw_1 ... ok
+pextrw_2 ... ok
+pextrw_3 ... ok
+pextrw_4 ... ok
+pextrw_5 ... ok
+pextrw_6 ... ok
+pextrw_7 ... ok
+pextrw_8 ... ok
+pinsrw_1 ... ok
+pinsrw_2 ... ok
+pinsrw_3 ... ok
+pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
+pmaddwd_1 ... ok
+pmaddwd_2 ... ok
+pmaxsw_1 ... ok
+pmaxsw_2 ... ok
+pmaxub_1 ... ok
+pmaxub_2 ... ok
+pminsw_1 ... ok
+pminsw_2 ... ok
+pminub_1 ... ok
+pminub_2 ... ok
+pmovmskb_1 ... ok
+pmulhuw_1 ... ok
+pmulhuw_2 ... ok
+pmulhw_1 ... ok
+pmulhw_2 ... ok
+pmullw_1 ... ok
+pmullw_2 ... ok
+pmuludq_1 ... ok
+pmuludq_2 ... ok
+pmuludq_3 ... ok
+pmuludq_4 ... ok
+por_1 ... ok
+por_2 ... ok
+psadbw_1 ... ok
+psadbw_2 ... ok
+pshufd_1 ... ok
+pshufd_2 ... ok
+pshufhw_1 ... ok
+pshufhw_2 ... ok
+pshuflw_1 ... ok
+pshuflw_2 ... ok
+pslld_1 ... ok
+pslld_2 ... ok
+pslld_3 ... ok
+pslldq_1 ... ok
+pslldq_2 ... ok
+psllq_1 ... ok
+psllq_2 ... ok
+psllq_3 ... ok
+psllw_1 ... ok
+psllw_2 ... ok
+psllw_3 ... ok
+psrad_1 ... ok
+psrad_2 ... ok
+psrad_3 ... ok
+psraw_1 ... ok
+psraw_2 ... ok
+psraw_3 ... ok
+psrld_1 ... ok
+psrld_2 ... ok
+psrld_3 ... ok
+psrldq_1 ... ok
+psrldq_2 ... ok
+psrlq_1 ... ok
+psrlq_2 ... ok
+psrlq_3 ... ok
+psrlw_1 ... ok
+psrlw_2 ... ok
+psrlw_3 ... ok
+psubb_1 ... ok
+psubb_2 ... ok
+psubd_1 ... ok
+psubd_2 ... ok
+psubq_1 ... ok
+psubq_2 ... ok
+psubq_3 ... ok
+psubq_4 ... ok
+psubsb_1 ... ok
+psubsb_2 ... ok
+psubsw_1 ... ok
+psubsw_2 ... ok
+psubusb_1 ... ok
+psubusb_2 ... ok
+psubusw_1 ... ok
+psubusw_2 ... ok
+psubw_1 ... ok
+psubw_2 ... ok
+punpckhbw_1 ... ok
+punpckhbw_2 ... ok
+punpckhdq_1 ... ok
+punpckhdq_2 ... ok
+punpckhqdq_1 ... ok
+punpckhqdq_2 ... ok
+punpckhwd_1 ... ok
+punpckhwd_2 ... ok
+punpcklbw_1 ... ok
+punpcklbw_2 ... ok
+punpckldq_1 ... ok
+punpckldq_2 ... ok
+punpcklqdq_1 ... ok
+punpcklqdq_2 ... ok
+punpcklwd_1 ... ok
+punpcklwd_2 ... ok
+pxor_1 ... ok
+pxor_2 ... ok
+shufpd_1 ... ok
+shufpd_2 ... ok
+sqrtpd_1 ... ok
+sqrtpd_2 ... ok
+sqrtsd_1 ... ok
+sqrtsd_2 ... ok
+subpd_1 ... ok
+subpd_2 ... ok
+subsd_1 ... ok
+subsd_2 ... ok
+ucomisd_1 ... ok
+ucomisd_2 ... ok
+ucomisd_3 ... ok
+ucomisd_4 ... ok
+ucomisd_5 ... ok
+ucomisd_6 ... ok
+unpckhpd_1 ... ok
+unpckhpd_2 ... ok
+unpcklpd_1 ... ok
+unpcklpd_2 ... ok
+xorpd_1 ... ok
+xorpd_2 ... ok
diff --git a/memcheck/tests/insn_sse2.vgtest b/memcheck/tests/insn_sse2.vgtest
new file mode 100644
index 00000000..42e82f38
--- /dev/null
+++ b/memcheck/tests/insn_sse2.vgtest
@@ -0,0 +1,3 @@
+vgopts: -q
+prog: ../../none/tests/insn_sse2
+cpu_test: sse2