i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / x86-64-avx512vbmi.s
1 # Check 64bit AVX512VBMI instructions
2
3         .allow_index_reg
4         .text
5 _start:
6         vpermb  %zmm28, %zmm29, %zmm30   # AVX512VBMI
7         vpermb  %zmm28, %zmm29, %zmm30{%k7}      # AVX512VBMI
8         vpermb  %zmm28, %zmm29, %zmm30{%k7}{z}   # AVX512VBMI
9         vpermb  (%rcx), %zmm29, %zmm30   # AVX512VBMI
10         vpermb  0x123(%rax,%r14,8), %zmm29, %zmm30       # AVX512VBMI
11         vpermb  8128(%rdx), %zmm29, %zmm30       # AVX512VBMI Disp8
12         vpermb  8192(%rdx), %zmm29, %zmm30       # AVX512VBMI
13         vpermb  -8192(%rdx), %zmm29, %zmm30      # AVX512VBMI Disp8
14         vpermb  -8256(%rdx), %zmm29, %zmm30      # AVX512VBMI
15         vpermi2b        %zmm28, %zmm29, %zmm30   # AVX512VBMI
16         vpermi2b        %zmm28, %zmm29, %zmm30{%k7}      # AVX512VBMI
17         vpermi2b        %zmm28, %zmm29, %zmm30{%k7}{z}   # AVX512VBMI
18         vpermi2b        (%rcx), %zmm29, %zmm30   # AVX512VBMI
19         vpermi2b        0x123(%rax,%r14,8), %zmm29, %zmm30       # AVX512VBMI
20         vpermi2b        8128(%rdx), %zmm29, %zmm30       # AVX512VBMI Disp8
21         vpermi2b        8192(%rdx), %zmm29, %zmm30       # AVX512VBMI
22         vpermi2b        -8192(%rdx), %zmm29, %zmm30      # AVX512VBMI Disp8
23         vpermi2b        -8256(%rdx), %zmm29, %zmm30      # AVX512VBMI
24         vpermt2b        %zmm28, %zmm29, %zmm30   # AVX512VBMI
25         vpermt2b        %zmm28, %zmm29, %zmm30{%k7}      # AVX512VBMI
26         vpermt2b        %zmm28, %zmm29, %zmm30{%k7}{z}   # AVX512VBMI
27         vpermt2b        (%rcx), %zmm29, %zmm30   # AVX512VBMI
28         vpermt2b        0x123(%rax,%r14,8), %zmm29, %zmm30       # AVX512VBMI
29         vpermt2b        8128(%rdx), %zmm29, %zmm30       # AVX512VBMI Disp8
30         vpermt2b        8192(%rdx), %zmm29, %zmm30       # AVX512VBMI
31         vpermt2b        -8192(%rdx), %zmm29, %zmm30      # AVX512VBMI Disp8
32         vpermt2b        -8256(%rdx), %zmm29, %zmm30      # AVX512VBMI
33         vpmultishiftqb  %zmm28, %zmm29, %zmm30   # AVX512VBMI
34         vpmultishiftqb  %zmm28, %zmm29, %zmm30{%k7}      # AVX512VBMI
35         vpmultishiftqb  %zmm28, %zmm29, %zmm30{%k7}{z}   # AVX512VBMI
36         vpmultishiftqb  (%rcx), %zmm29, %zmm30   # AVX512VBMI
37         vpmultishiftqb  0x123(%rax,%r14,8), %zmm29, %zmm30       # AVX512VBMI
38         vpmultishiftqb  (%rcx){1to8}, %zmm29, %zmm30     # AVX512VBMI
39         vpmultishiftqb  8128(%rdx), %zmm29, %zmm30       # AVX512VBMI Disp8
40         vpmultishiftqb  8192(%rdx), %zmm29, %zmm30       # AVX512VBMI
41         vpmultishiftqb  -8192(%rdx), %zmm29, %zmm30      # AVX512VBMI Disp8
42         vpmultishiftqb  -8256(%rdx), %zmm29, %zmm30      # AVX512VBMI
43         vpmultishiftqb  1016(%rdx){1to8}, %zmm29, %zmm30         # AVX512VBMI Disp8
44         vpmultishiftqb  1024(%rdx){1to8}, %zmm29, %zmm30         # AVX512VBMI
45         vpmultishiftqb  -1024(%rdx){1to8}, %zmm29, %zmm30        # AVX512VBMI Disp8
46         vpmultishiftqb  -1032(%rdx){1to8}, %zmm29, %zmm30        # AVX512VBMI
47
48         .intel_syntax noprefix
49         vpermb  zmm30, zmm29, zmm28      # AVX512VBMI
50         vpermb  zmm30{k7}, zmm29, zmm28  # AVX512VBMI
51         vpermb  zmm30{k7}{z}, zmm29, zmm28       # AVX512VBMI
52         vpermb  zmm30, zmm29, ZMMWORD PTR [rcx]  # AVX512VBMI
53         vpermb  zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234]     # AVX512VBMI
54         vpermb  zmm30, zmm29, ZMMWORD PTR [rdx+8128]     # AVX512VBMI Disp8
55         vpermb  zmm30, zmm29, ZMMWORD PTR [rdx+8192]     # AVX512VBMI
56         vpermb  zmm30, zmm29, ZMMWORD PTR [rdx-8192]     # AVX512VBMI Disp8
57         vpermb  zmm30, zmm29, ZMMWORD PTR [rdx-8256]     # AVX512VBMI
58         vpermi2b        zmm30, zmm29, zmm28      # AVX512VBMI
59         vpermi2b        zmm30{k7}, zmm29, zmm28  # AVX512VBMI
60         vpermi2b        zmm30{k7}{z}, zmm29, zmm28       # AVX512VBMI
61         vpermi2b        zmm30, zmm29, ZMMWORD PTR [rcx]  # AVX512VBMI
62         vpermi2b        zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234]     # AVX512VBMI
63         vpermi2b        zmm30, zmm29, ZMMWORD PTR [rdx+8128]     # AVX512VBMI Disp8
64         vpermi2b        zmm30, zmm29, ZMMWORD PTR [rdx+8192]     # AVX512VBMI
65         vpermi2b        zmm30, zmm29, ZMMWORD PTR [rdx-8192]     # AVX512VBMI Disp8
66         vpermi2b        zmm30, zmm29, ZMMWORD PTR [rdx-8256]     # AVX512VBMI
67         vpermt2b        zmm30, zmm29, zmm28      # AVX512VBMI
68         vpermt2b        zmm30{k7}, zmm29, zmm28  # AVX512VBMI
69         vpermt2b        zmm30{k7}{z}, zmm29, zmm28       # AVX512VBMI
70         vpermt2b        zmm30, zmm29, ZMMWORD PTR [rcx]  # AVX512VBMI
71         vpermt2b        zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234]     # AVX512VBMI
72         vpermt2b        zmm30, zmm29, ZMMWORD PTR [rdx+8128]     # AVX512VBMI Disp8
73         vpermt2b        zmm30, zmm29, ZMMWORD PTR [rdx+8192]     # AVX512VBMI
74         vpermt2b        zmm30, zmm29, ZMMWORD PTR [rdx-8192]     # AVX512VBMI Disp8
75         vpermt2b        zmm30, zmm29, ZMMWORD PTR [rdx-8256]     # AVX512VBMI
76         vpmultishiftqb  zmm30, zmm29, zmm28      # AVX512VBMI
77         vpmultishiftqb  zmm30{k7}, zmm29, zmm28  # AVX512VBMI
78         vpmultishiftqb  zmm30{k7}{z}, zmm29, zmm28       # AVX512VBMI
79         vpmultishiftqb  zmm30, zmm29, ZMMWORD PTR [rcx]  # AVX512VBMI
80         vpmultishiftqb  zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234]     # AVX512VBMI
81         vpmultishiftqb  zmm30, zmm29, [rcx]{1to8}        # AVX512VBMI
82         vpmultishiftqb  zmm30, zmm29, ZMMWORD PTR [rdx+8128]     # AVX512VBMI Disp8
83         vpmultishiftqb  zmm30, zmm29, ZMMWORD PTR [rdx+8192]     # AVX512VBMI
84         vpmultishiftqb  zmm30, zmm29, ZMMWORD PTR [rdx-8192]     # AVX512VBMI Disp8
85         vpmultishiftqb  zmm30, zmm29, ZMMWORD PTR [rdx-8256]     # AVX512VBMI
86         vpmultishiftqb  zmm30, zmm29, [rdx+1016]{1to8}   # AVX512VBMI Disp8
87         vpmultishiftqb  zmm30, zmm29, [rdx+1024]{1to8}   # AVX512VBMI
88         vpmultishiftqb  zmm30, zmm29, [rdx-1024]{1to8}   # AVX512VBMI Disp8
89         vpmultishiftqb  zmm30, zmm29, [rdx-1032]{1to8}   # AVX512VBMI