| # 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] |