# Check x86-64 AVX2 instructions .allow_index_reg .text _start: # Tests for op mem256, mask, ymm # Tests for op ymm, mask, mem256 vpmaskmovd (%rcx),%ymm4,%ymm6 vpmaskmovd %ymm4,%ymm6,(%rcx) vpmaskmovq (%rcx),%ymm4,%ymm6 vpmaskmovq %ymm4,%ymm6,(%rcx) # Tests for op imm8, ymm/mem256, ymm vpermpd $7,%ymm6,%ymm2 vpermpd $7,(%rcx),%ymm6 vpermq $7,%ymm6,%ymm2 vpermq $7,(%rcx),%ymm6 # Tests for op ymm/mem256, ymm, ymm vpermd %ymm4,%ymm6,%ymm2 vpermd (%rcx),%ymm6,%ymm2 vpermps %ymm4,%ymm6,%ymm2 vpermps (%rcx),%ymm6,%ymm2 vpsllvd %ymm4,%ymm6,%ymm2 vpsllvd (%rcx),%ymm6,%ymm2 vpsllvq %ymm4,%ymm6,%ymm2 vpsllvq (%rcx),%ymm6,%ymm2 vpsravd %ymm4,%ymm6,%ymm2 vpsravd (%rcx),%ymm6,%ymm2 vpsrlvd %ymm4,%ymm6,%ymm2 vpsrlvd (%rcx),%ymm6,%ymm2 vpsrlvq %ymm4,%ymm6,%ymm2 vpsrlvq (%rcx),%ymm6,%ymm2 # Tests for op mem256, ymm vmovntdqa (%rcx),%ymm4 # Tests for op ymm, xmm vbroadcastsd %xmm4,%ymm6 vbroadcastss %xmm4,%ymm6 # Tests for op imm8, ymm/mem256, ymm, ymm vpblendd $7,%ymm4,%ymm6,%ymm2 vpblendd $7,(%rcx),%ymm6,%ymm2 vperm2i128 $7,%ymm4,%ymm6,%ymm2 vperm2i128 $7,(%rcx),%ymm6,%ymm2 # Tests for op imm8, xmm/mem128, ymm, ymm vinserti128 $7,%xmm4,%ymm4,%ymm6 vinserti128 $7,(%rcx),%ymm4,%ymm6 # Tests for op mem128, ymm vbroadcasti128 (%rcx),%ymm4 # Tests for op xmm/mem128, xmm, xmm vpsllvd %xmm4,%xmm6,%xmm2 vpsllvd (%rcx),%xmm6,%xmm7 vpsllvq %xmm4,%xmm6,%xmm2 vpsllvq (%rcx),%xmm6,%xmm7 vpsravd %xmm4,%xmm6,%xmm2 vpsravd (%rcx),%xmm6,%xmm7 vpsrlvd %xmm4,%xmm6,%xmm2 vpsrlvd (%rcx),%xmm6,%xmm7 vpsrlvq %xmm4,%xmm6,%xmm2 vpsrlvq (%rcx),%xmm6,%xmm7 # Tests for op mem128, xmm, xmm vpmaskmovd (%rcx),%xmm4,%xmm6 vpmaskmovq (%rcx),%xmm4,%xmm6 # Tests for op imm8, ymm, xmm128/mem vextracti128 $7,%ymm4,%xmm6 vextracti128 $7,%ymm4,(%rcx) # Tests for op xmm, xmm, mem128 vpmaskmovd %xmm4,%xmm6,(%rcx) vpmaskmovq %xmm4,%xmm6,(%rcx) # Tests for op imm8, xmm/mem128, xmm, xmm vpblendd $7,%xmm4,%xmm6,%xmm2 vpblendd $7,(%rcx),%xmm6,%xmm2 # Tests for op xmm/mem64, xmm vpbroadcastq %xmm4,%xmm6 vpbroadcastq (%rcx),%xmm4 # Tests for op xmm/mem64, ymm vpbroadcastq %xmm4,%ymm6 vpbroadcastq (%rcx),%ymm4 # Tests for op xmm/mem32, ymm vpbroadcastd %xmm4,%ymm4 vpbroadcastd (%rcx),%ymm4 # Tests for op xmm/mem32, xmm vpbroadcastd %xmm4,%xmm6 vpbroadcastd (%rcx),%xmm4 # Tests for op xmm/m16, xmm vpbroadcastw %xmm4,%xmm6 vpbroadcastw (%rcx),%xmm4 # Tests for op xmm/m16, ymm vpbroadcastw %xmm4,%ymm6 vpbroadcastw (%rcx),%ymm4 # Tests for op xmm/m8, xmm vpbroadcastb %xmm4,%xmm6 vpbroadcastb (%rcx),%xmm4 # Tests for op xmm/m8, ymm vpbroadcastb %xmm4,%ymm6 vpbroadcastb (%rcx),%ymm4 # Tests for op xmm, xmm vbroadcastss %xmm4,%xmm6 .intel_syntax noprefix # Tests for op mem256, mask, ymm # Tests for op ymm, mask, mem256 vpmaskmovd ymm6,ymm4,YMMWORD PTR [rcx] vpmaskmovd YMMWORD PTR [rcx],ymm6,ymm4 vpmaskmovd ymm6,ymm4,[rcx] vpmaskmovd [rcx],ymm6,ymm4 vpmaskmovq ymm6,ymm4,YMMWORD PTR [rcx] vpmaskmovq YMMWORD PTR [rcx],ymm6,ymm4 vpmaskmovq ymm6,ymm4,[rcx] vpmaskmovq [rcx],ymm6,ymm4 # Tests for op imm8, ymm/mem256, ymm vpermpd ymm2,ymm6,7 vpermpd ymm6,YMMWORD PTR [rcx],7 vpermpd ymm6,[rcx],7 vpermq ymm2,ymm6,7 vpermq ymm6,YMMWORD PTR [rcx],7 vpermq ymm6,[rcx],7 # Tests for op ymm/mem256, ymm, ymm vpermd ymm2,ymm6,ymm4 vpermd ymm2,ymm6,YMMWORD PTR [rcx] vpermd ymm2,ymm6,[rcx] vpermps ymm2,ymm6,ymm4 vpermps ymm2,ymm6,YMMWORD PTR [rcx] vpermps ymm2,ymm6,[rcx] vpsllvd ymm2,ymm6,ymm4 vpsllvd ymm2,ymm6,YMMWORD PTR [rcx] vpsllvd ymm2,ymm6,[rcx] vpsllvq ymm2,ymm6,ymm4 vpsllvq ymm2,ymm6,YMMWORD PTR [rcx] vpsllvq ymm2,ymm6,[rcx] vpsravd ymm2,ymm6,ymm4 vpsravd ymm2,ymm6,YMMWORD PTR [rcx] vpsravd ymm2,ymm6,[rcx] vpsrlvd ymm2,ymm6,ymm4 vpsrlvd ymm2,ymm6,YMMWORD PTR [rcx] vpsrlvd ymm2,ymm6,[rcx] vpsrlvq ymm2,ymm6,ymm4 vpsrlvq ymm2,ymm6,YMMWORD PTR [rcx] vpsrlvq ymm2,ymm6,[rcx] # Tests for op mem256, ymm vmovntdqa ymm4,YMMWORD PTR [rcx] vmovntdqa ymm4,[rcx] # Tests for op ymm, xmm vbroadcastsd ymm6,xmm4 vbroadcastss ymm6,xmm4 # Tests for op imm8, ymm/mem256, ymm, ymm vpblendd ymm2,ymm6,ymm4,7 vpblendd ymm2,ymm6,YMMWORD PTR [rcx],7 vpblendd ymm2,ymm6,[rcx],7 vperm2i128 ymm2,ymm6,ymm4,7 vperm2i128 ymm2,ymm6,YMMWORD PTR [rcx],7 vperm2i128 ymm2,ymm6,[rcx],7 # Tests for op imm8, xmm/mem128, ymm, ymm vinserti128 ymm6,ymm4,xmm4,7 vinserti128 ymm6,ymm4,XMMWORD PTR [rcx],7 vinserti128 ymm6,ymm4,[rcx],7 # Tests for op mem128, ymm vbroadcasti128 ymm4,XMMWORD PTR [rcx] vbroadcasti128 ymm4,[rcx] # Tests for op xmm/mem128, xmm, xmm vpsllvd xmm2,xmm6,xmm4 vpsllvd xmm7,xmm6,XMMWORD PTR [rcx] vpsllvd xmm7,xmm6,[rcx] vpsllvq xmm2,xmm6,xmm4 vpsllvq xmm7,xmm6,XMMWORD PTR [rcx] vpsllvq xmm7,xmm6,[rcx] vpsravd xmm2,xmm6,xmm4 vpsravd xmm7,xmm6,XMMWORD PTR [rcx] vpsravd xmm7,xmm6,[rcx] vpsrlvd xmm2,xmm6,xmm4 vpsrlvd xmm7,xmm6,XMMWORD PTR [rcx] vpsrlvd xmm7,xmm6,[rcx] vpsrlvq xmm2,xmm6,xmm4 vpsrlvq xmm7,xmm6,XMMWORD PTR [rcx] vpsrlvq xmm7,xmm6,[rcx] # Tests for op mem128, xmm, xmm vpmaskmovd xmm6,xmm4,XMMWORD PTR [rcx] vpmaskmovd xmm6,xmm4,[rcx] vpmaskmovq xmm6,xmm4,XMMWORD PTR [rcx] vpmaskmovq xmm6,xmm4,[rcx] # Tests for op imm8, ymm, xmm128/mem vextracti128 xmm6,ymm4,7 vextracti128 XMMWORD PTR [rcx],ymm4,7 vextracti128 [rcx],ymm4,7 # Tests for op xmm, xmm, mem128 vpmaskmovd XMMWORD PTR [rcx],xmm6,xmm4 vpmaskmovd [rcx],xmm6,xmm4 vpmaskmovq XMMWORD PTR [rcx],xmm6,xmm4 vpmaskmovq [rcx],xmm6,xmm4 # Tests for op imm8, xmm/mem128, xmm, xmm vpblendd xmm2,xmm6,xmm4,7 vpblendd xmm2,xmm6,XMMWORD PTR [rcx],7 vpblendd xmm2,xmm6,[rcx],7 # Tests for op xmm/mem64, xmm vpbroadcastq xmm6,xmm4 vpbroadcastq xmm4,QWORD PTR [rcx] vpbroadcastq xmm4,[rcx] # Tests for op xmm/mem64, ymm vpbroadcastq ymm6,xmm4 vpbroadcastq ymm4,QWORD PTR [rcx] vpbroadcastq ymm4,[rcx] # Tests for op xmm/mem32, ymm vpbroadcastd ymm4,xmm4 vpbroadcastd ymm4,DWORD PTR [rcx] vpbroadcastd ymm4,[rcx] # Tests for op xmm/mem32, xmm vpbroadcastd xmm6,xmm4 vpbroadcastd xmm4,DWORD PTR [rcx] vpbroadcastd xmm4,[rcx] # Tests for op xmm/m16, xmm vpbroadcastw xmm6,xmm4 vpbroadcastw xmm4,WORD PTR [rcx] vpbroadcastw xmm4,[rcx] # Tests for op xmm/m16, ymm vpbroadcastw ymm6,xmm4 vpbroadcastw ymm4,WORD PTR [rcx] vpbroadcastw ymm4,[rcx] # Tests for op xmm/m8, xmm vpbroadcastb xmm6,xmm4 vpbroadcastb xmm4,BYTE PTR [rcx] vpbroadcastb xmm4,[rcx] # Tests for op xmm/m8, ymm vpbroadcastb ymm6,xmm4 vpbroadcastb ymm4,BYTE PTR [rcx] vpbroadcastb ymm4,[rcx] # Tests for op xmm, xmm vbroadcastss xmm6,xmm4