blob: 415994cf46fe7d4fa057f1d0415740573abef208 [file] [log] [blame]
# Check 32bit BMI2 instructions
.allow_index_reg
.text
_start:
# Test for op r32, r/m32, imm8
rorx $7,%eax,%ebx
rorx $7,(%ecx),%ebx
# Test for op r32, r32, r/m32
mulx %eax,%ebx,%esi
mulx (%ecx),%ebx,%esi
pdep %eax,%ebx,%esi
pdep (%ecx),%ebx,%esi
pext %eax,%ebx,%esi
pext (%ecx),%ebx,%esi
# Test for op r32, r/m32, r32
bzhi %eax,%ebx,%esi
bzhi %ebx,(%ecx),%esi
sarx %eax,%ebx,%esi
sarx %ebx,(%ecx),%esi
shlx %eax,%ebx,%esi
shlx %ebx,(%ecx),%esi
shrx %eax,%ebx,%esi
shrx %ebx,(%ecx),%esi
.intel_syntax noprefix
# Test for op r32, r/m32, imm8
rorx ebx,eax,7
rorx ebx,DWORD PTR [ecx],7
rorx ebx,[ecx],7
# Test for op r32, r32, r/m32
mulx esi,ebx,eax
mulx esi,ebx,DWORD PTR [ecx]
mulx esi,ebx,[ecx]
pdep esi,ebx,eax
pdep esi,ebx,DWORD PTR [ecx]
pdep esi,ebx,[ecx]
pext esi,ebx,eax
pext esi,ebx,DWORD PTR [ecx]
pext esi,ebx,[ecx]
# Test for op r32, r/m32, r32
bzhi esi,ebx,eax
bzhi esi,DWORD PTR [ecx],ebx
bzhi esi,[ecx],ebx
sarx esi,ebx,eax
sarx esi,DWORD PTR [ecx],ebx
sarx esi,[ecx],ebx
shlx esi,ebx,eax
shlx esi,DWORD PTR [ecx],ebx
shlx esi,[ecx],ebx
shrx esi,ebx,eax
shrx esi,DWORD PTR [ecx],ebx
shrx esi,[ecx],ebx