blob: fbda32e07544a27736266394562ddeb81e7d15af [file] [log] [blame]
# Check AVX scalar instructions
.allow_index_reg
.text
_start:
# Tests for op xmm/mem64, xmm
vcomisd %xmm4,%xmm6
vcomisd (%ecx),%xmm4
vucomisd %xmm4,%xmm6
vucomisd (%ecx),%xmm4
# Tests for op mem64, xmm
vmovsd (%ecx),%xmm4
# Tests for op xmm, mem64
vmovsd %xmm4,(%ecx)
# Tests for op xmm, regq/mem64
# Tests for op regq/mem64, xmm
vmovq %xmm4,(%ecx)
vmovq (%ecx),%xmm4
# Tests for op xmm/mem64, regl
vcvtsd2si %xmm4,%ecx
vcvtsd2si (%ecx),%ecx
vcvttsd2si %xmm4,%ecx
vcvttsd2si (%ecx),%ecx
# Tests for op imm8, xmm/mem64, xmm, xmm
vcmpsd $7,%xmm4,%xmm6,%xmm2
vcmpsd $7,(%ecx),%xmm6,%xmm2
vroundsd $7,%xmm4,%xmm6,%xmm2
vroundsd $7,(%ecx),%xmm6,%xmm2
# Tests for op xmm/mem64, xmm, xmm
vaddsd %xmm4,%xmm6,%xmm2
vaddsd (%ecx),%xmm6,%xmm2
vcvtsd2ss %xmm4,%xmm6,%xmm2
vcvtsd2ss (%ecx),%xmm6,%xmm2
vdivsd %xmm4,%xmm6,%xmm2
vdivsd (%ecx),%xmm6,%xmm2
vmaxsd %xmm4,%xmm6,%xmm2
vmaxsd (%ecx),%xmm6,%xmm2
vminsd %xmm4,%xmm6,%xmm2
vminsd (%ecx),%xmm6,%xmm2
vmulsd %xmm4,%xmm6,%xmm2
vmulsd (%ecx),%xmm6,%xmm2
vsqrtsd %xmm4,%xmm6,%xmm2
vsqrtsd (%ecx),%xmm6,%xmm2
vsubsd %xmm4,%xmm6,%xmm2
vsubsd (%ecx),%xmm6,%xmm2
vcmpeqsd %xmm4,%xmm6,%xmm2
vcmpeqsd (%ecx),%xmm6,%xmm2
vcmpltsd %xmm4,%xmm6,%xmm2
vcmpltsd (%ecx),%xmm6,%xmm2
vcmplesd %xmm4,%xmm6,%xmm2
vcmplesd (%ecx),%xmm6,%xmm2
vcmpunordsd %xmm4,%xmm6,%xmm2
vcmpunordsd (%ecx),%xmm6,%xmm2
vcmpneqsd %xmm4,%xmm6,%xmm2
vcmpneqsd (%ecx),%xmm6,%xmm2
vcmpnltsd %xmm4,%xmm6,%xmm2
vcmpnltsd (%ecx),%xmm6,%xmm2
vcmpnlesd %xmm4,%xmm6,%xmm2
vcmpnlesd (%ecx),%xmm6,%xmm2
vcmpordsd %xmm4,%xmm6,%xmm2
vcmpordsd (%ecx),%xmm6,%xmm2
vcmpeq_uqsd %xmm4,%xmm6,%xmm2
vcmpeq_uqsd (%ecx),%xmm6,%xmm2
vcmpngesd %xmm4,%xmm6,%xmm2
vcmpngesd (%ecx),%xmm6,%xmm2
vcmpngtsd %xmm4,%xmm6,%xmm2
vcmpngtsd (%ecx),%xmm6,%xmm2
vcmpfalsesd %xmm4,%xmm6,%xmm2
vcmpfalsesd (%ecx),%xmm6,%xmm2
vcmpneq_oqsd %xmm4,%xmm6,%xmm2
vcmpneq_oqsd (%ecx),%xmm6,%xmm2
vcmpgesd %xmm4,%xmm6,%xmm2
vcmpgesd (%ecx),%xmm6,%xmm2
vcmpgtsd %xmm4,%xmm6,%xmm2
vcmpgtsd (%ecx),%xmm6,%xmm2
vcmptruesd %xmm4,%xmm6,%xmm2
vcmptruesd (%ecx),%xmm6,%xmm2
vcmpeq_ossd %xmm4,%xmm6,%xmm2
vcmpeq_ossd (%ecx),%xmm6,%xmm2
vcmplt_oqsd %xmm4,%xmm6,%xmm2
vcmplt_oqsd (%ecx),%xmm6,%xmm2
vcmple_oqsd %xmm4,%xmm6,%xmm2
vcmple_oqsd (%ecx),%xmm6,%xmm2
vcmpunord_ssd %xmm4,%xmm6,%xmm2
vcmpunord_ssd (%ecx),%xmm6,%xmm2
vcmpneq_ussd %xmm4,%xmm6,%xmm2
vcmpneq_ussd (%ecx),%xmm6,%xmm2
vcmpnlt_uqsd %xmm4,%xmm6,%xmm2
vcmpnlt_uqsd (%ecx),%xmm6,%xmm2
vcmpnle_uqsd %xmm4,%xmm6,%xmm2
vcmpnle_uqsd (%ecx),%xmm6,%xmm2
vcmpord_ssd %xmm4,%xmm6,%xmm2
vcmpord_ssd (%ecx),%xmm6,%xmm2
vcmpeq_ussd %xmm4,%xmm6,%xmm2
vcmpeq_ussd (%ecx),%xmm6,%xmm2
vcmpnge_uqsd %xmm4,%xmm6,%xmm2
vcmpnge_uqsd (%ecx),%xmm6,%xmm2
vcmpngt_uqsd %xmm4,%xmm6,%xmm2
vcmpngt_uqsd (%ecx),%xmm6,%xmm2
vcmpfalse_ossd %xmm4,%xmm6,%xmm2
vcmpfalse_ossd (%ecx),%xmm6,%xmm2
vcmpneq_ossd %xmm4,%xmm6,%xmm2
vcmpneq_ossd (%ecx),%xmm6,%xmm2
vcmpge_oqsd %xmm4,%xmm6,%xmm2
vcmpge_oqsd (%ecx),%xmm6,%xmm2
vcmpgt_oqsd %xmm4,%xmm6,%xmm2
vcmpgt_oqsd (%ecx),%xmm6,%xmm2
vcmptrue_ussd %xmm4,%xmm6,%xmm2
vcmptrue_ussd (%ecx),%xmm6,%xmm2
# Tests for op xmm/mem32, xmm, xmm
vaddss %xmm4,%xmm6,%xmm2
vaddss (%ecx),%xmm6,%xmm2
vcvtss2sd %xmm4,%xmm6,%xmm2
vcvtss2sd (%ecx),%xmm6,%xmm2
vdivss %xmm4,%xmm6,%xmm2
vdivss (%ecx),%xmm6,%xmm2
vmaxss %xmm4,%xmm6,%xmm2
vmaxss (%ecx),%xmm6,%xmm2
vminss %xmm4,%xmm6,%xmm2
vminss (%ecx),%xmm6,%xmm2
vmulss %xmm4,%xmm6,%xmm2
vmulss (%ecx),%xmm6,%xmm2
vrcpss %xmm4,%xmm6,%xmm2
vrcpss (%ecx),%xmm6,%xmm2
vrsqrtss %xmm4,%xmm6,%xmm2
vrsqrtss (%ecx),%xmm6,%xmm2
vsqrtss %xmm4,%xmm6,%xmm2
vsqrtss (%ecx),%xmm6,%xmm2
vsubss %xmm4,%xmm6,%xmm2
vsubss (%ecx),%xmm6,%xmm2
vcmpeqss %xmm4,%xmm6,%xmm2
vcmpeqss (%ecx),%xmm6,%xmm2
vcmpltss %xmm4,%xmm6,%xmm2
vcmpltss (%ecx),%xmm6,%xmm2
vcmpless %xmm4,%xmm6,%xmm2
vcmpless (%ecx),%xmm6,%xmm2
vcmpunordss %xmm4,%xmm6,%xmm2
vcmpunordss (%ecx),%xmm6,%xmm2
vcmpneqss %xmm4,%xmm6,%xmm2
vcmpneqss (%ecx),%xmm6,%xmm2
vcmpnltss %xmm4,%xmm6,%xmm2
vcmpnltss (%ecx),%xmm6,%xmm2
vcmpnless %xmm4,%xmm6,%xmm2
vcmpnless (%ecx),%xmm6,%xmm2
vcmpordss %xmm4,%xmm6,%xmm2
vcmpordss (%ecx),%xmm6,%xmm2
vcmpeq_uqss %xmm4,%xmm6,%xmm2
vcmpeq_uqss (%ecx),%xmm6,%xmm2
vcmpngess %xmm4,%xmm6,%xmm2
vcmpngess (%ecx),%xmm6,%xmm2
vcmpngtss %xmm4,%xmm6,%xmm2
vcmpngtss (%ecx),%xmm6,%xmm2
vcmpfalsess %xmm4,%xmm6,%xmm2
vcmpfalsess (%ecx),%xmm6,%xmm2
vcmpneq_oqss %xmm4,%xmm6,%xmm2
vcmpneq_oqss (%ecx),%xmm6,%xmm2
vcmpgess %xmm4,%xmm6,%xmm2
vcmpgess (%ecx),%xmm6,%xmm2
vcmpgtss %xmm4,%xmm6,%xmm2
vcmpgtss (%ecx),%xmm6,%xmm2
vcmptruess %xmm4,%xmm6,%xmm2
vcmptruess (%ecx),%xmm6,%xmm2
vcmpeq_osss %xmm4,%xmm6,%xmm2
vcmpeq_osss (%ecx),%xmm6,%xmm2
vcmplt_oqss %xmm4,%xmm6,%xmm2
vcmplt_oqss (%ecx),%xmm6,%xmm2
vcmple_oqss %xmm4,%xmm6,%xmm2
vcmple_oqss (%ecx),%xmm6,%xmm2
vcmpunord_sss %xmm4,%xmm6,%xmm2
vcmpunord_sss (%ecx),%xmm6,%xmm2
vcmpneq_usss %xmm4,%xmm6,%xmm2
vcmpneq_usss (%ecx),%xmm6,%xmm2
vcmpnlt_uqss %xmm4,%xmm6,%xmm2
vcmpnlt_uqss (%ecx),%xmm6,%xmm2
vcmpnle_uqss %xmm4,%xmm6,%xmm2
vcmpnle_uqss (%ecx),%xmm6,%xmm2
vcmpord_sss %xmm4,%xmm6,%xmm2
vcmpord_sss (%ecx),%xmm6,%xmm2
vcmpeq_usss %xmm4,%xmm6,%xmm2
vcmpeq_usss (%ecx),%xmm6,%xmm2
vcmpnge_uqss %xmm4,%xmm6,%xmm2
vcmpnge_uqss (%ecx),%xmm6,%xmm2
vcmpngt_uqss %xmm4,%xmm6,%xmm2
vcmpngt_uqss (%ecx),%xmm6,%xmm2
vcmpfalse_osss %xmm4,%xmm6,%xmm2
vcmpfalse_osss (%ecx),%xmm6,%xmm2
vcmpneq_osss %xmm4,%xmm6,%xmm2
vcmpneq_osss (%ecx),%xmm6,%xmm2
vcmpge_oqss %xmm4,%xmm6,%xmm2
vcmpge_oqss (%ecx),%xmm6,%xmm2
vcmpgt_oqss %xmm4,%xmm6,%xmm2
vcmpgt_oqss (%ecx),%xmm6,%xmm2
vcmptrue_usss %xmm4,%xmm6,%xmm2
vcmptrue_usss (%ecx),%xmm6,%xmm2
# Tests for op xmm/mem32, xmm
vcomiss %xmm4,%xmm6
vcomiss (%ecx),%xmm4
vucomiss %xmm4,%xmm6
vucomiss (%ecx),%xmm4
# Tests for op mem32, xmm
vmovss (%ecx),%xmm4
# Tests for op xmm, mem32
vmovss %xmm4,(%ecx)
# Tests for op xmm, regl/mem32
# Tests for op regl/mem32, xmm
vmovd %xmm4,%ecx
vmovd %xmm4,(%ecx)
vmovd %ecx,%xmm4
vmovd (%ecx),%xmm4
# Tests for op xmm/mem32, regl
vcvtss2si %xmm4,%ecx
vcvtss2si (%ecx),%ecx
vcvttss2si %xmm4,%ecx
vcvttss2si (%ecx),%ecx
# Tests for op regl/mem32, xmm, xmm
vcvtsi2sd %ecx,%xmm4,%xmm6
vcvtsi2sd (%ecx),%xmm4,%xmm6
vcvtsi2ss %ecx,%xmm4,%xmm6
vcvtsi2ss (%ecx),%xmm4,%xmm6
# Tests for op imm8, xmm/mem32, xmm, xmm
vcmpss $7,%xmm4,%xmm6,%xmm2
vcmpss $7,(%ecx),%xmm6,%xmm2
vroundss $7,%xmm4,%xmm6,%xmm2
vroundss $7,(%ecx),%xmm6,%xmm2
# Tests for op xmm, xmm
vmovq %xmm4,%xmm6
# Tests for op xmm, xmm, xmm
vmovsd %xmm4,%xmm6,%xmm2
vmovss %xmm4,%xmm6,%xmm2
#Tests with different memory and register operands.
vmovd %xmm0,0x1234
vcvtsi2sdl 0x1234,%xmm0,%xmm7
vmovd %xmm0,(%ebp)
vcvtsi2sdl (%ebp),%xmm0,%xmm7
vmovd %xmm0,(%esp)
vcvtsi2sdl (%esp),%xmm0,%xmm7
vmovd %xmm0,0x99(%ebp)
vcvtsi2sdl 0x99(%ebp),%xmm0,%xmm7
vmovd %xmm0,0x99(,%eiz)
vcvtsi2sdl 0x99(,%eiz),%xmm0,%xmm7
vmovd %xmm0,0x99(,%eiz,2)
vcvtsi2sdl 0x99(,%eiz,2),%xmm0,%xmm7
vmovd %xmm0,0x99(%eax,%eiz)
vcvtsi2sdl 0x99(%eax,%eiz),%xmm0,%xmm7
vmovd %xmm0,0x99(%eax,%eiz,2)
vcvtsi2sdl 0x99(%eax,%eiz,2),%xmm0,%xmm7
vmovd %xmm0,0x99(%eax,%ebx,4)
vcvtsi2sdl 0x99(%eax,%ebx,4),%xmm0,%xmm7
vmovd %xmm0,0x99(%esp,%ecx,8)
vcvtsi2sdl 0x99(%esp,%ecx,8),%xmm0,%xmm7
vmovd %xmm0,0x99(%ebp,%edx,1)
vcvtsi2sdl 0x99(%ebp,%edx,1),%xmm0,%xmm7
.intel_syntax noprefix
# Tests for op xmm/mem64, xmm
vcomisd xmm6,xmm4
vcomisd xmm4,QWORD PTR [ecx]
vcomisd xmm4,[ecx]
vucomisd xmm6,xmm4
vucomisd xmm4,QWORD PTR [ecx]
vucomisd xmm4,[ecx]
# Tests for op mem64, xmm
vmovsd xmm4,QWORD PTR [ecx]
vmovsd xmm4,[ecx]
# Tests for op xmm, mem64
vmovsd QWORD PTR [ecx],xmm4
vmovsd [ecx],xmm4
# Tests for op xmm, regq/mem64
# Tests for op regq/mem64, xmm
vmovq QWORD PTR [ecx],xmm4
vmovq xmm4,QWORD PTR [ecx]
vmovq [ecx],xmm4
vmovq xmm4,[ecx]
# Tests for op xmm/mem64, regl
vcvtsd2si ecx,xmm4
vcvtsd2si ecx,QWORD PTR [ecx]
vcvtsd2si ecx,[ecx]
vcvttsd2si ecx,xmm4
vcvttsd2si ecx,QWORD PTR [ecx]
vcvttsd2si ecx,[ecx]
# Tests for op imm8, xmm/mem64, xmm, xmm
vcmpsd xmm2,xmm6,xmm4,7
vcmpsd xmm2,xmm6,QWORD PTR [ecx],7
vcmpsd xmm2,xmm6,[ecx],7
vroundsd xmm2,xmm6,xmm4,7
vroundsd xmm2,xmm6,QWORD PTR [ecx],7
vroundsd xmm2,xmm6,[ecx],7
# Tests for op xmm/mem64, xmm, xmm
vaddsd xmm2,xmm6,xmm4
vaddsd xmm2,xmm6,QWORD PTR [ecx]
vaddsd xmm2,xmm6,[ecx]
vcvtsd2ss xmm2,xmm6,xmm4
vcvtsd2ss xmm2,xmm6,QWORD PTR [ecx]
vcvtsd2ss xmm2,xmm6,[ecx]
vdivsd xmm2,xmm6,xmm4
vdivsd xmm2,xmm6,QWORD PTR [ecx]
vdivsd xmm2,xmm6,[ecx]
vmaxsd xmm2,xmm6,xmm4
vmaxsd xmm2,xmm6,QWORD PTR [ecx]
vmaxsd xmm2,xmm6,[ecx]
vminsd xmm2,xmm6,xmm4
vminsd xmm2,xmm6,QWORD PTR [ecx]
vminsd xmm2,xmm6,[ecx]
vmulsd xmm2,xmm6,xmm4
vmulsd xmm2,xmm6,QWORD PTR [ecx]
vmulsd xmm2,xmm6,[ecx]
vsqrtsd xmm2,xmm6,xmm4
vsqrtsd xmm2,xmm6,QWORD PTR [ecx]
vsqrtsd xmm2,xmm6,[ecx]
vsubsd xmm2,xmm6,xmm4
vsubsd xmm2,xmm6,QWORD PTR [ecx]
vsubsd xmm2,xmm6,[ecx]
vcmpeqsd xmm2,xmm6,xmm4
vcmpeqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpeqsd xmm2,xmm6,[ecx]
vcmpltsd xmm2,xmm6,xmm4
vcmpltsd xmm2,xmm6,QWORD PTR [ecx]
vcmpltsd xmm2,xmm6,[ecx]
vcmplesd xmm2,xmm6,xmm4
vcmplesd xmm2,xmm6,QWORD PTR [ecx]
vcmplesd xmm2,xmm6,[ecx]
vcmpunordsd xmm2,xmm6,xmm4
vcmpunordsd xmm2,xmm6,QWORD PTR [ecx]
vcmpunordsd xmm2,xmm6,[ecx]
vcmpneqsd xmm2,xmm6,xmm4
vcmpneqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpneqsd xmm2,xmm6,[ecx]
vcmpnltsd xmm2,xmm6,xmm4
vcmpnltsd xmm2,xmm6,QWORD PTR [ecx]
vcmpnltsd xmm2,xmm6,[ecx]
vcmpnlesd xmm2,xmm6,xmm4
vcmpnlesd xmm2,xmm6,QWORD PTR [ecx]
vcmpnlesd xmm2,xmm6,[ecx]
vcmpordsd xmm2,xmm6,xmm4
vcmpordsd xmm2,xmm6,QWORD PTR [ecx]
vcmpordsd xmm2,xmm6,[ecx]
vcmpeq_uqsd xmm2,xmm6,xmm4
vcmpeq_uqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpeq_uqsd xmm2,xmm6,[ecx]
vcmpngesd xmm2,xmm6,xmm4
vcmpngesd xmm2,xmm6,QWORD PTR [ecx]
vcmpngesd xmm2,xmm6,[ecx]
vcmpngtsd xmm2,xmm6,xmm4
vcmpngtsd xmm2,xmm6,QWORD PTR [ecx]
vcmpngtsd xmm2,xmm6,[ecx]
vcmpfalsesd xmm2,xmm6,xmm4
vcmpfalsesd xmm2,xmm6,QWORD PTR [ecx]
vcmpfalsesd xmm2,xmm6,[ecx]
vcmpneq_oqsd xmm2,xmm6,xmm4
vcmpneq_oqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpneq_oqsd xmm2,xmm6,[ecx]
vcmpgesd xmm2,xmm6,xmm4
vcmpgesd xmm2,xmm6,QWORD PTR [ecx]
vcmpgesd xmm2,xmm6,[ecx]
vcmpgtsd xmm2,xmm6,xmm4
vcmpgtsd xmm2,xmm6,QWORD PTR [ecx]
vcmpgtsd xmm2,xmm6,[ecx]
vcmptruesd xmm2,xmm6,xmm4
vcmptruesd xmm2,xmm6,QWORD PTR [ecx]
vcmptruesd xmm2,xmm6,[ecx]
vcmpeq_ossd xmm2,xmm6,xmm4
vcmpeq_ossd xmm2,xmm6,QWORD PTR [ecx]
vcmpeq_ossd xmm2,xmm6,[ecx]
vcmplt_oqsd xmm2,xmm6,xmm4
vcmplt_oqsd xmm2,xmm6,QWORD PTR [ecx]
vcmplt_oqsd xmm2,xmm6,[ecx]
vcmple_oqsd xmm2,xmm6,xmm4
vcmple_oqsd xmm2,xmm6,QWORD PTR [ecx]
vcmple_oqsd xmm2,xmm6,[ecx]
vcmpunord_ssd xmm2,xmm6,xmm4
vcmpunord_ssd xmm2,xmm6,QWORD PTR [ecx]
vcmpunord_ssd xmm2,xmm6,[ecx]
vcmpneq_ussd xmm2,xmm6,xmm4
vcmpneq_ussd xmm2,xmm6,QWORD PTR [ecx]
vcmpneq_ussd xmm2,xmm6,[ecx]
vcmpnlt_uqsd xmm2,xmm6,xmm4
vcmpnlt_uqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpnlt_uqsd xmm2,xmm6,[ecx]
vcmpnle_uqsd xmm2,xmm6,xmm4
vcmpnle_uqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpnle_uqsd xmm2,xmm6,[ecx]
vcmpord_ssd xmm2,xmm6,xmm4
vcmpord_ssd xmm2,xmm6,QWORD PTR [ecx]
vcmpord_ssd xmm2,xmm6,[ecx]
vcmpeq_ussd xmm2,xmm6,xmm4
vcmpeq_ussd xmm2,xmm6,QWORD PTR [ecx]
vcmpeq_ussd xmm2,xmm6,[ecx]
vcmpnge_uqsd xmm2,xmm6,xmm4
vcmpnge_uqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpnge_uqsd xmm2,xmm6,[ecx]
vcmpngt_uqsd xmm2,xmm6,xmm4
vcmpngt_uqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpngt_uqsd xmm2,xmm6,[ecx]
vcmpfalse_ossd xmm2,xmm6,xmm4
vcmpfalse_ossd xmm2,xmm6,QWORD PTR [ecx]
vcmpfalse_ossd xmm2,xmm6,[ecx]
vcmpneq_ossd xmm2,xmm6,xmm4
vcmpneq_ossd xmm2,xmm6,QWORD PTR [ecx]
vcmpneq_ossd xmm2,xmm6,[ecx]
vcmpge_oqsd xmm2,xmm6,xmm4
vcmpge_oqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpge_oqsd xmm2,xmm6,[ecx]
vcmpgt_oqsd xmm2,xmm6,xmm4
vcmpgt_oqsd xmm2,xmm6,QWORD PTR [ecx]
vcmpgt_oqsd xmm2,xmm6,[ecx]
vcmptrue_ussd xmm2,xmm6,xmm4
vcmptrue_ussd xmm2,xmm6,QWORD PTR [ecx]
vcmptrue_ussd xmm2,xmm6,[ecx]
# Tests for op xmm/mem32, xmm, xmm
vaddss xmm2,xmm6,xmm4
vaddss xmm2,xmm6,DWORD PTR [ecx]
vaddss xmm2,xmm6,[ecx]
vcvtss2sd xmm2,xmm6,xmm4
vcvtss2sd xmm2,xmm6,DWORD PTR [ecx]
vcvtss2sd xmm2,xmm6,[ecx]
vdivss xmm2,xmm6,xmm4
vdivss xmm2,xmm6,DWORD PTR [ecx]
vdivss xmm2,xmm6,[ecx]
vmaxss xmm2,xmm6,xmm4
vmaxss xmm2,xmm6,DWORD PTR [ecx]
vmaxss xmm2,xmm6,[ecx]
vminss xmm2,xmm6,xmm4
vminss xmm2,xmm6,DWORD PTR [ecx]
vminss xmm2,xmm6,[ecx]
vmulss xmm2,xmm6,xmm4
vmulss xmm2,xmm6,DWORD PTR [ecx]
vmulss xmm2,xmm6,[ecx]
vrcpss xmm2,xmm6,xmm4
vrcpss xmm2,xmm6,DWORD PTR [ecx]
vrcpss xmm2,xmm6,[ecx]
vrsqrtss xmm2,xmm6,xmm4
vrsqrtss xmm2,xmm6,DWORD PTR [ecx]
vrsqrtss xmm2,xmm6,[ecx]
vsqrtss xmm2,xmm6,xmm4
vsqrtss xmm2,xmm6,DWORD PTR [ecx]
vsqrtss xmm2,xmm6,[ecx]
vsubss xmm2,xmm6,xmm4
vsubss xmm2,xmm6,DWORD PTR [ecx]
vsubss xmm2,xmm6,[ecx]
vcmpeqss xmm2,xmm6,xmm4
vcmpeqss xmm2,xmm6,DWORD PTR [ecx]
vcmpeqss xmm2,xmm6,[ecx]
vcmpltss xmm2,xmm6,xmm4
vcmpltss xmm2,xmm6,DWORD PTR [ecx]
vcmpltss xmm2,xmm6,[ecx]
vcmpless xmm2,xmm6,xmm4
vcmpless xmm2,xmm6,DWORD PTR [ecx]
vcmpless xmm2,xmm6,[ecx]
vcmpunordss xmm2,xmm6,xmm4
vcmpunordss xmm2,xmm6,DWORD PTR [ecx]
vcmpunordss xmm2,xmm6,[ecx]
vcmpneqss xmm2,xmm6,xmm4
vcmpneqss xmm2,xmm6,DWORD PTR [ecx]
vcmpneqss xmm2,xmm6,[ecx]
vcmpnltss xmm2,xmm6,xmm4
vcmpnltss xmm2,xmm6,DWORD PTR [ecx]
vcmpnltss xmm2,xmm6,[ecx]
vcmpnless xmm2,xmm6,xmm4
vcmpnless xmm2,xmm6,DWORD PTR [ecx]
vcmpnless xmm2,xmm6,[ecx]
vcmpordss xmm2,xmm6,xmm4
vcmpordss xmm2,xmm6,DWORD PTR [ecx]
vcmpordss xmm2,xmm6,[ecx]
vcmpeq_uqss xmm2,xmm6,xmm4
vcmpeq_uqss xmm2,xmm6,DWORD PTR [ecx]
vcmpeq_uqss xmm2,xmm6,[ecx]
vcmpngess xmm2,xmm6,xmm4
vcmpngess xmm2,xmm6,DWORD PTR [ecx]
vcmpngess xmm2,xmm6,[ecx]
vcmpngtss xmm2,xmm6,xmm4
vcmpngtss xmm2,xmm6,DWORD PTR [ecx]
vcmpngtss xmm2,xmm6,[ecx]
vcmpfalsess xmm2,xmm6,xmm4
vcmpfalsess xmm2,xmm6,DWORD PTR [ecx]
vcmpfalsess xmm2,xmm6,[ecx]
vcmpneq_oqss xmm2,xmm6,xmm4
vcmpneq_oqss xmm2,xmm6,DWORD PTR [ecx]
vcmpneq_oqss xmm2,xmm6,[ecx]
vcmpgess xmm2,xmm6,xmm4
vcmpgess xmm2,xmm6,DWORD PTR [ecx]
vcmpgess xmm2,xmm6,[ecx]
vcmpgtss xmm2,xmm6,xmm4
vcmpgtss xmm2,xmm6,DWORD PTR [ecx]
vcmpgtss xmm2,xmm6,[ecx]
vcmptruess xmm2,xmm6,xmm4
vcmptruess xmm2,xmm6,DWORD PTR [ecx]
vcmptruess xmm2,xmm6,[ecx]
vcmpeq_osss xmm2,xmm6,xmm4
vcmpeq_osss xmm2,xmm6,DWORD PTR [ecx]
vcmpeq_osss xmm2,xmm6,[ecx]
vcmplt_oqss xmm2,xmm6,xmm4
vcmplt_oqss xmm2,xmm6,DWORD PTR [ecx]
vcmplt_oqss xmm2,xmm6,[ecx]
vcmple_oqss xmm2,xmm6,xmm4
vcmple_oqss xmm2,xmm6,DWORD PTR [ecx]
vcmple_oqss xmm2,xmm6,[ecx]
vcmpunord_sss xmm2,xmm6,xmm4
vcmpunord_sss xmm2,xmm6,DWORD PTR [ecx]
vcmpunord_sss xmm2,xmm6,[ecx]
vcmpneq_usss xmm2,xmm6,xmm4
vcmpneq_usss xmm2,xmm6,DWORD PTR [ecx]
vcmpneq_usss xmm2,xmm6,[ecx]
vcmpnlt_uqss xmm2,xmm6,xmm4
vcmpnlt_uqss xmm2,xmm6,DWORD PTR [ecx]
vcmpnlt_uqss xmm2,xmm6,[ecx]
vcmpnle_uqss xmm2,xmm6,xmm4
vcmpnle_uqss xmm2,xmm6,DWORD PTR [ecx]
vcmpnle_uqss xmm2,xmm6,[ecx]
vcmpord_sss xmm2,xmm6,xmm4
vcmpord_sss xmm2,xmm6,DWORD PTR [ecx]
vcmpord_sss xmm2,xmm6,[ecx]
vcmpeq_usss xmm2,xmm6,xmm4
vcmpeq_usss xmm2,xmm6,DWORD PTR [ecx]
vcmpeq_usss xmm2,xmm6,[ecx]
vcmpnge_uqss xmm2,xmm6,xmm4
vcmpnge_uqss xmm2,xmm6,DWORD PTR [ecx]
vcmpnge_uqss xmm2,xmm6,[ecx]
vcmpngt_uqss xmm2,xmm6,xmm4
vcmpngt_uqss xmm2,xmm6,DWORD PTR [ecx]
vcmpngt_uqss xmm2,xmm6,[ecx]
vcmpfalse_osss xmm2,xmm6,xmm4
vcmpfalse_osss xmm2,xmm6,DWORD PTR [ecx]
vcmpfalse_osss xmm2,xmm6,[ecx]
vcmpneq_osss xmm2,xmm6,xmm4
vcmpneq_osss xmm2,xmm6,DWORD PTR [ecx]
vcmpneq_osss xmm2,xmm6,[ecx]
vcmpge_oqss xmm2,xmm6,xmm4
vcmpge_oqss xmm2,xmm6,DWORD PTR [ecx]
vcmpge_oqss xmm2,xmm6,[ecx]
vcmpgt_oqss xmm2,xmm6,xmm4
vcmpgt_oqss xmm2,xmm6,DWORD PTR [ecx]
vcmpgt_oqss xmm2,xmm6,[ecx]
vcmptrue_usss xmm2,xmm6,xmm4
vcmptrue_usss xmm2,xmm6,DWORD PTR [ecx]
vcmptrue_usss xmm2,xmm6,[ecx]
# Tests for op xmm/mem32, xmm
vcomiss xmm6,xmm4
vcomiss xmm4,DWORD PTR [ecx]
vcomiss xmm4,[ecx]
vucomiss xmm6,xmm4
vucomiss xmm4,DWORD PTR [ecx]
vucomiss xmm4,[ecx]
# Tests for op mem32, xmm
vmovss xmm4,DWORD PTR [ecx]
vmovss xmm4,[ecx]
# Tests for op xmm, mem32
vmovss DWORD PTR [ecx],xmm4
vmovss [ecx],xmm4
# Tests for op xmm, regl/mem32
# Tests for op regl/mem32, xmm
vmovd ecx,xmm4
vmovd DWORD PTR [ecx],xmm4
vmovd xmm4,ecx
vmovd xmm4,DWORD PTR [ecx]
vmovd [ecx],xmm4
vmovd xmm4,[ecx]
# Tests for op xmm/mem32, regl
vcvtss2si ecx,xmm4
vcvtss2si ecx,DWORD PTR [ecx]
vcvtss2si ecx,[ecx]
vcvttss2si ecx,xmm4
vcvttss2si ecx,DWORD PTR [ecx]
vcvttss2si ecx,[ecx]
# Tests for op regl/mem32, xmm, xmm
vcvtsi2sd xmm6,xmm4,ecx
vcvtsi2sd xmm6,xmm4,DWORD PTR [ecx]
vcvtsi2sd xmm6,xmm4,[ecx]
vcvtsi2ss xmm6,xmm4,ecx
vcvtsi2ss xmm6,xmm4,DWORD PTR [ecx]
vcvtsi2ss xmm6,xmm4,[ecx]
# Tests for op imm8, xmm/mem32, xmm, xmm
vcmpss xmm2,xmm6,xmm4,7
vcmpss xmm2,xmm6,DWORD PTR [ecx],7
vcmpss xmm2,xmm6,[ecx],7
vroundss xmm2,xmm6,xmm4,7
vroundss xmm2,xmm6,DWORD PTR [ecx],7
vroundss xmm2,xmm6,[ecx],7
# Tests for op xmm, xmm
vmovq xmm6,xmm4
# Tests for op xmm, xmm, xmm
vmovsd xmm2,xmm6,xmm4
vmovss xmm2,xmm6,xmm4
#Tests with different memory and register operands.
vmovd DWORD PTR ds:0x1234,xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
vmovd DWORD PTR [ebp],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp]
vmovd DWORD PTR [ebp+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+0x99]
vmovd DWORD PTR [eiz*1+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*1+0x99]
vmovd DWORD PTR [eiz*2+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*2+0x99]
vmovd DWORD PTR [eax+eiz*1+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*1+0x99]
vmovd DWORD PTR [eax+eiz*2+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*2+0x99]
vmovd DWORD PTR [eax+ebx*4+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+ebx*4+0x99]
vmovd DWORD PTR [esp+ecx*8+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [esp+ecx*8+0x99]
vmovd DWORD PTR [ebp+edx*1+0x99],xmm0
vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+edx*1+0x99]