]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gas/testsuite/gas/i386/x86-64-sse2avx.s
Imported binutils-2.20
[msp430-binutils.git] / gas / testsuite / gas / i386 / x86-64-sse2avx.s
diff --git a/gas/testsuite/gas/i386/x86-64-sse2avx.s b/gas/testsuite/gas/i386/x86-64-sse2avx.s
new file mode 100644 (file)
index 0000000..711cd6c
--- /dev/null
@@ -0,0 +1,1411 @@
+# Check 64bit SSE to AVX instructions
+
+       .allow_index_reg
+       .text
+_start:
+# Tests for op mem64
+       ldmxcsr (%rcx)
+       stmxcsr (%rcx)
+
+# Tests for op xmm/mem128, xmm
+       cvtdq2ps %xmm4,%xmm6
+       cvtdq2ps (%rcx),%xmm4
+       cvtpd2dq %xmm4,%xmm6
+       cvtpd2dq (%rcx),%xmm4
+       cvtpd2ps %xmm4,%xmm6
+       cvtpd2ps (%rcx),%xmm4
+       cvtps2dq %xmm4,%xmm6
+       cvtps2dq (%rcx),%xmm4
+       cvttpd2dq %xmm4,%xmm6
+       cvttpd2dq (%rcx),%xmm4
+       cvttps2dq %xmm4,%xmm6
+       cvttps2dq (%rcx),%xmm4
+       movapd %xmm4,%xmm6
+       movapd (%rcx),%xmm4
+       movaps %xmm4,%xmm6
+       movaps (%rcx),%xmm4
+       movdqa %xmm4,%xmm6
+       movdqa (%rcx),%xmm4
+       movdqu %xmm4,%xmm6
+       movdqu (%rcx),%xmm4
+       movshdup %xmm4,%xmm6
+       movshdup (%rcx),%xmm4
+       movsldup %xmm4,%xmm6
+       movsldup (%rcx),%xmm4
+       movupd %xmm4,%xmm6
+       movupd (%rcx),%xmm4
+       movups %xmm4,%xmm6
+       movups (%rcx),%xmm4
+       pabsb %xmm4,%xmm6
+       pabsb (%rcx),%xmm4
+       pabsw %xmm4,%xmm6
+       pabsw (%rcx),%xmm4
+       pabsd %xmm4,%xmm6
+       pabsd (%rcx),%xmm4
+       phminposuw %xmm4,%xmm6
+       phminposuw (%rcx),%xmm4
+       ptest %xmm4,%xmm6
+       ptest (%rcx),%xmm4
+       rcpps %xmm4,%xmm6
+       rcpps (%rcx),%xmm4
+       rsqrtps %xmm4,%xmm6
+       rsqrtps (%rcx),%xmm4
+       sqrtpd %xmm4,%xmm6
+       sqrtpd (%rcx),%xmm4
+       sqrtps %xmm4,%xmm6
+       sqrtps (%rcx),%xmm4
+       aesimc %xmm4,%xmm6
+       aesimc (%rcx),%xmm4
+
+# Tests for op xmm, xmm/mem128
+       movapd %xmm4,%xmm6
+       movapd %xmm4,(%rcx)
+       movaps %xmm4,%xmm6
+       movaps %xmm4,(%rcx)
+       movdqa %xmm4,%xmm6
+       movdqa %xmm4,(%rcx)
+       movdqu %xmm4,%xmm6
+       movdqu %xmm4,(%rcx)
+       movupd %xmm4,%xmm6
+       movupd %xmm4,(%rcx)
+       movups %xmm4,%xmm6
+       movups %xmm4,(%rcx)
+
+# Tests for op mem128, xmm
+       lddqu (%rcx),%xmm4
+       movntdqa (%rcx),%xmm4
+
+# Tests for op xmm, mem128
+       movntdq %xmm4,(%rcx)
+       movntpd %xmm4,(%rcx)
+       movntps %xmm4,(%rcx)
+
+# Tests for op xmm/mem128, xmm[, xmm]
+       addpd %xmm4,%xmm6
+       addpd (%rcx),%xmm6
+       addps %xmm4,%xmm6
+       addps (%rcx),%xmm6
+       addsubpd %xmm4,%xmm6
+       addsubpd (%rcx),%xmm6
+       addsubps %xmm4,%xmm6
+       addsubps (%rcx),%xmm6
+       andnpd %xmm4,%xmm6
+       andnpd (%rcx),%xmm6
+       andnps %xmm4,%xmm6
+       andnps (%rcx),%xmm6
+       andpd %xmm4,%xmm6
+       andpd (%rcx),%xmm6
+       andps %xmm4,%xmm6
+       andps (%rcx),%xmm6
+       divpd %xmm4,%xmm6
+       divpd (%rcx),%xmm6
+       divps %xmm4,%xmm6
+       divps (%rcx),%xmm6
+       haddpd %xmm4,%xmm6
+       haddpd (%rcx),%xmm6
+       haddps %xmm4,%xmm6
+       haddps (%rcx),%xmm6
+       hsubpd %xmm4,%xmm6
+       hsubpd (%rcx),%xmm6
+       hsubps %xmm4,%xmm6
+       hsubps (%rcx),%xmm6
+       maxpd %xmm4,%xmm6
+       maxpd (%rcx),%xmm6
+       maxps %xmm4,%xmm6
+       maxps (%rcx),%xmm6
+       minpd %xmm4,%xmm6
+       minpd (%rcx),%xmm6
+       minps %xmm4,%xmm6
+       minps (%rcx),%xmm6
+       mulpd %xmm4,%xmm6
+       mulpd (%rcx),%xmm6
+       mulps %xmm4,%xmm6
+       mulps (%rcx),%xmm6
+       orpd %xmm4,%xmm6
+       orpd (%rcx),%xmm6
+       orps %xmm4,%xmm6
+       orps (%rcx),%xmm6
+       packsswb %xmm4,%xmm6
+       packsswb (%rcx),%xmm6
+       packssdw %xmm4,%xmm6
+       packssdw (%rcx),%xmm6
+       packuswb %xmm4,%xmm6
+       packuswb (%rcx),%xmm6
+       packusdw %xmm4,%xmm6
+       packusdw (%rcx),%xmm6
+       paddb %xmm4,%xmm6
+       paddb (%rcx),%xmm6
+       paddw %xmm4,%xmm6
+       paddw (%rcx),%xmm6
+       paddd %xmm4,%xmm6
+       paddd (%rcx),%xmm6
+       paddq %xmm4,%xmm6
+       paddq (%rcx),%xmm6
+       paddsb %xmm4,%xmm6
+       paddsb (%rcx),%xmm6
+       paddsw %xmm4,%xmm6
+       paddsw (%rcx),%xmm6
+       paddusb %xmm4,%xmm6
+       paddusb (%rcx),%xmm6
+       paddusw %xmm4,%xmm6
+       paddusw (%rcx),%xmm6
+       pand %xmm4,%xmm6
+       pand (%rcx),%xmm6
+       pandn %xmm4,%xmm6
+       pandn (%rcx),%xmm6
+       pavgb %xmm4,%xmm6
+       pavgb (%rcx),%xmm6
+       pavgw %xmm4,%xmm6
+       pavgw (%rcx),%xmm6
+       pclmullqlqdq %xmm4,%xmm6
+       pclmullqlqdq (%rcx),%xmm6
+       pclmulhqlqdq %xmm4,%xmm6
+       pclmulhqlqdq (%rcx),%xmm6
+       pclmullqhqdq %xmm4,%xmm6
+       pclmullqhqdq (%rcx),%xmm6
+       pclmulhqhqdq %xmm4,%xmm6
+       pclmulhqhqdq (%rcx),%xmm6
+       pcmpeqb %xmm4,%xmm6
+       pcmpeqb (%rcx),%xmm6
+       pcmpeqw %xmm4,%xmm6
+       pcmpeqw (%rcx),%xmm6
+       pcmpeqd %xmm4,%xmm6
+       pcmpeqd (%rcx),%xmm6
+       pcmpeqq %xmm4,%xmm6
+       pcmpeqq (%rcx),%xmm6
+       pcmpgtb %xmm4,%xmm6
+       pcmpgtb (%rcx),%xmm6
+       pcmpgtw %xmm4,%xmm6
+       pcmpgtw (%rcx),%xmm6
+       pcmpgtd %xmm4,%xmm6
+       pcmpgtd (%rcx),%xmm6
+       pcmpgtq %xmm4,%xmm6
+       pcmpgtq (%rcx),%xmm6
+       phaddw %xmm4,%xmm6
+       phaddw (%rcx),%xmm6
+       phaddd %xmm4,%xmm6
+       phaddd (%rcx),%xmm6
+       phaddsw %xmm4,%xmm6
+       phaddsw (%rcx),%xmm6
+       phsubw %xmm4,%xmm6
+       phsubw (%rcx),%xmm6
+       phsubd %xmm4,%xmm6
+       phsubd (%rcx),%xmm6
+       phsubsw %xmm4,%xmm6
+       phsubsw (%rcx),%xmm6
+       pmaddwd %xmm4,%xmm6
+       pmaddwd (%rcx),%xmm6
+       pmaddubsw %xmm4,%xmm6
+       pmaddubsw (%rcx),%xmm6
+       pmaxsb %xmm4,%xmm6
+       pmaxsb (%rcx),%xmm6
+       pmaxsw %xmm4,%xmm6
+       pmaxsw (%rcx),%xmm6
+       pmaxsd %xmm4,%xmm6
+       pmaxsd (%rcx),%xmm6
+       pmaxub %xmm4,%xmm6
+       pmaxub (%rcx),%xmm6
+       pmaxuw %xmm4,%xmm6
+       pmaxuw (%rcx),%xmm6
+       pmaxud %xmm4,%xmm6
+       pmaxud (%rcx),%xmm6
+       pminsb %xmm4,%xmm6
+       pminsb (%rcx),%xmm6
+       pminsw %xmm4,%xmm6
+       pminsw (%rcx),%xmm6
+       pminsd %xmm4,%xmm6
+       pminsd (%rcx),%xmm6
+       pminub %xmm4,%xmm6
+       pminub (%rcx),%xmm6
+       pminuw %xmm4,%xmm6
+       pminuw (%rcx),%xmm6
+       pminud %xmm4,%xmm6
+       pminud (%rcx),%xmm6
+       pmulhuw %xmm4,%xmm6
+       pmulhuw (%rcx),%xmm6
+       pmulhrsw %xmm4,%xmm6
+       pmulhrsw (%rcx),%xmm6
+       pmulhw %xmm4,%xmm6
+       pmulhw (%rcx),%xmm6
+       pmullw %xmm4,%xmm6
+       pmullw (%rcx),%xmm6
+       pmulld %xmm4,%xmm6
+       pmulld (%rcx),%xmm6
+       pmuludq %xmm4,%xmm6
+       pmuludq (%rcx),%xmm6
+       pmuldq %xmm4,%xmm6
+       pmuldq (%rcx),%xmm6
+       por %xmm4,%xmm6
+       por (%rcx),%xmm6
+       psadbw %xmm4,%xmm6
+       psadbw (%rcx),%xmm6
+       pshufb %xmm4,%xmm6
+       pshufb (%rcx),%xmm6
+       psignb %xmm4,%xmm6
+       psignb (%rcx),%xmm6
+       psignw %xmm4,%xmm6
+       psignw (%rcx),%xmm6
+       psignd %xmm4,%xmm6
+       psignd (%rcx),%xmm6
+       psllw %xmm4,%xmm6
+       psllw (%rcx),%xmm6
+       pslld %xmm4,%xmm6
+       pslld (%rcx),%xmm6
+       psllq %xmm4,%xmm6
+       psllq (%rcx),%xmm6
+       psraw %xmm4,%xmm6
+       psraw (%rcx),%xmm6
+       psrad %xmm4,%xmm6
+       psrad (%rcx),%xmm6
+       psrlw %xmm4,%xmm6
+       psrlw (%rcx),%xmm6
+       psrld %xmm4,%xmm6
+       psrld (%rcx),%xmm6
+       psrlq %xmm4,%xmm6
+       psrlq (%rcx),%xmm6
+       psubb %xmm4,%xmm6
+       psubb (%rcx),%xmm6
+       psubw %xmm4,%xmm6
+       psubw (%rcx),%xmm6
+       psubd %xmm4,%xmm6
+       psubd (%rcx),%xmm6
+       psubq %xmm4,%xmm6
+       psubq (%rcx),%xmm6
+       psubsb %xmm4,%xmm6
+       psubsb (%rcx),%xmm6
+       psubsw %xmm4,%xmm6
+       psubsw (%rcx),%xmm6
+       psubusb %xmm4,%xmm6
+       psubusb (%rcx),%xmm6
+       psubusw %xmm4,%xmm6
+       psubusw (%rcx),%xmm6
+       punpckhbw %xmm4,%xmm6
+       punpckhbw (%rcx),%xmm6
+       punpckhwd %xmm4,%xmm6
+       punpckhwd (%rcx),%xmm6
+       punpckhdq %xmm4,%xmm6
+       punpckhdq (%rcx),%xmm6
+       punpckhqdq %xmm4,%xmm6
+       punpckhqdq (%rcx),%xmm6
+       punpcklbw %xmm4,%xmm6
+       punpcklbw (%rcx),%xmm6
+       punpcklwd %xmm4,%xmm6
+       punpcklwd (%rcx),%xmm6
+       punpckldq %xmm4,%xmm6
+       punpckldq (%rcx),%xmm6
+       punpcklqdq %xmm4,%xmm6
+       punpcklqdq (%rcx),%xmm6
+       pxor %xmm4,%xmm6
+       pxor (%rcx),%xmm6
+       subpd %xmm4,%xmm6
+       subpd (%rcx),%xmm6
+       subps %xmm4,%xmm6
+       subps (%rcx),%xmm6
+       unpckhpd %xmm4,%xmm6
+       unpckhpd (%rcx),%xmm6
+       unpckhps %xmm4,%xmm6
+       unpckhps (%rcx),%xmm6
+       unpcklpd %xmm4,%xmm6
+       unpcklpd (%rcx),%xmm6
+       unpcklps %xmm4,%xmm6
+       unpcklps (%rcx),%xmm6
+       xorpd %xmm4,%xmm6
+       xorpd (%rcx),%xmm6
+       xorps %xmm4,%xmm6
+       xorps (%rcx),%xmm6
+       aesenc %xmm4,%xmm6
+       aesenc (%rcx),%xmm6
+       aesenclast %xmm4,%xmm6
+       aesenclast (%rcx),%xmm6
+       aesdec %xmm4,%xmm6
+       aesdec (%rcx),%xmm6
+       aesdeclast %xmm4,%xmm6
+       aesdeclast (%rcx),%xmm6
+       cmpeqpd %xmm4,%xmm6
+       cmpeqpd (%rcx),%xmm6
+       cmpeqps %xmm4,%xmm6
+       cmpeqps (%rcx),%xmm6
+       cmpltpd %xmm4,%xmm6
+       cmpltpd (%rcx),%xmm6
+       cmpltps %xmm4,%xmm6
+       cmpltps (%rcx),%xmm6
+       cmplepd %xmm4,%xmm6
+       cmplepd (%rcx),%xmm6
+       cmpleps %xmm4,%xmm6
+       cmpleps (%rcx),%xmm6
+       cmpunordpd %xmm4,%xmm6
+       cmpunordpd (%rcx),%xmm6
+       cmpunordps %xmm4,%xmm6
+       cmpunordps (%rcx),%xmm6
+       cmpneqpd %xmm4,%xmm6
+       cmpneqpd (%rcx),%xmm6
+       cmpneqps %xmm4,%xmm6
+       cmpneqps (%rcx),%xmm6
+       cmpnltpd %xmm4,%xmm6
+       cmpnltpd (%rcx),%xmm6
+       cmpnltps %xmm4,%xmm6
+       cmpnltps (%rcx),%xmm6
+       cmpnlepd %xmm4,%xmm6
+       cmpnlepd (%rcx),%xmm6
+       cmpnleps %xmm4,%xmm6
+       cmpnleps (%rcx),%xmm6
+       cmpordpd %xmm4,%xmm6
+       cmpordpd (%rcx),%xmm6
+       cmpordps %xmm4,%xmm6
+       cmpordps (%rcx),%xmm6
+
+# Tests for op imm8, xmm/mem128, xmm
+       aeskeygenassist $100,%xmm4,%xmm6
+       aeskeygenassist $100,(%rcx),%xmm6
+       pcmpestri $100,%xmm4,%xmm6
+       pcmpestri $100,(%rcx),%xmm6
+       pcmpestrm $100,%xmm4,%xmm6
+       pcmpestrm $100,(%rcx),%xmm6
+       pcmpistri $100,%xmm4,%xmm6
+       pcmpistri $100,(%rcx),%xmm6
+       pcmpistrm $100,%xmm4,%xmm6
+       pcmpistrm $100,(%rcx),%xmm6
+       pshufd $100,%xmm4,%xmm6
+       pshufd $100,(%rcx),%xmm6
+       pshufhw $100,%xmm4,%xmm6
+       pshufhw $100,(%rcx),%xmm6
+       pshuflw $100,%xmm4,%xmm6
+       pshuflw $100,(%rcx),%xmm6
+       roundpd $100,%xmm4,%xmm6
+       roundpd $100,(%rcx),%xmm6
+       roundps $100,%xmm4,%xmm6
+       roundps $100,(%rcx),%xmm6
+
+# Tests for op imm8, xmm/mem128, xmm[, xmm]
+       blendpd $100,%xmm4,%xmm6
+       blendpd $100,(%rcx),%xmm6
+       blendps $100,%xmm4,%xmm6
+       blendps $100,(%rcx),%xmm6
+       cmppd $100,%xmm4,%xmm6
+       cmppd $100,(%rcx),%xmm6
+       cmpps $100,%xmm4,%xmm6
+       cmpps $100,(%rcx),%xmm6
+       dppd $100,%xmm4,%xmm6
+       dppd $100,(%rcx),%xmm6
+       dpps $100,%xmm4,%xmm6
+       dpps $100,(%rcx),%xmm6
+       mpsadbw $100,%xmm4,%xmm6
+       mpsadbw $100,(%rcx),%xmm6
+       palignr $100,%xmm4,%xmm6
+       palignr $100,(%rcx),%xmm6
+       pblendw $100,%xmm4,%xmm6
+       pblendw $100,(%rcx),%xmm6
+       pclmulqdq $100,%xmm4,%xmm6
+       pclmulqdq $100,(%rcx),%xmm6
+       shufpd $100,%xmm4,%xmm6
+       shufpd $100,(%rcx),%xmm6
+       shufps $100,%xmm4,%xmm6
+       shufps $100,(%rcx),%xmm6
+
+# Tests for op xmm0, xmm/mem128, xmm[, xmm]
+       blendvpd %xmm0,%xmm4,%xmm6
+       blendvpd %xmm0,(%rcx),%xmm6
+       blendvpd %xmm4,%xmm6
+       blendvpd (%rcx),%xmm6
+       blendvps %xmm0,%xmm4,%xmm6
+       blendvps %xmm0,(%rcx),%xmm6
+       blendvps %xmm4,%xmm6
+       blendvps (%rcx),%xmm6
+       pblendvb %xmm0,%xmm4,%xmm6
+       pblendvb %xmm0,(%rcx),%xmm6
+       pblendvb %xmm4,%xmm6
+       pblendvb (%rcx),%xmm6
+
+# Tests for op xmm/mem64, xmm
+       comisd %xmm4,%xmm6
+       comisd (%rcx),%xmm4
+       cvtdq2pd %xmm4,%xmm6
+       cvtdq2pd (%rcx),%xmm4
+       cvtps2pd %xmm4,%xmm6
+       cvtps2pd (%rcx),%xmm4
+       movddup %xmm4,%xmm6
+       movddup (%rcx),%xmm4
+       pmovsxbw %xmm4,%xmm6
+       pmovsxbw (%rcx),%xmm4
+       pmovsxwd %xmm4,%xmm6
+       pmovsxwd (%rcx),%xmm4
+       pmovsxdq %xmm4,%xmm6
+       pmovsxdq (%rcx),%xmm4
+       pmovzxbw %xmm4,%xmm6
+       pmovzxbw (%rcx),%xmm4
+       pmovzxwd %xmm4,%xmm6
+       pmovzxwd (%rcx),%xmm4
+       pmovzxdq %xmm4,%xmm6
+       pmovzxdq (%rcx),%xmm4
+       ucomisd %xmm4,%xmm6
+       ucomisd (%rcx),%xmm4
+
+# Tests for op mem64, xmm
+       movsd (%rcx),%xmm4
+
+# Tests for op xmm, mem64
+       movlpd %xmm4,(%rcx)
+       movlps %xmm4,(%rcx)
+       movhpd %xmm4,(%rcx)
+       movhps %xmm4,(%rcx)
+       movsd %xmm4,(%rcx)
+
+# Tests for op xmm, regq/mem64
+# Tests for op regq/mem64, xmm
+       movd %xmm4,%rcx
+       movd %rcx,%xmm4
+       movq %xmm4,%rcx
+       movq %rcx,%xmm4
+       movq %xmm4,(%rcx)
+       movq (%rcx),%xmm4
+
+# Tests for op xmm/mem64, regl
+       cvtsd2si %xmm4,%ecx
+       cvtsd2si (%rcx),%ecx
+       cvttsd2si %xmm4,%ecx
+       cvttsd2si (%rcx),%ecx
+
+# Tests for op xmm/mem64, regq
+       cvtsd2si %xmm4,%rcx
+       cvtsd2si (%rcx),%rcx
+       cvttsd2si %xmm4,%rcx
+       cvttsd2si (%rcx),%rcx
+
+# Tests for op regq/mem64, xmm[, xmm]
+       cvtsi2sdq %rcx,%xmm4
+       cvtsi2sdq (%rcx),%xmm4
+       cvtsi2ssq %rcx,%xmm4
+       cvtsi2ssq (%rcx),%xmm4
+
+# Tests for op imm8, regq/mem64, xmm[, xmm]
+       pinsrq $100,%rcx,%xmm4
+       pinsrq $100,(%rcx),%xmm4
+
+# Testsf for op imm8, xmm, regq/mem64
+       pextrq $100,%xmm4,%rcx
+       pextrq $100,%xmm4,(%rcx)
+
+# Tests for op mem64, xmm[, xmm]
+       movlpd (%rcx),%xmm4
+       movlps (%rcx),%xmm4
+       movhpd (%rcx),%xmm4
+       movhps (%rcx),%xmm4
+
+# Tests for op imm8, xmm/mem64, xmm[, xmm]
+       cmpsd $100,%xmm4,%xmm6
+       cmpsd $100,(%rcx),%xmm6
+       roundsd $100,%xmm4,%xmm6
+       roundsd $100,(%rcx),%xmm6
+
+# Tests for op xmm/mem64, xmm[, xmm]
+       addsd %xmm4,%xmm6
+       addsd (%rcx),%xmm6
+       cvtsd2ss %xmm4,%xmm6
+       cvtsd2ss (%rcx),%xmm6
+       divsd %xmm4,%xmm6
+       divsd (%rcx),%xmm6
+       maxsd %xmm4,%xmm6
+       maxsd (%rcx),%xmm6
+       minsd %xmm4,%xmm6
+       minsd (%rcx),%xmm6
+       mulsd %xmm4,%xmm6
+       mulsd (%rcx),%xmm6
+       sqrtsd %xmm4,%xmm6
+       sqrtsd (%rcx),%xmm6
+       subsd %xmm4,%xmm6
+       subsd (%rcx),%xmm6
+       cmpeqsd %xmm4,%xmm6
+       cmpeqsd (%rcx),%xmm6
+       cmpltsd %xmm4,%xmm6
+       cmpltsd (%rcx),%xmm6
+       cmplesd %xmm4,%xmm6
+       cmplesd (%rcx),%xmm6
+       cmpunordsd %xmm4,%xmm6
+       cmpunordsd (%rcx),%xmm6
+       cmpneqsd %xmm4,%xmm6
+       cmpneqsd (%rcx),%xmm6
+       cmpnltsd %xmm4,%xmm6
+       cmpnltsd (%rcx),%xmm6
+       cmpnlesd %xmm4,%xmm6
+       cmpnlesd (%rcx),%xmm6
+       cmpordsd %xmm4,%xmm6
+       cmpordsd (%rcx),%xmm6
+
+# Tests for op xmm/mem32, xmm[, xmm]
+       addss %xmm4,%xmm6
+       addss (%rcx),%xmm6
+       cvtss2sd %xmm4,%xmm6
+       cvtss2sd (%rcx),%xmm6
+       divss %xmm4,%xmm6
+       divss (%rcx),%xmm6
+       maxss %xmm4,%xmm6
+       maxss (%rcx),%xmm6
+       minss %xmm4,%xmm6
+       minss (%rcx),%xmm6
+       mulss %xmm4,%xmm6
+       mulss (%rcx),%xmm6
+       rcpss %xmm4,%xmm6
+       rcpss (%rcx),%xmm6
+       rsqrtss %xmm4,%xmm6
+       rsqrtss (%rcx),%xmm6
+       sqrtss %xmm4,%xmm6
+       sqrtss (%rcx),%xmm6
+       subss %xmm4,%xmm6
+       subss (%rcx),%xmm6
+       cmpeqss %xmm4,%xmm6
+       cmpeqss (%rcx),%xmm6
+       cmpltss %xmm4,%xmm6
+       cmpltss (%rcx),%xmm6
+       cmpless %xmm4,%xmm6
+       cmpless (%rcx),%xmm6
+       cmpunordss %xmm4,%xmm6
+       cmpunordss (%rcx),%xmm6
+       cmpneqss %xmm4,%xmm6
+       cmpneqss (%rcx),%xmm6
+       cmpnltss %xmm4,%xmm6
+       cmpnltss (%rcx),%xmm6
+       cmpnless %xmm4,%xmm6
+       cmpnless (%rcx),%xmm6
+       cmpordss %xmm4,%xmm6
+       cmpordss (%rcx),%xmm6
+
+# Tests for op xmm/mem32, xmm
+       comiss %xmm4,%xmm6
+       comiss (%rcx),%xmm4
+       pmovsxbd %xmm4,%xmm6
+       pmovsxbd (%rcx),%xmm4
+       pmovsxwq %xmm4,%xmm6
+       pmovsxwq (%rcx),%xmm4
+       pmovzxbd %xmm4,%xmm6
+       pmovzxbd (%rcx),%xmm4
+       pmovzxwq %xmm4,%xmm6
+       pmovzxwq (%rcx),%xmm4
+       ucomiss %xmm4,%xmm6
+       ucomiss (%rcx),%xmm4
+
+# Tests for op mem32, xmm
+       movss (%rcx),%xmm4
+
+# Tests for op xmm, mem32
+       movss %xmm4,(%rcx)
+
+# Tests for op xmm, regl/mem32
+# Tests for op regl/mem32, xmm
+       movd %xmm4,%ecx
+       movd %xmm4,(%rcx)
+       movd %ecx,%xmm4
+       movd (%rcx),%xmm4
+
+# Tests for op xmm/mem32, regl
+       cvtss2si %xmm4,%ecx
+       cvtss2si (%rcx),%ecx
+       cvttss2si %xmm4,%ecx
+       cvttss2si (%rcx),%ecx
+
+# Tests for op xmm/mem32, regq
+       cvtss2si %xmm4,%rcx
+       cvtss2si (%rcx),%rcx
+       cvttss2si %xmm4,%rcx
+       cvttss2si (%rcx),%rcx
+
+# Tests for op xmm, regq
+       movmskpd %xmm4,%rcx
+       movmskps %xmm4,%rcx
+       pmovmskb %xmm4,%rcx
+
+# Tests for op imm8, xmm, regq/mem32
+       extractps $100,%xmm4,%rcx
+       extractps $100,%xmm4,(%rcx)
+# Tests for op imm8, xmm, regl/mem32
+       pextrd $100,%xmm4,%ecx
+       pextrd $100,%xmm4,(%rcx)
+       extractps $100,%xmm4,%ecx
+       extractps $100,%xmm4,(%rcx)
+
+# Tests for op regl/mem32, xmm[, xmm]
+       cvtsi2sd %ecx,%xmm4
+       cvtsi2sd (%rcx),%xmm4
+       cvtsi2ss %ecx,%xmm4
+       cvtsi2ss (%rcx),%xmm4
+
+# Tests for op imm8, xmm/mem32, xmm[, xmm]
+       cmpss $100,%xmm4,%xmm6
+       cmpss $100,(%rcx),%xmm6
+       insertps $100,%xmm4,%xmm6
+       insertps $100,(%rcx),%xmm6
+       roundss $100,%xmm4,%xmm6
+       roundss $100,(%rcx),%xmm6
+
+# Tests for op xmm/m16, xmm
+       pmovsxbq %xmm4,%xmm6
+       pmovsxbq (%rcx),%xmm4
+       pmovzxbq %xmm4,%xmm6
+       pmovzxbq (%rcx),%xmm4
+
+# Tests for op imm8, xmm, regl/mem16
+       pextrw $100,%xmm4,%ecx
+       pextrw $100,%xmm4,(%rcx)
+
+# Tests for op imm8, xmm, regq/mem16
+       pextrw $100,%xmm4,%rcx
+       pextrw $100,%xmm4,(%rcx)
+
+# Tests for op imm8, regl/mem16, xmm[, xmm]
+       pinsrw $100,%ecx,%xmm4
+       pinsrw $100,(%rcx),%xmm4
+
+
+       pinsrw $100,%rcx,%xmm4
+       pinsrw $100,(%rcx),%xmm4
+
+# Tests for op imm8, xmm, regl/mem8
+       pextrb $100,%xmm4,%ecx
+       pextrb $100,%xmm4,(%rcx)
+
+# Tests for op imm8, regl/mem8, xmm[, xmm]
+       pinsrb $100,%ecx,%xmm4
+       pinsrb $100,(%rcx),%xmm4
+
+# Tests for op imm8, xmm, regq
+       pextrw $100,%xmm4,%rcx
+# Tests for op imm8, xmm, regq/mem8
+       pextrb $100,%xmm4,%rcx
+       pextrb $100,%xmm4,(%rcx)
+
+# Tests for op imm8, regl/mem8, xmm[, xmm]
+       pinsrb $100,%ecx,%xmm4
+       pinsrb $100,(%rcx),%xmm4
+
+# Tests for op xmm, xmm
+       maskmovdqu %xmm4,%xmm6
+       movq %xmm4,%xmm6
+
+# Tests for op xmm, regl
+       movmskpd %xmm4,%ecx
+       movmskps %xmm4,%ecx
+       pmovmskb %xmm4,%ecx
+# Tests for op xmm, xmm[, xmm]
+       movhlps %xmm4,%xmm6
+       movlhps %xmm4,%xmm6
+       movsd %xmm4,%xmm6
+       movss %xmm4,%xmm6
+
+# Tests for op imm8, xmm[, xmm]
+       pslld $100,%xmm4
+       pslldq $100,%xmm4
+       psllq $100,%xmm4
+       psllw $100,%xmm4
+       psrad $100,%xmm4
+       psraw $100,%xmm4
+       psrld $100,%xmm4
+       psrldq $100,%xmm4
+       psrlq $100,%xmm4
+       psrlw $100,%xmm4
+
+# Tests for op imm8, xmm, regl
+       pextrw $100,%xmm4,%ecx
+
+
+       .intel_syntax noprefix
+# Tests for op mem64
+       ldmxcsr DWORD PTR [rcx]
+       stmxcsr DWORD PTR [rcx]
+
+# Tests for op xmm/mem128, xmm
+       cvtdq2ps xmm6,xmm4
+       cvtdq2ps xmm4,XMMWORD PTR [rcx]
+       cvtpd2dq xmm6,xmm4
+       cvtpd2dq xmm4,XMMWORD PTR [rcx]
+       cvtpd2ps xmm6,xmm4
+       cvtpd2ps xmm4,XMMWORD PTR [rcx]
+       cvtps2dq xmm6,xmm4
+       cvtps2dq xmm4,XMMWORD PTR [rcx]
+       cvttpd2dq xmm6,xmm4
+       cvttpd2dq xmm4,XMMWORD PTR [rcx]
+       cvttps2dq xmm6,xmm4
+       cvttps2dq xmm4,XMMWORD PTR [rcx]
+       movapd xmm6,xmm4
+       movapd xmm4,XMMWORD PTR [rcx]
+       movaps xmm6,xmm4
+       movaps xmm4,XMMWORD PTR [rcx]
+       movdqa xmm6,xmm4
+       movdqa xmm4,XMMWORD PTR [rcx]
+       movdqu xmm6,xmm4
+       movdqu xmm4,XMMWORD PTR [rcx]
+       movshdup xmm6,xmm4
+       movshdup xmm4,XMMWORD PTR [rcx]
+       movsldup xmm6,xmm4
+       movsldup xmm4,XMMWORD PTR [rcx]
+       movupd xmm6,xmm4
+       movupd xmm4,XMMWORD PTR [rcx]
+       movups xmm6,xmm4
+       movups xmm4,XMMWORD PTR [rcx]
+       pabsb xmm6,xmm4
+       pabsb xmm4,XMMWORD PTR [rcx]
+       pabsw xmm6,xmm4
+       pabsw xmm4,XMMWORD PTR [rcx]
+       pabsd xmm6,xmm4
+       pabsd xmm4,XMMWORD PTR [rcx]
+       phminposuw xmm6,xmm4
+       phminposuw xmm4,XMMWORD PTR [rcx]
+       ptest xmm6,xmm4
+       ptest xmm4,XMMWORD PTR [rcx]
+       rcpps xmm6,xmm4
+       rcpps xmm4,XMMWORD PTR [rcx]
+       rsqrtps xmm6,xmm4
+       rsqrtps xmm4,XMMWORD PTR [rcx]
+       sqrtpd xmm6,xmm4
+       sqrtpd xmm4,XMMWORD PTR [rcx]
+       sqrtps xmm6,xmm4
+       sqrtps xmm4,XMMWORD PTR [rcx]
+       aesimc xmm6,xmm4
+       aesimc xmm4,XMMWORD PTR [rcx]
+
+# Tests for op xmm, xmm/mem128
+       movapd xmm6,xmm4
+       movapd XMMWORD PTR [rcx],xmm4
+       movaps xmm6,xmm4
+       movaps XMMWORD PTR [rcx],xmm4
+       movdqa xmm6,xmm4
+       movdqa XMMWORD PTR [rcx],xmm4
+       movdqu xmm6,xmm4
+       movdqu XMMWORD PTR [rcx],xmm4
+       movupd xmm6,xmm4
+       movupd XMMWORD PTR [rcx],xmm4
+       movups xmm6,xmm4
+       movups XMMWORD PTR [rcx],xmm4
+
+# Tests for op mem128, xmm
+       lddqu xmm4,XMMWORD PTR [rcx]
+       movntdqa xmm4,XMMWORD PTR [rcx]
+
+# Tests for op xmm, mem128
+       movntdq XMMWORD PTR [rcx],xmm4
+       movntpd XMMWORD PTR [rcx],xmm4
+       movntps XMMWORD PTR [rcx],xmm4
+
+# Tests for op xmm/mem128, xmm[, xmm]
+       addpd xmm6,xmm4
+       addpd xmm6,XMMWORD PTR [rcx]
+       addps xmm6,xmm4
+       addps xmm6,XMMWORD PTR [rcx]
+       addsubpd xmm6,xmm4
+       addsubpd xmm6,XMMWORD PTR [rcx]
+       addsubps xmm6,xmm4
+       addsubps xmm6,XMMWORD PTR [rcx]
+       andnpd xmm6,xmm4
+       andnpd xmm6,XMMWORD PTR [rcx]
+       andnps xmm6,xmm4
+       andnps xmm6,XMMWORD PTR [rcx]
+       andpd xmm6,xmm4
+       andpd xmm6,XMMWORD PTR [rcx]
+       andps xmm6,xmm4
+       andps xmm6,XMMWORD PTR [rcx]
+       divpd xmm6,xmm4
+       divpd xmm6,XMMWORD PTR [rcx]
+       divps xmm6,xmm4
+       divps xmm6,XMMWORD PTR [rcx]
+       haddpd xmm6,xmm4
+       haddpd xmm6,XMMWORD PTR [rcx]
+       haddps xmm6,xmm4
+       haddps xmm6,XMMWORD PTR [rcx]
+       hsubpd xmm6,xmm4
+       hsubpd xmm6,XMMWORD PTR [rcx]
+       hsubps xmm6,xmm4
+       hsubps xmm6,XMMWORD PTR [rcx]
+       maxpd xmm6,xmm4
+       maxpd xmm6,XMMWORD PTR [rcx]
+       maxps xmm6,xmm4
+       maxps xmm6,XMMWORD PTR [rcx]
+       minpd xmm6,xmm4
+       minpd xmm6,XMMWORD PTR [rcx]
+       minps xmm6,xmm4
+       minps xmm6,XMMWORD PTR [rcx]
+       mulpd xmm6,xmm4
+       mulpd xmm6,XMMWORD PTR [rcx]
+       mulps xmm6,xmm4
+       mulps xmm6,XMMWORD PTR [rcx]
+       orpd xmm6,xmm4
+       orpd xmm6,XMMWORD PTR [rcx]
+       orps xmm6,xmm4
+       orps xmm6,XMMWORD PTR [rcx]
+       packsswb xmm6,xmm4
+       packsswb xmm6,XMMWORD PTR [rcx]
+       packssdw xmm6,xmm4
+       packssdw xmm6,XMMWORD PTR [rcx]
+       packuswb xmm6,xmm4
+       packuswb xmm6,XMMWORD PTR [rcx]
+       packusdw xmm6,xmm4
+       packusdw xmm6,XMMWORD PTR [rcx]
+       paddb xmm6,xmm4
+       paddb xmm6,XMMWORD PTR [rcx]
+       paddw xmm6,xmm4
+       paddw xmm6,XMMWORD PTR [rcx]
+       paddd xmm6,xmm4
+       paddd xmm6,XMMWORD PTR [rcx]
+       paddq xmm6,xmm4
+       paddq xmm6,XMMWORD PTR [rcx]
+       paddsb xmm6,xmm4
+       paddsb xmm6,XMMWORD PTR [rcx]
+       paddsw xmm6,xmm4
+       paddsw xmm6,XMMWORD PTR [rcx]
+       paddusb xmm6,xmm4
+       paddusb xmm6,XMMWORD PTR [rcx]
+       paddusw xmm6,xmm4
+       paddusw xmm6,XMMWORD PTR [rcx]
+       pand xmm6,xmm4
+       pand xmm6,XMMWORD PTR [rcx]
+       pandn xmm6,xmm4
+       pandn xmm6,XMMWORD PTR [rcx]
+       pavgb xmm6,xmm4
+       pavgb xmm6,XMMWORD PTR [rcx]
+       pavgw xmm6,xmm4
+       pavgw xmm6,XMMWORD PTR [rcx]
+       pclmullqlqdq xmm6,xmm4
+       pclmullqlqdq xmm6,XMMWORD PTR [rcx]
+       pclmulhqlqdq xmm6,xmm4
+       pclmulhqlqdq xmm6,XMMWORD PTR [rcx]
+       pclmullqhqdq xmm6,xmm4
+       pclmullqhqdq xmm6,XMMWORD PTR [rcx]
+       pclmulhqhqdq xmm6,xmm4
+       pclmulhqhqdq xmm6,XMMWORD PTR [rcx]
+       pcmpeqb xmm6,xmm4
+       pcmpeqb xmm6,XMMWORD PTR [rcx]
+       pcmpeqw xmm6,xmm4
+       pcmpeqw xmm6,XMMWORD PTR [rcx]
+       pcmpeqd xmm6,xmm4
+       pcmpeqd xmm6,XMMWORD PTR [rcx]
+       pcmpeqq xmm6,xmm4
+       pcmpeqq xmm6,XMMWORD PTR [rcx]
+       pcmpgtb xmm6,xmm4
+       pcmpgtb xmm6,XMMWORD PTR [rcx]
+       pcmpgtw xmm6,xmm4
+       pcmpgtw xmm6,XMMWORD PTR [rcx]
+       pcmpgtd xmm6,xmm4
+       pcmpgtd xmm6,XMMWORD PTR [rcx]
+       pcmpgtq xmm6,xmm4
+       pcmpgtq xmm6,XMMWORD PTR [rcx]
+       phaddw xmm6,xmm4
+       phaddw xmm6,XMMWORD PTR [rcx]
+       phaddd xmm6,xmm4
+       phaddd xmm6,XMMWORD PTR [rcx]
+       phaddsw xmm6,xmm4
+       phaddsw xmm6,XMMWORD PTR [rcx]
+       phsubw xmm6,xmm4
+       phsubw xmm6,XMMWORD PTR [rcx]
+       phsubd xmm6,xmm4
+       phsubd xmm6,XMMWORD PTR [rcx]
+       phsubsw xmm6,xmm4
+       phsubsw xmm6,XMMWORD PTR [rcx]
+       pmaddwd xmm6,xmm4
+       pmaddwd xmm6,XMMWORD PTR [rcx]
+       pmaddubsw xmm6,xmm4
+       pmaddubsw xmm6,XMMWORD PTR [rcx]
+       pmaxsb xmm6,xmm4
+       pmaxsb xmm6,XMMWORD PTR [rcx]
+       pmaxsw xmm6,xmm4
+       pmaxsw xmm6,XMMWORD PTR [rcx]
+       pmaxsd xmm6,xmm4
+       pmaxsd xmm6,XMMWORD PTR [rcx]
+       pmaxub xmm6,xmm4
+       pmaxub xmm6,XMMWORD PTR [rcx]
+       pmaxuw xmm6,xmm4
+       pmaxuw xmm6,XMMWORD PTR [rcx]
+       pmaxud xmm6,xmm4
+       pmaxud xmm6,XMMWORD PTR [rcx]
+       pminsb xmm6,xmm4
+       pminsb xmm6,XMMWORD PTR [rcx]
+       pminsw xmm6,xmm4
+       pminsw xmm6,XMMWORD PTR [rcx]
+       pminsd xmm6,xmm4
+       pminsd xmm6,XMMWORD PTR [rcx]
+       pminub xmm6,xmm4
+       pminub xmm6,XMMWORD PTR [rcx]
+       pminuw xmm6,xmm4
+       pminuw xmm6,XMMWORD PTR [rcx]
+       pminud xmm6,xmm4
+       pminud xmm6,XMMWORD PTR [rcx]
+       pmulhuw xmm6,xmm4
+       pmulhuw xmm6,XMMWORD PTR [rcx]
+       pmulhrsw xmm6,xmm4
+       pmulhrsw xmm6,XMMWORD PTR [rcx]
+       pmulhw xmm6,xmm4
+       pmulhw xmm6,XMMWORD PTR [rcx]
+       pmullw xmm6,xmm4
+       pmullw xmm6,XMMWORD PTR [rcx]
+       pmulld xmm6,xmm4
+       pmulld xmm6,XMMWORD PTR [rcx]
+       pmuludq xmm6,xmm4
+       pmuludq xmm6,XMMWORD PTR [rcx]
+       pmuldq xmm6,xmm4
+       pmuldq xmm6,XMMWORD PTR [rcx]
+       por xmm6,xmm4
+       por xmm6,XMMWORD PTR [rcx]
+       psadbw xmm6,xmm4
+       psadbw xmm6,XMMWORD PTR [rcx]
+       pshufb xmm6,xmm4
+       pshufb xmm6,XMMWORD PTR [rcx]
+       psignb xmm6,xmm4
+       psignb xmm6,XMMWORD PTR [rcx]
+       psignw xmm6,xmm4
+       psignw xmm6,XMMWORD PTR [rcx]
+       psignd xmm6,xmm4
+       psignd xmm6,XMMWORD PTR [rcx]
+       psllw xmm6,xmm4
+       psllw xmm6,XMMWORD PTR [rcx]
+       pslld xmm6,xmm4
+       pslld xmm6,XMMWORD PTR [rcx]
+       psllq xmm6,xmm4
+       psllq xmm6,XMMWORD PTR [rcx]
+       psraw xmm6,xmm4
+       psraw xmm6,XMMWORD PTR [rcx]
+       psrad xmm6,xmm4
+       psrad xmm6,XMMWORD PTR [rcx]
+       psrlw xmm6,xmm4
+       psrlw xmm6,XMMWORD PTR [rcx]
+       psrld xmm6,xmm4
+       psrld xmm6,XMMWORD PTR [rcx]
+       psrlq xmm6,xmm4
+       psrlq xmm6,XMMWORD PTR [rcx]
+       psubb xmm6,xmm4
+       psubb xmm6,XMMWORD PTR [rcx]
+       psubw xmm6,xmm4
+       psubw xmm6,XMMWORD PTR [rcx]
+       psubd xmm6,xmm4
+       psubd xmm6,XMMWORD PTR [rcx]
+       psubq xmm6,xmm4
+       psubq xmm6,XMMWORD PTR [rcx]
+       psubsb xmm6,xmm4
+       psubsb xmm6,XMMWORD PTR [rcx]
+       psubsw xmm6,xmm4
+       psubsw xmm6,XMMWORD PTR [rcx]
+       psubusb xmm6,xmm4
+       psubusb xmm6,XMMWORD PTR [rcx]
+       psubusw xmm6,xmm4
+       psubusw xmm6,XMMWORD PTR [rcx]
+       punpckhbw xmm6,xmm4
+       punpckhbw xmm6,XMMWORD PTR [rcx]
+       punpckhwd xmm6,xmm4
+       punpckhwd xmm6,XMMWORD PTR [rcx]
+       punpckhdq xmm6,xmm4
+       punpckhdq xmm6,XMMWORD PTR [rcx]
+       punpckhqdq xmm6,xmm4
+       punpckhqdq xmm6,XMMWORD PTR [rcx]
+       punpcklbw xmm6,xmm4
+       punpcklbw xmm6,XMMWORD PTR [rcx]
+       punpcklwd xmm6,xmm4
+       punpcklwd xmm6,XMMWORD PTR [rcx]
+       punpckldq xmm6,xmm4
+       punpckldq xmm6,XMMWORD PTR [rcx]
+       punpcklqdq xmm6,xmm4
+       punpcklqdq xmm6,XMMWORD PTR [rcx]
+       pxor xmm6,xmm4
+       pxor xmm6,XMMWORD PTR [rcx]
+       subpd xmm6,xmm4
+       subpd xmm6,XMMWORD PTR [rcx]
+       subps xmm6,xmm4
+       subps xmm6,XMMWORD PTR [rcx]
+       unpckhpd xmm6,xmm4
+       unpckhpd xmm6,XMMWORD PTR [rcx]
+       unpckhps xmm6,xmm4
+       unpckhps xmm6,XMMWORD PTR [rcx]
+       unpcklpd xmm6,xmm4
+       unpcklpd xmm6,XMMWORD PTR [rcx]
+       unpcklps xmm6,xmm4
+       unpcklps xmm6,XMMWORD PTR [rcx]
+       xorpd xmm6,xmm4
+       xorpd xmm6,XMMWORD PTR [rcx]
+       xorps xmm6,xmm4
+       xorps xmm6,XMMWORD PTR [rcx]
+       aesenc xmm6,xmm4
+       aesenc xmm6,XMMWORD PTR [rcx]
+       aesenclast xmm6,xmm4
+       aesenclast xmm6,XMMWORD PTR [rcx]
+       aesdec xmm6,xmm4
+       aesdec xmm6,XMMWORD PTR [rcx]
+       aesdeclast xmm6,xmm4
+       aesdeclast xmm6,XMMWORD PTR [rcx]
+       cmpeqpd xmm6,xmm4
+       cmpeqpd xmm6,XMMWORD PTR [rcx]
+       cmpeqps xmm6,xmm4
+       cmpeqps xmm6,XMMWORD PTR [rcx]
+       cmpltpd xmm6,xmm4
+       cmpltpd xmm6,XMMWORD PTR [rcx]
+       cmpltps xmm6,xmm4
+       cmpltps xmm6,XMMWORD PTR [rcx]
+       cmplepd xmm6,xmm4
+       cmplepd xmm6,XMMWORD PTR [rcx]
+       cmpleps xmm6,xmm4
+       cmpleps xmm6,XMMWORD PTR [rcx]
+       cmpunordpd xmm6,xmm4
+       cmpunordpd xmm6,XMMWORD PTR [rcx]
+       cmpunordps xmm6,xmm4
+       cmpunordps xmm6,XMMWORD PTR [rcx]
+       cmpneqpd xmm6,xmm4
+       cmpneqpd xmm6,XMMWORD PTR [rcx]
+       cmpneqps xmm6,xmm4
+       cmpneqps xmm6,XMMWORD PTR [rcx]
+       cmpnltpd xmm6,xmm4
+       cmpnltpd xmm6,XMMWORD PTR [rcx]
+       cmpnltps xmm6,xmm4
+       cmpnltps xmm6,XMMWORD PTR [rcx]
+       cmpnlepd xmm6,xmm4
+       cmpnlepd xmm6,XMMWORD PTR [rcx]
+       cmpnleps xmm6,xmm4
+       cmpnleps xmm6,XMMWORD PTR [rcx]
+       cmpordpd xmm6,xmm4
+       cmpordpd xmm6,XMMWORD PTR [rcx]
+       cmpordps xmm6,xmm4
+       cmpordps xmm6,XMMWORD PTR [rcx]
+
+# Tests for op imm8, xmm/mem128, xmm
+       aeskeygenassist xmm6,xmm4,100
+       aeskeygenassist xmm6,XMMWORD PTR [rcx],100
+       pcmpestri xmm6,xmm4,100
+       pcmpestri xmm6,XMMWORD PTR [rcx],100
+       pcmpestrm xmm6,xmm4,100
+       pcmpestrm xmm6,XMMWORD PTR [rcx],100
+       pcmpistri xmm6,xmm4,100
+       pcmpistri xmm6,XMMWORD PTR [rcx],100
+       pcmpistrm xmm6,xmm4,100
+       pcmpistrm xmm6,XMMWORD PTR [rcx],100
+       pshufd xmm6,xmm4,100
+       pshufd xmm6,XMMWORD PTR [rcx],100
+       pshufhw xmm6,xmm4,100
+       pshufhw xmm6,XMMWORD PTR [rcx],100
+       pshuflw xmm6,xmm4,100
+       pshuflw xmm6,XMMWORD PTR [rcx],100
+       roundpd xmm6,xmm4,100
+       roundpd xmm6,XMMWORD PTR [rcx],100
+       roundps xmm6,xmm4,100
+       roundps xmm6,XMMWORD PTR [rcx],100
+
+# Tests for op imm8, xmm/mem128, xmm[, xmm]
+       blendpd xmm6,xmm4,100
+       blendpd xmm6,XMMWORD PTR [rcx],100
+       blendps xmm6,xmm4,100
+       blendps xmm6,XMMWORD PTR [rcx],100
+       cmppd xmm6,xmm4,100
+       cmppd xmm6,XMMWORD PTR [rcx],100
+       cmpps xmm6,xmm4,100
+       cmpps xmm6,XMMWORD PTR [rcx],100
+       dppd xmm6,xmm4,100
+       dppd xmm6,XMMWORD PTR [rcx],100
+       dpps xmm6,xmm4,100
+       dpps xmm6,XMMWORD PTR [rcx],100
+       mpsadbw xmm6,xmm4,100
+       mpsadbw xmm6,XMMWORD PTR [rcx],100
+       palignr xmm6,xmm4,100
+       palignr xmm6,XMMWORD PTR [rcx],100
+       pblendw xmm6,xmm4,100
+       pblendw xmm6,XMMWORD PTR [rcx],100
+       pclmulqdq xmm6,xmm4,100
+       pclmulqdq xmm6,XMMWORD PTR [rcx],100
+       shufpd xmm6,xmm4,100
+       shufpd xmm6,XMMWORD PTR [rcx],100
+       shufps xmm6,xmm4,100
+       shufps xmm6,XMMWORD PTR [rcx],100
+
+# Tests for op xmm0, xmm/mem128, xmm[, xmm]
+       blendvpd xmm6,xmm4,xmm0
+       blendvpd xmm6,XMMWORD PTR [rcx],xmm0
+       blendvpd xmm6,xmm4
+       blendvpd xmm6,XMMWORD PTR [rcx]
+       blendvps xmm6,xmm4,xmm0
+       blendvps xmm6,XMMWORD PTR [rcx],xmm0
+       blendvps xmm6,xmm4
+       blendvps xmm6,XMMWORD PTR [rcx]
+       pblendvb xmm6,xmm4,xmm0
+       pblendvb xmm6,XMMWORD PTR [rcx],xmm0
+       pblendvb xmm6,xmm4
+       pblendvb xmm6,XMMWORD PTR [rcx]
+
+# Tests for op xmm/mem64, xmm
+       comisd xmm6,xmm4
+       comisd xmm4,QWORD PTR [rcx]
+       cvtdq2pd xmm6,xmm4
+       cvtdq2pd xmm4,QWORD PTR [rcx]
+       cvtps2pd xmm6,xmm4
+       cvtps2pd xmm4,QWORD PTR [rcx]
+       movddup xmm6,xmm4
+       movddup xmm4,QWORD PTR [rcx]
+       pmovsxbw xmm6,xmm4
+       pmovsxbw xmm4,QWORD PTR [rcx]
+       pmovsxwd xmm6,xmm4
+       pmovsxwd xmm4,QWORD PTR [rcx]
+       pmovsxdq xmm6,xmm4
+       pmovsxdq xmm4,QWORD PTR [rcx]
+       pmovzxbw xmm6,xmm4
+       pmovzxbw xmm4,QWORD PTR [rcx]
+       pmovzxwd xmm6,xmm4
+       pmovzxwd xmm4,QWORD PTR [rcx]
+       pmovzxdq xmm6,xmm4
+       pmovzxdq xmm4,QWORD PTR [rcx]
+       ucomisd xmm6,xmm4
+       ucomisd xmm4,QWORD PTR [rcx]
+
+# Tests for op mem64, xmm
+       movsd xmm4,QWORD PTR [rcx]
+
+# Tests for op xmm, mem64
+       movlpd QWORD PTR [rcx],xmm4
+       movlps QWORD PTR [rcx],xmm4
+       movhpd QWORD PTR [rcx],xmm4
+       movhps QWORD PTR [rcx],xmm4
+       movsd QWORD PTR [rcx],xmm4
+
+# Tests for op xmm, regq/mem64
+# Tests for op regq/mem64, xmm
+       movd rcx,xmm4
+       movd xmm4,rcx
+       movq rcx,xmm4
+       movq xmm4,rcx
+       movq QWORD PTR [rcx],xmm4
+       movq xmm4,QWORD PTR [rcx]
+
+# Tests for op xmm/mem64, regl
+       cvtsd2si ecx,xmm4
+       cvtsd2si ecx,QWORD PTR [rcx]
+       cvttsd2si ecx,xmm4
+       cvttsd2si ecx,QWORD PTR [rcx]
+
+# Tests for op xmm/mem64, regq
+       cvtsd2si rcx,xmm4
+       cvtsd2si rcx,QWORD PTR [rcx]
+       cvttsd2si rcx,xmm4
+       cvttsd2si rcx,QWORD PTR [rcx]
+
+# Tests for op regq/mem64, xmm[, xmm]
+       cvtsi2sdq xmm4,rcx
+       cvtsi2sdq xmm4,QWORD PTR [rcx]
+       cvtsi2ssq xmm4,rcx
+       cvtsi2ssq xmm4,QWORD PTR [rcx]
+
+# Tests for op imm8, regq/mem64, xmm[, xmm]
+       pinsrq xmm4,rcx,100
+       pinsrq xmm4,QWORD PTR [rcx],100
+
+# Testsf for op imm8, xmm, regq/mem64
+       pextrq rcx,xmm4,100
+       pextrq QWORD PTR [rcx],xmm4,100
+
+# Tests for op mem64, xmm[, xmm]
+       movlpd xmm4,QWORD PTR [rcx]
+       movlps xmm4,QWORD PTR [rcx]
+       movhpd xmm4,QWORD PTR [rcx]
+       movhps xmm4,QWORD PTR [rcx]
+
+# Tests for op imm8, xmm/mem64, xmm[, xmm]
+       cmpsd xmm6,xmm4,100
+       cmpsd xmm6,QWORD PTR [rcx],100
+       roundsd xmm6,xmm4,100
+       roundsd xmm6,QWORD PTR [rcx],100
+
+# Tests for op xmm/mem64, xmm[, xmm]
+       addsd xmm6,xmm4
+       addsd xmm6,QWORD PTR [rcx]
+       cvtsd2ss xmm6,xmm4
+       cvtsd2ss xmm6,QWORD PTR [rcx]
+       divsd xmm6,xmm4
+       divsd xmm6,QWORD PTR [rcx]
+       maxsd xmm6,xmm4
+       maxsd xmm6,QWORD PTR [rcx]
+       minsd xmm6,xmm4
+       minsd xmm6,QWORD PTR [rcx]
+       mulsd xmm6,xmm4
+       mulsd xmm6,QWORD PTR [rcx]
+       sqrtsd xmm6,xmm4
+       sqrtsd xmm6,QWORD PTR [rcx]
+       subsd xmm6,xmm4
+       subsd xmm6,QWORD PTR [rcx]
+       cmpeqsd xmm6,xmm4
+       cmpeqsd xmm6,QWORD PTR [rcx]
+       cmpltsd xmm6,xmm4
+       cmpltsd xmm6,QWORD PTR [rcx]
+       cmplesd xmm6,xmm4
+       cmplesd xmm6,QWORD PTR [rcx]
+       cmpunordsd xmm6,xmm4
+       cmpunordsd xmm6,QWORD PTR [rcx]
+       cmpneqsd xmm6,xmm4
+       cmpneqsd xmm6,QWORD PTR [rcx]
+       cmpnltsd xmm6,xmm4
+       cmpnltsd xmm6,QWORD PTR [rcx]
+       cmpnlesd xmm6,xmm4
+       cmpnlesd xmm6,QWORD PTR [rcx]
+       cmpordsd xmm6,xmm4
+       cmpordsd xmm6,QWORD PTR [rcx]
+
+# Tests for op xmm/mem32, xmm[, xmm]
+       addss xmm6,xmm4
+       addss xmm6,DWORD PTR [rcx]
+       cvtss2sd xmm6,xmm4
+       cvtss2sd xmm6,DWORD PTR [rcx]
+       divss xmm6,xmm4
+       divss xmm6,DWORD PTR [rcx]
+       maxss xmm6,xmm4
+       maxss xmm6,DWORD PTR [rcx]
+       minss xmm6,xmm4
+       minss xmm6,DWORD PTR [rcx]
+       mulss xmm6,xmm4
+       mulss xmm6,DWORD PTR [rcx]
+       rcpss xmm6,xmm4
+       rcpss xmm6,DWORD PTR [rcx]
+       rsqrtss xmm6,xmm4
+       rsqrtss xmm6,DWORD PTR [rcx]
+       sqrtss xmm6,xmm4
+       sqrtss xmm6,DWORD PTR [rcx]
+       subss xmm6,xmm4
+       subss xmm6,DWORD PTR [rcx]
+       cmpeqss xmm6,xmm4
+       cmpeqss xmm6,DWORD PTR [rcx]
+       cmpltss xmm6,xmm4
+       cmpltss xmm6,DWORD PTR [rcx]
+       cmpless xmm6,xmm4
+       cmpless xmm6,DWORD PTR [rcx]
+       cmpunordss xmm6,xmm4
+       cmpunordss xmm6,DWORD PTR [rcx]
+       cmpneqss xmm6,xmm4
+       cmpneqss xmm6,DWORD PTR [rcx]
+       cmpnltss xmm6,xmm4
+       cmpnltss xmm6,DWORD PTR [rcx]
+       cmpnless xmm6,xmm4
+       cmpnless xmm6,DWORD PTR [rcx]
+       cmpordss xmm6,xmm4
+       cmpordss xmm6,DWORD PTR [rcx]
+
+# Tests for op xmm/mem32, xmm
+       comiss xmm6,xmm4
+       comiss xmm4,DWORD PTR [rcx]
+       pmovsxbd xmm6,xmm4
+       pmovsxbd xmm4,DWORD PTR [rcx]
+       pmovsxwq xmm6,xmm4
+       pmovsxwq xmm4,DWORD PTR [rcx]
+       pmovzxbd xmm6,xmm4
+       pmovzxbd xmm4,DWORD PTR [rcx]
+       pmovzxwq xmm6,xmm4
+       pmovzxwq xmm4,DWORD PTR [rcx]
+       ucomiss xmm6,xmm4
+       ucomiss xmm4,DWORD PTR [rcx]
+
+# Tests for op mem32, xmm
+       movss xmm4,DWORD PTR [rcx]
+
+# Tests for op xmm, mem32
+       movss DWORD PTR [rcx],xmm4
+
+# Tests for op xmm, regl/mem32
+# Tests for op regl/mem32, xmm
+       movd ecx,xmm4
+       movd DWORD PTR [rcx],xmm4
+       movd xmm4,ecx
+       movd xmm4,DWORD PTR [rcx]
+
+# Tests for op xmm/mem32, regl
+       cvtss2si ecx,xmm4
+       cvtss2si ecx,DWORD PTR [rcx]
+       cvttss2si ecx,xmm4
+       cvttss2si ecx,DWORD PTR [rcx]
+
+# Tests for op xmm/mem32, regq
+       cvtss2si rcx,xmm4
+       cvtss2si rcx,DWORD PTR [rcx]
+       cvttss2si rcx,xmm4
+       cvttss2si rcx,DWORD PTR [rcx]
+
+# Tests for op xmm, regq
+       movmskpd rcx,xmm4
+       movmskps rcx,xmm4
+       pmovmskb rcx,xmm4
+
+# Tests for op imm8, xmm, regq/mem32
+       extractps rcx,xmm4,100
+       extractps DWORD PTR [rcx],xmm4,100
+# Tests for op imm8, xmm, regl/mem32
+       pextrd ecx,xmm4,100
+       pextrd DWORD PTR [rcx],xmm4,100
+       extractps ecx,xmm4,100
+       extractps DWORD PTR [rcx],xmm4,100
+
+# Tests for op regl/mem32, xmm[, xmm]
+       cvtsi2sd xmm4,ecx
+       cvtsi2sd xmm4,DWORD PTR [rcx]
+       cvtsi2ss xmm4,ecx
+       cvtsi2ss xmm4,DWORD PTR [rcx]
+
+# Tests for op imm8, xmm/mem32, xmm[, xmm]
+       cmpss xmm6,xmm4,100
+       cmpss xmm6,DWORD PTR [rcx],100
+       insertps xmm6,xmm4,100
+       insertps xmm6,DWORD PTR [rcx],100
+       roundss xmm6,xmm4,100
+       roundss xmm6,DWORD PTR [rcx],100
+
+# Tests for op xmm/m16, xmm
+       pmovsxbq xmm6,xmm4
+       pmovsxbq xmm4,WORD PTR [rcx]
+       pmovzxbq xmm6,xmm4
+       pmovzxbq xmm4,WORD PTR [rcx]
+
+# Tests for op imm8, xmm, regl/mem16
+       pextrw ecx,xmm4,100
+       pextrw WORD PTR [rcx],xmm4,100
+
+# Tests for op imm8, xmm, regq/mem16
+       pextrw rcx,xmm4,100
+       pextrw WORD PTR [rcx],xmm4,100
+
+# Tests for op imm8, regl/mem16, xmm[, xmm]
+       pinsrw xmm4,ecx,100
+       pinsrw xmm4,WORD PTR [rcx],100
+
+
+       pinsrw xmm4,rcx,100
+       pinsrw xmm4,WORD PTR [rcx],100
+
+# Tests for op imm8, xmm, regl/mem8
+       pextrb ecx,xmm4,100
+       pextrb BYTE PTR [rcx],xmm4,100
+
+# Tests for op imm8, regl/mem8, xmm[, xmm]
+       pinsrb xmm4,ecx,100
+       pinsrb xmm4,BYTE PTR [rcx],100
+
+# Tests for op imm8, xmm, regq
+       pextrw rcx,xmm4,100
+# Tests for op imm8, xmm, regq/mem8
+       pextrb rcx,xmm4,100
+       pextrb BYTE PTR [rcx],xmm4,100
+
+# Tests for op imm8, regl/mem8, xmm[, xmm]
+       pinsrb xmm4,ecx,100
+       pinsrb xmm4,BYTE PTR [rcx],100
+
+# Tests for op xmm, xmm
+       maskmovdqu xmm6,xmm4
+       movq xmm6,xmm4
+
+# Tests for op xmm, regl
+       movmskpd ecx,xmm4
+       movmskps ecx,xmm4
+       pmovmskb ecx,xmm4
+# Tests for op xmm, xmm[, xmm]
+       movhlps xmm6,xmm4
+       movlhps xmm6,xmm4
+       movsd xmm6,xmm4
+       movss xmm6,xmm4
+
+# Tests for op imm8, xmm[, xmm]
+       pslld xmm4,100
+       pslldq xmm4,100
+       psllq xmm4,100
+       psllw xmm4,100
+       psrad xmm4,100
+       psraw xmm4,100
+       psrld xmm4,100
+       psrldq xmm4,100
+       psrlq xmm4,100
+       psrlw xmm4,100
+
+# Tests for op imm8, xmm, regl
+       pextrw ecx,xmm4,100
+