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