i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / bmi2.s
1 # Check 32bit BMI2 instructions
2
3         .allow_index_reg
4         .text
5 _start:
6
7 # Test for op r32, r/m32, imm8
8         rorx $7,%eax,%ebx
9         rorx $7,(%ecx),%ebx
10
11 # Test for op r32, r32, r/m32
12         mulx %eax,%ebx,%esi
13         mulx (%ecx),%ebx,%esi
14         pdep %eax,%ebx,%esi
15         pdep (%ecx),%ebx,%esi
16         pext %eax,%ebx,%esi
17         pext (%ecx),%ebx,%esi
18
19 # Test for op r32, r/m32, r32
20         bzhi %eax,%ebx,%esi
21         bzhi %ebx,(%ecx),%esi
22         sarx %eax,%ebx,%esi
23         sarx %ebx,(%ecx),%esi
24         shlx %eax,%ebx,%esi
25         shlx %ebx,(%ecx),%esi
26         shrx %eax,%ebx,%esi
27         shrx %ebx,(%ecx),%esi
28
29         .intel_syntax noprefix
30
31 # Test for op r32, r/m32, imm8
32         rorx ebx,eax,7
33         rorx ebx,DWORD PTR [ecx],7
34         rorx ebx,[ecx],7
35
36 # Test for op r32, r32, r/m32
37         mulx esi,ebx,eax
38         mulx esi,ebx,DWORD PTR [ecx]
39         mulx esi,ebx,[ecx]
40         pdep esi,ebx,eax
41         pdep esi,ebx,DWORD PTR [ecx]
42         pdep esi,ebx,[ecx]
43         pext esi,ebx,eax
44         pext esi,ebx,DWORD PTR [ecx]
45         pext esi,ebx,[ecx]
46
47 # Test for op r32, r/m32, r32
48         bzhi esi,ebx,eax
49         bzhi esi,DWORD PTR [ecx],ebx
50         bzhi esi,[ecx],ebx
51         sarx esi,ebx,eax
52         sarx esi,DWORD PTR [ecx],ebx
53         sarx esi,[ecx],ebx
54         shlx esi,ebx,eax
55         shlx esi,DWORD PTR [ecx],ebx
56         shlx esi,[ecx],ebx
57         shrx esi,ebx,eax
58         shrx esi,DWORD PTR [ecx],ebx
59         shrx esi,[ecx],ebx