i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / x86-64-avx512cd.s
1 # Check 64bit AVX512CD instructions
2
3         .allow_index_reg
4         .text
5 _start:
6
7         vpconflictd     %zmm29, %zmm30   # AVX512CD
8         vpconflictd     %zmm29, %zmm30{%k7}      # AVX512CD
9         vpconflictd     %zmm29, %zmm30{%k7}{z}   # AVX512CD
10         vpconflictd     (%rcx), %zmm30   # AVX512CD
11         vpconflictd     0x123(%rax,%r14,8), %zmm30       # AVX512CD
12         vpconflictd     (%rcx){1to16}, %zmm30    # AVX512CD
13         vpconflictd     8128(%rdx), %zmm30       # AVX512CD Disp8
14         vpconflictd     8192(%rdx), %zmm30       # AVX512CD
15         vpconflictd     -8192(%rdx), %zmm30      # AVX512CD Disp8
16         vpconflictd     -8256(%rdx), %zmm30      # AVX512CD
17         vpconflictd     508(%rdx){1to16}, %zmm30         # AVX512CD Disp8
18         vpconflictd     512(%rdx){1to16}, %zmm30         # AVX512CD
19         vpconflictd     -512(%rdx){1to16}, %zmm30        # AVX512CD Disp8
20         vpconflictd     -516(%rdx){1to16}, %zmm30        # AVX512CD
21
22         vpconflictq     %zmm29, %zmm30   # AVX512CD
23         vpconflictq     %zmm29, %zmm30{%k7}      # AVX512CD
24         vpconflictq     %zmm29, %zmm30{%k7}{z}   # AVX512CD
25         vpconflictq     (%rcx), %zmm30   # AVX512CD
26         vpconflictq     0x123(%rax,%r14,8), %zmm30       # AVX512CD
27         vpconflictq     (%rcx){1to8}, %zmm30     # AVX512CD
28         vpconflictq     8128(%rdx), %zmm30       # AVX512CD Disp8
29         vpconflictq     8192(%rdx), %zmm30       # AVX512CD
30         vpconflictq     -8192(%rdx), %zmm30      # AVX512CD Disp8
31         vpconflictq     -8256(%rdx), %zmm30      # AVX512CD
32         vpconflictq     1016(%rdx){1to8}, %zmm30         # AVX512CD Disp8
33         vpconflictq     1024(%rdx){1to8}, %zmm30         # AVX512CD
34         vpconflictq     -1024(%rdx){1to8}, %zmm30        # AVX512CD Disp8
35         vpconflictq     -1032(%rdx){1to8}, %zmm30        # AVX512CD
36
37         vplzcntd        %zmm29, %zmm30   # AVX512CD
38         vplzcntd        %zmm29, %zmm30{%k7}      # AVX512CD
39         vplzcntd        %zmm29, %zmm30{%k7}{z}   # AVX512CD
40         vplzcntd        (%rcx), %zmm30   # AVX512CD
41         vplzcntd        0x123(%rax,%r14,8), %zmm30       # AVX512CD
42         vplzcntd        (%rcx){1to16}, %zmm30    # AVX512CD
43         vplzcntd        8128(%rdx), %zmm30       # AVX512CD Disp8
44         vplzcntd        8192(%rdx), %zmm30       # AVX512CD
45         vplzcntd        -8192(%rdx), %zmm30      # AVX512CD Disp8
46         vplzcntd        -8256(%rdx), %zmm30      # AVX512CD
47         vplzcntd        508(%rdx){1to16}, %zmm30         # AVX512CD Disp8
48         vplzcntd        512(%rdx){1to16}, %zmm30         # AVX512CD
49         vplzcntd        -512(%rdx){1to16}, %zmm30        # AVX512CD Disp8
50         vplzcntd        -516(%rdx){1to16}, %zmm30        # AVX512CD
51
52         vplzcntq        %zmm29, %zmm30   # AVX512CD
53         vplzcntq        %zmm29, %zmm30{%k7}      # AVX512CD
54         vplzcntq        %zmm29, %zmm30{%k7}{z}   # AVX512CD
55         vplzcntq        (%rcx), %zmm30   # AVX512CD
56         vplzcntq        0x123(%rax,%r14,8), %zmm30       # AVX512CD
57         vplzcntq        (%rcx){1to8}, %zmm30     # AVX512CD
58         vplzcntq        8128(%rdx), %zmm30       # AVX512CD Disp8
59         vplzcntq        8192(%rdx), %zmm30       # AVX512CD
60         vplzcntq        -8192(%rdx), %zmm30      # AVX512CD Disp8
61         vplzcntq        -8256(%rdx), %zmm30      # AVX512CD
62         vplzcntq        1016(%rdx){1to8}, %zmm30         # AVX512CD Disp8
63         vplzcntq        1024(%rdx){1to8}, %zmm30         # AVX512CD
64         vplzcntq        -1024(%rdx){1to8}, %zmm30        # AVX512CD Disp8
65         vplzcntq        -1032(%rdx){1to8}, %zmm30        # AVX512CD
66
67         vpbroadcastmw2d %k6, %zmm30      # AVX512CD
68
69         vpbroadcastmb2q %k6, %zmm30      # AVX512CD
70
71         .intel_syntax noprefix
72         vpconflictd     zmm30, zmm29     # AVX512CD
73         vpconflictd     zmm30{k7}, zmm29         # AVX512CD
74         vpconflictd     zmm30{k7}{z}, zmm29      # AVX512CD
75         vpconflictd     zmm30, ZMMWORD PTR [rcx]         # AVX512CD
76         vpconflictd     zmm30, ZMMWORD PTR [rax+r14*8+0x1234]    # AVX512CD
77         vpconflictd     zmm30, [rcx]{1to16}      # AVX512CD
78         vpconflictd     zmm30, ZMMWORD PTR [rdx+8128]    # AVX512CD Disp8
79         vpconflictd     zmm30, ZMMWORD PTR [rdx+8192]    # AVX512CD
80         vpconflictd     zmm30, ZMMWORD PTR [rdx-8192]    # AVX512CD Disp8
81         vpconflictd     zmm30, ZMMWORD PTR [rdx-8256]    # AVX512CD
82         vpconflictd     zmm30, [rdx+508]{1to16}  # AVX512CD Disp8
83         vpconflictd     zmm30, [rdx+512]{1to16}  # AVX512CD
84         vpconflictd     zmm30, [rdx-512]{1to16}  # AVX512CD Disp8
85         vpconflictd     zmm30, [rdx-516]{1to16}  # AVX512CD
86
87         vpconflictq     zmm30, zmm29     # AVX512CD
88         vpconflictq     zmm30{k7}, zmm29         # AVX512CD
89         vpconflictq     zmm30{k7}{z}, zmm29      # AVX512CD
90         vpconflictq     zmm30, ZMMWORD PTR [rcx]         # AVX512CD
91         vpconflictq     zmm30, ZMMWORD PTR [rax+r14*8+0x1234]    # AVX512CD
92         vpconflictq     zmm30, [rcx]{1to8}       # AVX512CD
93         vpconflictq     zmm30, ZMMWORD PTR [rdx+8128]    # AVX512CD Disp8
94         vpconflictq     zmm30, ZMMWORD PTR [rdx+8192]    # AVX512CD
95         vpconflictq     zmm30, ZMMWORD PTR [rdx-8192]    # AVX512CD Disp8
96         vpconflictq     zmm30, ZMMWORD PTR [rdx-8256]    # AVX512CD
97         vpconflictq     zmm30, [rdx+1016]{1to8}  # AVX512CD Disp8
98         vpconflictq     zmm30, [rdx+1024]{1to8}  # AVX512CD
99         vpconflictq     zmm30, [rdx-1024]{1to8}  # AVX512CD Disp8
100         vpconflictq     zmm30, [rdx-1032]{1to8}  # AVX512CD
101
102         vplzcntd        zmm30, zmm29     # AVX512CD
103         vplzcntd        zmm30{k7}, zmm29         # AVX512CD
104         vplzcntd        zmm30{k7}{z}, zmm29      # AVX512CD
105         vplzcntd        zmm30, ZMMWORD PTR [rcx]         # AVX512CD
106         vplzcntd        zmm30, ZMMWORD PTR [rax+r14*8+0x1234]    # AVX512CD
107         vplzcntd        zmm30, [rcx]{1to16}      # AVX512CD
108         vplzcntd        zmm30, ZMMWORD PTR [rdx+8128]    # AVX512CD Disp8
109         vplzcntd        zmm30, ZMMWORD PTR [rdx+8192]    # AVX512CD
110         vplzcntd        zmm30, ZMMWORD PTR [rdx-8192]    # AVX512CD Disp8
111         vplzcntd        zmm30, ZMMWORD PTR [rdx-8256]    # AVX512CD
112         vplzcntd        zmm30, [rdx+508]{1to16}  # AVX512CD Disp8
113         vplzcntd        zmm30, [rdx+512]{1to16}  # AVX512CD
114         vplzcntd        zmm30, [rdx-512]{1to16}  # AVX512CD Disp8
115         vplzcntd        zmm30, [rdx-516]{1to16}  # AVX512CD
116
117         vplzcntq        zmm30, zmm29     # AVX512CD
118         vplzcntq        zmm30{k7}, zmm29         # AVX512CD
119         vplzcntq        zmm30{k7}{z}, zmm29      # AVX512CD
120         vplzcntq        zmm30, ZMMWORD PTR [rcx]         # AVX512CD
121         vplzcntq        zmm30, ZMMWORD PTR [rax+r14*8+0x1234]    # AVX512CD
122         vplzcntq        zmm30, [rcx]{1to8}       # AVX512CD
123         vplzcntq        zmm30, ZMMWORD PTR [rdx+8128]    # AVX512CD Disp8
124         vplzcntq        zmm30, ZMMWORD PTR [rdx+8192]    # AVX512CD
125         vplzcntq        zmm30, ZMMWORD PTR [rdx-8192]    # AVX512CD Disp8
126         vplzcntq        zmm30, ZMMWORD PTR [rdx-8256]    # AVX512CD
127         vplzcntq        zmm30, [rdx+1016]{1to8}  # AVX512CD Disp8
128         vplzcntq        zmm30, [rdx+1024]{1to8}  # AVX512CD
129         vplzcntq        zmm30, [rdx-1024]{1to8}  # AVX512CD Disp8
130         vplzcntq        zmm30, [rdx-1032]{1to8}  # AVX512CD
131
132         vpbroadcastmw2d zmm30, k6        # AVX512CD
133
134         vpbroadcastmb2q zmm30, k6        # AVX512CD
135