| # Check 64bit AVX scalar instructions |
| |
| .allow_index_reg |
| .text |
| _start: |
| |
| # Tests for op xmm/mem64, xmm |
| vcomisd %xmm4,%xmm6 |
| vcomisd (%rcx),%xmm4 |
| vucomisd %xmm4,%xmm6 |
| vucomisd (%rcx),%xmm4 |
| |
| # Tests for op mem64, xmm |
| vmovsd (%rcx),%xmm4 |
| |
| # Tests for op xmm, mem64 |
| vmovsd %xmm4,(%rcx) |
| |
| # Tests for op xmm, regq/mem64 |
| # Tests for op regq/mem64, xmm |
| vmovd %xmm4,%rcx |
| vmovd %rcx,%xmm4 |
| vmovq %xmm4,%rcx |
| vmovq %rcx,%xmm4 |
| vmovq %xmm4,(%rcx) |
| vmovq (%rcx),%xmm4 |
| |
| # Tests for op xmm/mem64, regl |
| vcvtsd2si %xmm4,%ecx |
| vcvtsd2si (%rcx),%ecx |
| vcvttsd2si %xmm4,%ecx |
| vcvttsd2si (%rcx),%ecx |
| |
| # Tests for op xmm/mem64, regq |
| vcvtsd2si %xmm4,%rcx |
| vcvtsd2si (%rcx),%rcx |
| vcvttsd2si %xmm4,%rcx |
| vcvttsd2si (%rcx),%rcx |
| |
| # Tests for op regq/mem64, xmm, xmm |
| vcvtsi2sdq %rcx,%xmm4,%xmm6 |
| vcvtsi2sdq (%rcx),%xmm4,%xmm6 |
| vcvtsi2ssq %rcx,%xmm4,%xmm6 |
| vcvtsi2ssq (%rcx),%xmm4,%xmm6 |
| |
| # Tests for op imm8, xmm/mem64, xmm, xmm |
| vcmpsd $7,%xmm4,%xmm6,%xmm2 |
| vcmpsd $7,(%rcx),%xmm6,%xmm2 |
| vroundsd $7,%xmm4,%xmm6,%xmm2 |
| vroundsd $7,(%rcx),%xmm6,%xmm2 |
| |
| # Tests for op xmm/mem64, xmm, xmm |
| vaddsd %xmm4,%xmm6,%xmm2 |
| vaddsd (%rcx),%xmm6,%xmm2 |
| vcvtsd2ss %xmm4,%xmm6,%xmm2 |
| vcvtsd2ss (%rcx),%xmm6,%xmm2 |
| vdivsd %xmm4,%xmm6,%xmm2 |
| vdivsd (%rcx),%xmm6,%xmm2 |
| vmaxsd %xmm4,%xmm6,%xmm2 |
| vmaxsd (%rcx),%xmm6,%xmm2 |
| vminsd %xmm4,%xmm6,%xmm2 |
| vminsd (%rcx),%xmm6,%xmm2 |
| vmulsd %xmm4,%xmm6,%xmm2 |
| vmulsd (%rcx),%xmm6,%xmm2 |
| vsqrtsd %xmm4,%xmm6,%xmm2 |
| vsqrtsd (%rcx),%xmm6,%xmm2 |
| vsubsd %xmm4,%xmm6,%xmm2 |
| vsubsd (%rcx),%xmm6,%xmm2 |
| vcmpeqsd %xmm4,%xmm6,%xmm2 |
| vcmpeqsd (%rcx),%xmm6,%xmm2 |
| vcmpltsd %xmm4,%xmm6,%xmm2 |
| vcmpltsd (%rcx),%xmm6,%xmm2 |
| vcmplesd %xmm4,%xmm6,%xmm2 |
| vcmplesd (%rcx),%xmm6,%xmm2 |
| vcmpunordsd %xmm4,%xmm6,%xmm2 |
| vcmpunordsd (%rcx),%xmm6,%xmm2 |
| vcmpneqsd %xmm4,%xmm6,%xmm2 |
| vcmpneqsd (%rcx),%xmm6,%xmm2 |
| vcmpnltsd %xmm4,%xmm6,%xmm2 |
| vcmpnltsd (%rcx),%xmm6,%xmm2 |
| vcmpnlesd %xmm4,%xmm6,%xmm2 |
| vcmpnlesd (%rcx),%xmm6,%xmm2 |
| vcmpordsd %xmm4,%xmm6,%xmm2 |
| vcmpordsd (%rcx),%xmm6,%xmm2 |
| vcmpeq_uqsd %xmm4,%xmm6,%xmm2 |
| vcmpeq_uqsd (%rcx),%xmm6,%xmm2 |
| vcmpngesd %xmm4,%xmm6,%xmm2 |
| vcmpngesd (%rcx),%xmm6,%xmm2 |
| vcmpngtsd %xmm4,%xmm6,%xmm2 |
| vcmpngtsd (%rcx),%xmm6,%xmm2 |
| vcmpfalsesd %xmm4,%xmm6,%xmm2 |
| vcmpfalsesd (%rcx),%xmm6,%xmm2 |
| vcmpneq_oqsd %xmm4,%xmm6,%xmm2 |
| vcmpneq_oqsd (%rcx),%xmm6,%xmm2 |
| vcmpgesd %xmm4,%xmm6,%xmm2 |
| vcmpgesd (%rcx),%xmm6,%xmm2 |
| vcmpgtsd %xmm4,%xmm6,%xmm2 |
| vcmpgtsd (%rcx),%xmm6,%xmm2 |
| vcmptruesd %xmm4,%xmm6,%xmm2 |
| vcmptruesd (%rcx),%xmm6,%xmm2 |
| vcmpeq_ossd %xmm4,%xmm6,%xmm2 |
| vcmpeq_ossd (%rcx),%xmm6,%xmm2 |
| vcmplt_oqsd %xmm4,%xmm6,%xmm2 |
| vcmplt_oqsd (%rcx),%xmm6,%xmm2 |
| vcmple_oqsd %xmm4,%xmm6,%xmm2 |
| vcmple_oqsd (%rcx),%xmm6,%xmm2 |
| vcmpunord_ssd %xmm4,%xmm6,%xmm2 |
| vcmpunord_ssd (%rcx),%xmm6,%xmm2 |
| vcmpneq_ussd %xmm4,%xmm6,%xmm2 |
| vcmpneq_ussd (%rcx),%xmm6,%xmm2 |
| vcmpnlt_uqsd %xmm4,%xmm6,%xmm2 |
| vcmpnlt_uqsd (%rcx),%xmm6,%xmm2 |
| vcmpnle_uqsd %xmm4,%xmm6,%xmm2 |
| vcmpnle_uqsd (%rcx),%xmm6,%xmm2 |
| vcmpord_ssd %xmm4,%xmm6,%xmm2 |
| vcmpord_ssd (%rcx),%xmm6,%xmm2 |
| vcmpeq_ussd %xmm4,%xmm6,%xmm2 |
| vcmpeq_ussd (%rcx),%xmm6,%xmm2 |
| vcmpnge_uqsd %xmm4,%xmm6,%xmm2 |
| vcmpnge_uqsd (%rcx),%xmm6,%xmm2 |
| vcmpngt_uqsd %xmm4,%xmm6,%xmm2 |
| vcmpngt_uqsd (%rcx),%xmm6,%xmm2 |
| vcmpfalse_ossd %xmm4,%xmm6,%xmm2 |
| vcmpfalse_ossd (%rcx),%xmm6,%xmm2 |
| vcmpneq_ossd %xmm4,%xmm6,%xmm2 |
| vcmpneq_ossd (%rcx),%xmm6,%xmm2 |
| vcmpge_oqsd %xmm4,%xmm6,%xmm2 |
| vcmpge_oqsd (%rcx),%xmm6,%xmm2 |
| vcmpgt_oqsd %xmm4,%xmm6,%xmm2 |
| vcmpgt_oqsd (%rcx),%xmm6,%xmm2 |
| vcmptrue_ussd %xmm4,%xmm6,%xmm2 |
| vcmptrue_ussd (%rcx),%xmm6,%xmm2 |
| |
| # Tests for op xmm/mem32, xmm, xmm |
| vaddss %xmm4,%xmm6,%xmm2 |
| vaddss (%rcx),%xmm6,%xmm2 |
| vcvtss2sd %xmm4,%xmm6,%xmm2 |
| vcvtss2sd (%rcx),%xmm6,%xmm2 |
| vdivss %xmm4,%xmm6,%xmm2 |
| vdivss (%rcx),%xmm6,%xmm2 |
| vmaxss %xmm4,%xmm6,%xmm2 |
| vmaxss (%rcx),%xmm6,%xmm2 |
| vminss %xmm4,%xmm6,%xmm2 |
| vminss (%rcx),%xmm6,%xmm2 |
| vmulss %xmm4,%xmm6,%xmm2 |
| vmulss (%rcx),%xmm6,%xmm2 |
| vrcpss %xmm4,%xmm6,%xmm2 |
| vrcpss (%rcx),%xmm6,%xmm2 |
| vrsqrtss %xmm4,%xmm6,%xmm2 |
| vrsqrtss (%rcx),%xmm6,%xmm2 |
| vsqrtss %xmm4,%xmm6,%xmm2 |
| vsqrtss (%rcx),%xmm6,%xmm2 |
| vsubss %xmm4,%xmm6,%xmm2 |
| vsubss (%rcx),%xmm6,%xmm2 |
| vcmpeqss %xmm4,%xmm6,%xmm2 |
| vcmpeqss (%rcx),%xmm6,%xmm2 |
| vcmpltss %xmm4,%xmm6,%xmm2 |
| vcmpltss (%rcx),%xmm6,%xmm2 |
| vcmpless %xmm4,%xmm6,%xmm2 |
| vcmpless (%rcx),%xmm6,%xmm2 |
| vcmpunordss %xmm4,%xmm6,%xmm2 |
| vcmpunordss (%rcx),%xmm6,%xmm2 |
| vcmpneqss %xmm4,%xmm6,%xmm2 |
| vcmpneqss (%rcx),%xmm6,%xmm2 |
| vcmpnltss %xmm4,%xmm6,%xmm2 |
| vcmpnltss (%rcx),%xmm6,%xmm2 |
| vcmpnless %xmm4,%xmm6,%xmm2 |
| vcmpnless (%rcx),%xmm6,%xmm2 |
| vcmpordss %xmm4,%xmm6,%xmm2 |
| vcmpordss (%rcx),%xmm6,%xmm2 |
| vcmpeq_uqss %xmm4,%xmm6,%xmm2 |
| vcmpeq_uqss (%rcx),%xmm6,%xmm2 |
| vcmpngess %xmm4,%xmm6,%xmm2 |
| vcmpngess (%rcx),%xmm6,%xmm2 |
| vcmpngtss %xmm4,%xmm6,%xmm2 |
| vcmpngtss (%rcx),%xmm6,%xmm2 |
| vcmpfalsess %xmm4,%xmm6,%xmm2 |
| vcmpfalsess (%rcx),%xmm6,%xmm2 |
| vcmpneq_oqss %xmm4,%xmm6,%xmm2 |
| vcmpneq_oqss (%rcx),%xmm6,%xmm2 |
| vcmpgess %xmm4,%xmm6,%xmm2 |
| vcmpgess (%rcx),%xmm6,%xmm2 |
| vcmpgtss %xmm4,%xmm6,%xmm2 |
| vcmpgtss (%rcx),%xmm6,%xmm2 |
| vcmptruess %xmm4,%xmm6,%xmm2 |
| vcmptruess (%rcx),%xmm6,%xmm2 |
| vcmpeq_osss %xmm4,%xmm6,%xmm2 |
| vcmpeq_osss (%rcx),%xmm6,%xmm2 |
| vcmplt_oqss %xmm4,%xmm6,%xmm2 |
| vcmplt_oqss (%rcx),%xmm6,%xmm2 |
| vcmple_oqss %xmm4,%xmm6,%xmm2 |
| vcmple_oqss (%rcx),%xmm6,%xmm2 |
| vcmpunord_sss %xmm4,%xmm6,%xmm2 |
| vcmpunord_sss (%rcx),%xmm6,%xmm2 |
| vcmpneq_usss %xmm4,%xmm6,%xmm2 |
| vcmpneq_usss (%rcx),%xmm6,%xmm2 |
| vcmpnlt_uqss %xmm4,%xmm6,%xmm2 |
| vcmpnlt_uqss (%rcx),%xmm6,%xmm2 |
| vcmpnle_uqss %xmm4,%xmm6,%xmm2 |
| vcmpnle_uqss (%rcx),%xmm6,%xmm2 |
| vcmpord_sss %xmm4,%xmm6,%xmm2 |
| vcmpord_sss (%rcx),%xmm6,%xmm2 |
| vcmpeq_usss %xmm4,%xmm6,%xmm2 |
| vcmpeq_usss (%rcx),%xmm6,%xmm2 |
| vcmpnge_uqss %xmm4,%xmm6,%xmm2 |
| vcmpnge_uqss (%rcx),%xmm6,%xmm2 |
| vcmpngt_uqss %xmm4,%xmm6,%xmm2 |
| vcmpngt_uqss (%rcx),%xmm6,%xmm2 |
| vcmpfalse_osss %xmm4,%xmm6,%xmm2 |
| vcmpfalse_osss (%rcx),%xmm6,%xmm2 |
| vcmpneq_osss %xmm4,%xmm6,%xmm2 |
| vcmpneq_osss (%rcx),%xmm6,%xmm2 |
| vcmpge_oqss %xmm4,%xmm6,%xmm2 |
| vcmpge_oqss (%rcx),%xmm6,%xmm2 |
| vcmpgt_oqss %xmm4,%xmm6,%xmm2 |
| vcmpgt_oqss (%rcx),%xmm6,%xmm2 |
| vcmptrue_usss %xmm4,%xmm6,%xmm2 |
| vcmptrue_usss (%rcx),%xmm6,%xmm2 |
| |
| # Tests for op xmm/mem32, xmm |
| vcomiss %xmm4,%xmm6 |
| vcomiss (%rcx),%xmm4 |
| vucomiss %xmm4,%xmm6 |
| vucomiss (%rcx),%xmm4 |
| |
| # Tests for op mem32, xmm |
| vmovss (%rcx),%xmm4 |
| |
| # Tests for op xmm, mem32 |
| vmovss %xmm4,(%rcx) |
| |
| # Tests for op xmm, regl/mem32 |
| # Tests for op regl/mem32, xmm |
| vmovd %xmm4,%ecx |
| vmovd %xmm4,(%rcx) |
| vmovd %ecx,%xmm4 |
| vmovd (%rcx),%xmm4 |
| |
| # Tests for op xmm/mem32, regl |
| vcvtss2si %xmm4,%ecx |
| vcvtss2si (%rcx),%ecx |
| vcvttss2si %xmm4,%ecx |
| vcvttss2si (%rcx),%ecx |
| |
| # Tests for op xmm/mem32, regq |
| vcvtss2si %xmm4,%rcx |
| vcvtss2si (%rcx),%rcx |
| vcvttss2si %xmm4,%rcx |
| vcvttss2si (%rcx),%rcx |
| |
| # Tests for op regl/mem32, xmm, xmm |
| vcvtsi2sd %ecx,%xmm4,%xmm6 |
| vcvtsi2sd (%rcx),%xmm4,%xmm6 |
| vcvtsi2ss %ecx,%xmm4,%xmm6 |
| vcvtsi2ss (%rcx),%xmm4,%xmm6 |
| |
| # Tests for op imm8, xmm/mem32, xmm, xmm |
| vcmpss $7,%xmm4,%xmm6,%xmm2 |
| vcmpss $7,(%rcx),%xmm6,%xmm2 |
| vroundss $7,%xmm4,%xmm6,%xmm2 |
| vroundss $7,(%rcx),%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 %xmm8,0x12345678 |
| vcvtsi2sdl 0x12345678,%xmm8,%xmm15 |
| vmovd %xmm8,(%rbp) |
| vcvtsi2sdl (%rbp),%xmm8,%xmm15 |
| vmovd %xmm8,(%rsp) |
| vcvtsi2sdl (%rsp),%xmm8,%xmm15 |
| vmovd %xmm8,0x99(%rbp) |
| vcvtsi2sdl 0x99(%rbp),%xmm8,%xmm15 |
| vmovd %xmm8,0x99(%r15) |
| vcvtsi2sdl 0x99(%r15),%xmm8,%xmm15 |
| vmovd %xmm8,0x99(%rip) |
| vcvtsi2sdl 0x99(%rip),%xmm8,%xmm15 |
| vmovd %xmm8,0x99(%rsp) |
| vcvtsi2sdl 0x99(%rsp),%xmm8,%xmm15 |
| vmovd %xmm8,0x99(%r12) |
| vcvtsi2sdl 0x99(%r12),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(,%riz) |
| vcvtsi2sdl -0x99(,%riz),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(,%riz,2) |
| vcvtsi2sdl -0x99(,%riz,2),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(%rbx,%riz) |
| vcvtsi2sdl -0x99(%rbx,%riz),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(%rbx,%riz,2) |
| vcvtsi2sdl -0x99(%rbx,%riz,2),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(%r12,%r15,4) |
| vcvtsi2sdl -0x99(%r12,%r15,4),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(%r8,%r15,8) |
| vcvtsi2sdl -0x99(%r8,%r15,8),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(%rbp,%r13,4) |
| vcvtsi2sdl -0x99(%rbp,%r13,4),%xmm8,%xmm15 |
| vmovd %xmm8,-0x99(%rsp,%r12,1) |
| vcvtsi2sdl -0x99(%rsp,%r12,1),%xmm8,%xmm15 |
| # Tests for all register operands. |
| vmovd %xmm8,%r8d |
| vcvtsd2si %xmm8,%r8d |
| vcvtsi2sdl %r8d,%xmm8,%xmm15 |
| # Tests for different memory/register operand |
| vcvtsd2si (%rcx),%r8 |
| vcvtss2si (%rcx),%r8 |
| |
| .intel_syntax noprefix |
| |
| # Tests for op xmm/mem64, xmm |
| vcomisd xmm6,xmm4 |
| vcomisd xmm4,QWORD PTR [rcx] |
| vcomisd xmm4,[rcx] |
| vucomisd xmm6,xmm4 |
| vucomisd xmm4,QWORD PTR [rcx] |
| vucomisd xmm4,[rcx] |
| |
| # Tests for op mem64, xmm |
| vmovsd xmm4,QWORD PTR [rcx] |
| vmovsd xmm4,[rcx] |
| |
| # Tests for op xmm, mem64 |
| vmovsd QWORD PTR [rcx],xmm4 |
| vmovsd [rcx],xmm4 |
| |
| # Tests for op xmm, regq/mem64 |
| # Tests for op regq/mem64, xmm |
| vmovd rcx,xmm4 |
| vmovd xmm4,rcx |
| vmovd [rcx],xmm4 |
| vmovd xmm4,[rcx] |
| vmovq rcx,xmm4 |
| vmovq xmm4,rcx |
| vmovq QWORD PTR [rcx],xmm4 |
| vmovq xmm4,QWORD PTR [rcx] |
| vmovq [rcx],xmm4 |
| vmovq xmm4,[rcx] |
| |
| # Tests for op xmm/mem64, regl |
| vcvtsd2si ecx,xmm4 |
| vcvtsd2si ecx,QWORD PTR [rcx] |
| vcvtsd2si ecx,[rcx] |
| vcvttsd2si ecx,xmm4 |
| vcvttsd2si ecx,QWORD PTR [rcx] |
| vcvttsd2si ecx,[rcx] |
| |
| # Tests for op xmm/mem64, regq |
| vcvtsd2si rcx,xmm4 |
| vcvtsd2si rcx,QWORD PTR [rcx] |
| vcvtsd2si rcx,[rcx] |
| vcvttsd2si rcx,xmm4 |
| vcvttsd2si rcx,QWORD PTR [rcx] |
| vcvttsd2si rcx,[rcx] |
| |
| # Tests for op regq/mem64, xmm, xmm |
| vcvtsi2sdq xmm6,xmm4,rcx |
| vcvtsi2sdq xmm6,xmm4,QWORD PTR [rcx] |
| vcvtsi2sdq xmm6,xmm4,[rcx] |
| vcvtsi2ssq xmm6,xmm4,rcx |
| vcvtsi2ssq xmm6,xmm4,QWORD PTR [rcx] |
| vcvtsi2ssq xmm6,xmm4,[rcx] |
| |
| # Tests for op imm8, xmm/mem64, xmm, xmm |
| vcmpsd xmm2,xmm6,xmm4,7 |
| vcmpsd xmm2,xmm6,QWORD PTR [rcx],7 |
| vcmpsd xmm2,xmm6,[rcx],7 |
| vroundsd xmm2,xmm6,xmm4,7 |
| vroundsd xmm2,xmm6,QWORD PTR [rcx],7 |
| vroundsd xmm2,xmm6,[rcx],7 |
| |
| # Tests for op xmm/mem64, xmm, xmm |
| vaddsd xmm2,xmm6,xmm4 |
| vaddsd xmm2,xmm6,QWORD PTR [rcx] |
| vaddsd xmm2,xmm6,[rcx] |
| vcvtsd2ss xmm2,xmm6,xmm4 |
| vcvtsd2ss xmm2,xmm6,QWORD PTR [rcx] |
| vcvtsd2ss xmm2,xmm6,[rcx] |
| vdivsd xmm2,xmm6,xmm4 |
| vdivsd xmm2,xmm6,QWORD PTR [rcx] |
| vdivsd xmm2,xmm6,[rcx] |
| vmaxsd xmm2,xmm6,xmm4 |
| vmaxsd xmm2,xmm6,QWORD PTR [rcx] |
| vmaxsd xmm2,xmm6,[rcx] |
| vminsd xmm2,xmm6,xmm4 |
| vminsd xmm2,xmm6,QWORD PTR [rcx] |
| vminsd xmm2,xmm6,[rcx] |
| vmulsd xmm2,xmm6,xmm4 |
| vmulsd xmm2,xmm6,QWORD PTR [rcx] |
| vmulsd xmm2,xmm6,[rcx] |
| vsqrtsd xmm2,xmm6,xmm4 |
| vsqrtsd xmm2,xmm6,QWORD PTR [rcx] |
| vsqrtsd xmm2,xmm6,[rcx] |
| vsubsd xmm2,xmm6,xmm4 |
| vsubsd xmm2,xmm6,QWORD PTR [rcx] |
| vsubsd xmm2,xmm6,[rcx] |
| vcmpeqsd xmm2,xmm6,xmm4 |
| vcmpeqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpeqsd xmm2,xmm6,[rcx] |
| vcmpltsd xmm2,xmm6,xmm4 |
| vcmpltsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpltsd xmm2,xmm6,[rcx] |
| vcmplesd xmm2,xmm6,xmm4 |
| vcmplesd xmm2,xmm6,QWORD PTR [rcx] |
| vcmplesd xmm2,xmm6,[rcx] |
| vcmpunordsd xmm2,xmm6,xmm4 |
| vcmpunordsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpunordsd xmm2,xmm6,[rcx] |
| vcmpneqsd xmm2,xmm6,xmm4 |
| vcmpneqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpneqsd xmm2,xmm6,[rcx] |
| vcmpnltsd xmm2,xmm6,xmm4 |
| vcmpnltsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpnltsd xmm2,xmm6,[rcx] |
| vcmpnlesd xmm2,xmm6,xmm4 |
| vcmpnlesd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpnlesd xmm2,xmm6,[rcx] |
| vcmpordsd xmm2,xmm6,xmm4 |
| vcmpordsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpordsd xmm2,xmm6,[rcx] |
| vcmpeq_uqsd xmm2,xmm6,xmm4 |
| vcmpeq_uqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpeq_uqsd xmm2,xmm6,[rcx] |
| vcmpngesd xmm2,xmm6,xmm4 |
| vcmpngesd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpngesd xmm2,xmm6,[rcx] |
| vcmpngtsd xmm2,xmm6,xmm4 |
| vcmpngtsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpngtsd xmm2,xmm6,[rcx] |
| vcmpfalsesd xmm2,xmm6,xmm4 |
| vcmpfalsesd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpfalsesd xmm2,xmm6,[rcx] |
| vcmpneq_oqsd xmm2,xmm6,xmm4 |
| vcmpneq_oqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpneq_oqsd xmm2,xmm6,[rcx] |
| vcmpgesd xmm2,xmm6,xmm4 |
| vcmpgesd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpgesd xmm2,xmm6,[rcx] |
| vcmpgtsd xmm2,xmm6,xmm4 |
| vcmpgtsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpgtsd xmm2,xmm6,[rcx] |
| vcmptruesd xmm2,xmm6,xmm4 |
| vcmptruesd xmm2,xmm6,QWORD PTR [rcx] |
| vcmptruesd xmm2,xmm6,[rcx] |
| vcmpeq_ossd xmm2,xmm6,xmm4 |
| vcmpeq_ossd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpeq_ossd xmm2,xmm6,[rcx] |
| vcmplt_oqsd xmm2,xmm6,xmm4 |
| vcmplt_oqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmplt_oqsd xmm2,xmm6,[rcx] |
| vcmple_oqsd xmm2,xmm6,xmm4 |
| vcmple_oqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmple_oqsd xmm2,xmm6,[rcx] |
| vcmpunord_ssd xmm2,xmm6,xmm4 |
| vcmpunord_ssd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpunord_ssd xmm2,xmm6,[rcx] |
| vcmpneq_ussd xmm2,xmm6,xmm4 |
| vcmpneq_ussd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpneq_ussd xmm2,xmm6,[rcx] |
| vcmpnlt_uqsd xmm2,xmm6,xmm4 |
| vcmpnlt_uqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpnlt_uqsd xmm2,xmm6,[rcx] |
| vcmpnle_uqsd xmm2,xmm6,xmm4 |
| vcmpnle_uqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpnle_uqsd xmm2,xmm6,[rcx] |
| vcmpord_ssd xmm2,xmm6,xmm4 |
| vcmpord_ssd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpord_ssd xmm2,xmm6,[rcx] |
| vcmpeq_ussd xmm2,xmm6,xmm4 |
| vcmpeq_ussd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpeq_ussd xmm2,xmm6,[rcx] |
| vcmpnge_uqsd xmm2,xmm6,xmm4 |
| vcmpnge_uqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpnge_uqsd xmm2,xmm6,[rcx] |
| vcmpngt_uqsd xmm2,xmm6,xmm4 |
| vcmpngt_uqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpngt_uqsd xmm2,xmm6,[rcx] |
| vcmpfalse_ossd xmm2,xmm6,xmm4 |
| vcmpfalse_ossd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpfalse_ossd xmm2,xmm6,[rcx] |
| vcmpneq_ossd xmm2,xmm6,xmm4 |
| vcmpneq_ossd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpneq_ossd xmm2,xmm6,[rcx] |
| vcmpge_oqsd xmm2,xmm6,xmm4 |
| vcmpge_oqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpge_oqsd xmm2,xmm6,[rcx] |
| vcmpgt_oqsd xmm2,xmm6,xmm4 |
| vcmpgt_oqsd xmm2,xmm6,QWORD PTR [rcx] |
| vcmpgt_oqsd xmm2,xmm6,[rcx] |
| vcmptrue_ussd xmm2,xmm6,xmm4 |
| vcmptrue_ussd xmm2,xmm6,QWORD PTR [rcx] |
| vcmptrue_ussd xmm2,xmm6,[rcx] |
| |
| # Tests for op xmm/mem32, xmm, xmm |
| vaddss xmm2,xmm6,xmm4 |
| vaddss xmm2,xmm6,DWORD PTR [rcx] |
| vaddss xmm2,xmm6,[rcx] |
| vcvtss2sd xmm2,xmm6,xmm4 |
| vcvtss2sd xmm2,xmm6,DWORD PTR [rcx] |
| vcvtss2sd xmm2,xmm6,[rcx] |
| vdivss xmm2,xmm6,xmm4 |
| vdivss xmm2,xmm6,DWORD PTR [rcx] |
| vdivss xmm2,xmm6,[rcx] |
| vmaxss xmm2,xmm6,xmm4 |
| vmaxss xmm2,xmm6,DWORD PTR [rcx] |
| vmaxss xmm2,xmm6,[rcx] |
| vminss xmm2,xmm6,xmm4 |
| vminss xmm2,xmm6,DWORD PTR [rcx] |
| vminss xmm2,xmm6,[rcx] |
| vmulss xmm2,xmm6,xmm4 |
| vmulss xmm2,xmm6,DWORD PTR [rcx] |
| vmulss xmm2,xmm6,[rcx] |
| vrcpss xmm2,xmm6,xmm4 |
| vrcpss xmm2,xmm6,DWORD PTR [rcx] |
| vrcpss xmm2,xmm6,[rcx] |
| vrsqrtss xmm2,xmm6,xmm4 |
| vrsqrtss xmm2,xmm6,DWORD PTR [rcx] |
| vrsqrtss xmm2,xmm6,[rcx] |
| vsqrtss xmm2,xmm6,xmm4 |
| vsqrtss xmm2,xmm6,DWORD PTR [rcx] |
| vsqrtss xmm2,xmm6,[rcx] |
| vsubss xmm2,xmm6,xmm4 |
| vsubss xmm2,xmm6,DWORD PTR [rcx] |
| vsubss xmm2,xmm6,[rcx] |
| vcmpeqss xmm2,xmm6,xmm4 |
| vcmpeqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpeqss xmm2,xmm6,[rcx] |
| vcmpltss xmm2,xmm6,xmm4 |
| vcmpltss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpltss xmm2,xmm6,[rcx] |
| vcmpless xmm2,xmm6,xmm4 |
| vcmpless xmm2,xmm6,DWORD PTR [rcx] |
| vcmpless xmm2,xmm6,[rcx] |
| vcmpunordss xmm2,xmm6,xmm4 |
| vcmpunordss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpunordss xmm2,xmm6,[rcx] |
| vcmpneqss xmm2,xmm6,xmm4 |
| vcmpneqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpneqss xmm2,xmm6,[rcx] |
| vcmpnltss xmm2,xmm6,xmm4 |
| vcmpnltss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpnltss xmm2,xmm6,[rcx] |
| vcmpnless xmm2,xmm6,xmm4 |
| vcmpnless xmm2,xmm6,DWORD PTR [rcx] |
| vcmpnless xmm2,xmm6,[rcx] |
| vcmpordss xmm2,xmm6,xmm4 |
| vcmpordss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpordss xmm2,xmm6,[rcx] |
| vcmpeq_uqss xmm2,xmm6,xmm4 |
| vcmpeq_uqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpeq_uqss xmm2,xmm6,[rcx] |
| vcmpngess xmm2,xmm6,xmm4 |
| vcmpngess xmm2,xmm6,DWORD PTR [rcx] |
| vcmpngess xmm2,xmm6,[rcx] |
| vcmpngtss xmm2,xmm6,xmm4 |
| vcmpngtss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpngtss xmm2,xmm6,[rcx] |
| vcmpfalsess xmm2,xmm6,xmm4 |
| vcmpfalsess xmm2,xmm6,DWORD PTR [rcx] |
| vcmpfalsess xmm2,xmm6,[rcx] |
| vcmpneq_oqss xmm2,xmm6,xmm4 |
| vcmpneq_oqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpneq_oqss xmm2,xmm6,[rcx] |
| vcmpgess xmm2,xmm6,xmm4 |
| vcmpgess xmm2,xmm6,DWORD PTR [rcx] |
| vcmpgess xmm2,xmm6,[rcx] |
| vcmpgtss xmm2,xmm6,xmm4 |
| vcmpgtss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpgtss xmm2,xmm6,[rcx] |
| vcmptruess xmm2,xmm6,xmm4 |
| vcmptruess xmm2,xmm6,DWORD PTR [rcx] |
| vcmptruess xmm2,xmm6,[rcx] |
| vcmpeq_osss xmm2,xmm6,xmm4 |
| vcmpeq_osss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpeq_osss xmm2,xmm6,[rcx] |
| vcmplt_oqss xmm2,xmm6,xmm4 |
| vcmplt_oqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmplt_oqss xmm2,xmm6,[rcx] |
| vcmple_oqss xmm2,xmm6,xmm4 |
| vcmple_oqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmple_oqss xmm2,xmm6,[rcx] |
| vcmpunord_sss xmm2,xmm6,xmm4 |
| vcmpunord_sss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpunord_sss xmm2,xmm6,[rcx] |
| vcmpneq_usss xmm2,xmm6,xmm4 |
| vcmpneq_usss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpneq_usss xmm2,xmm6,[rcx] |
| vcmpnlt_uqss xmm2,xmm6,xmm4 |
| vcmpnlt_uqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpnlt_uqss xmm2,xmm6,[rcx] |
| vcmpnle_uqss xmm2,xmm6,xmm4 |
| vcmpnle_uqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpnle_uqss xmm2,xmm6,[rcx] |
| vcmpord_sss xmm2,xmm6,xmm4 |
| vcmpord_sss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpord_sss xmm2,xmm6,[rcx] |
| vcmpeq_usss xmm2,xmm6,xmm4 |
| vcmpeq_usss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpeq_usss xmm2,xmm6,[rcx] |
| vcmpnge_uqss xmm2,xmm6,xmm4 |
| vcmpnge_uqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpnge_uqss xmm2,xmm6,[rcx] |
| vcmpngt_uqss xmm2,xmm6,xmm4 |
| vcmpngt_uqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpngt_uqss xmm2,xmm6,[rcx] |
| vcmpfalse_osss xmm2,xmm6,xmm4 |
| vcmpfalse_osss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpfalse_osss xmm2,xmm6,[rcx] |
| vcmpneq_osss xmm2,xmm6,xmm4 |
| vcmpneq_osss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpneq_osss xmm2,xmm6,[rcx] |
| vcmpge_oqss xmm2,xmm6,xmm4 |
| vcmpge_oqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpge_oqss xmm2,xmm6,[rcx] |
| vcmpgt_oqss xmm2,xmm6,xmm4 |
| vcmpgt_oqss xmm2,xmm6,DWORD PTR [rcx] |
| vcmpgt_oqss xmm2,xmm6,[rcx] |
| vcmptrue_usss xmm2,xmm6,xmm4 |
| vcmptrue_usss xmm2,xmm6,DWORD PTR [rcx] |
| vcmptrue_usss xmm2,xmm6,[rcx] |
| |
| # Tests for op xmm/mem32, xmm |
| vcomiss xmm6,xmm4 |
| vcomiss xmm4,DWORD PTR [rcx] |
| vcomiss xmm4,[rcx] |
| vucomiss xmm6,xmm4 |
| vucomiss xmm4,DWORD PTR [rcx] |
| vucomiss xmm4,[rcx] |
| |
| # Tests for op mem32, xmm |
| vmovss xmm4,DWORD PTR [rcx] |
| vmovss xmm4,[rcx] |
| |
| # Tests for op xmm, mem32 |
| vmovss DWORD PTR [rcx],xmm4 |
| vmovss [rcx],xmm4 |
| |
| # Tests for op xmm, regl/mem32 |
| # Tests for op regl/mem32, xmm |
| vmovd ecx,xmm4 |
| vmovd DWORD PTR [rcx],xmm4 |
| vmovd xmm4,ecx |
| vmovd xmm4,DWORD PTR [rcx] |
| vmovd [rcx],xmm4 |
| vmovd xmm4,[rcx] |
| |
| # Tests for op xmm/mem32, regl |
| vcvtss2si ecx,xmm4 |
| vcvtss2si ecx,DWORD PTR [rcx] |
| vcvtss2si ecx,[rcx] |
| vcvttss2si ecx,xmm4 |
| vcvttss2si ecx,DWORD PTR [rcx] |
| vcvttss2si ecx,[rcx] |
| |
| # Tests for op xmm/mem32, regq |
| vcvtss2si rcx,xmm4 |
| vcvtss2si rcx,DWORD PTR [rcx] |
| vcvtss2si rcx,[rcx] |
| vcvttss2si rcx,xmm4 |
| vcvttss2si rcx,DWORD PTR [rcx] |
| vcvttss2si rcx,[rcx] |
| |
| # Tests for op regl/mem32, xmm, xmm |
| vcvtsi2sd xmm6,xmm4,ecx |
| vcvtsi2sd xmm6,xmm4,DWORD PTR [rcx] |
| vcvtsi2ss xmm6,xmm4,ecx |
| vcvtsi2ss xmm6,xmm4,DWORD PTR [rcx] |
| |
| # Tests for op imm8, xmm/mem32, xmm, xmm |
| vcmpss xmm2,xmm6,xmm4,7 |
| vcmpss xmm2,xmm6,DWORD PTR [rcx],7 |
| vcmpss xmm2,xmm6,[rcx],7 |
| vroundss xmm2,xmm6,xmm4,7 |
| vroundss xmm2,xmm6,DWORD PTR [rcx],7 |
| vroundss xmm2,xmm6,[rcx],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:0x12345678,xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678 |
| vmovd DWORD PTR [rbp],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp] |
| vmovd DWORD PTR [rbp+0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+0x99] |
| vmovd DWORD PTR [r15+0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [r15+0x99] |
| vmovd DWORD PTR [rip+0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rip+0x99] |
| vmovd DWORD PTR [rsp+0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+0x99] |
| vmovd DWORD PTR [r12+0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+0x99] |
| vmovd DWORD PTR [riz*1-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*1-0x99] |
| vmovd DWORD PTR [riz*2-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*2-0x99] |
| vmovd DWORD PTR [rbx+riz*1-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*1-0x99] |
| vmovd DWORD PTR [rbx+riz*2-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*2-0x99] |
| vmovd DWORD PTR [r12+r15*4-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+r15*4-0x99] |
| vmovd DWORD PTR [r8+r15*8-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [r8+r15*8-0x99] |
| vmovd DWORD PTR [rbp+r12*4-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+r12*4-0x99] |
| vmovd DWORD PTR [rsp+r13*1-0x99],xmm8 |
| vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+r13*1-0x99] |
| # Tests for all register operands. |
| vmovd r8d,xmm8 |
| vcvtsd2si r8d,xmm8 |
| vcvtsi2sd xmm15,xmm8,r8d |
| # Tests for different memory/register operand |
| vcvtsd2si r8,QWORD PTR [rcx] |
| vcvtss2si r8,DWORD PTR [rcx] |