tizen 2.4 release
[external/binutils.git] / gas / testsuite / gas / i386 / avx512vbmi_vl.s
1 # Check 32bit AVX512{VBMI,VL} instructions
2
3         .allow_index_reg
4         .text
5 _start:
6         vpermb  %xmm4, %xmm5, %xmm6{%k7}         # AVX512{VBMI,VL}
7         vpermb  %xmm4, %xmm5, %xmm6{%k7}{z}      # AVX512{VBMI,VL}
8         vpermb  (%ecx), %xmm5, %xmm6{%k7}        # AVX512{VBMI,VL}
9         vpermb  -123456(%esp,%esi,8), %xmm5, %xmm6{%k7}  # AVX512{VBMI,VL}
10         vpermb  2032(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL} Disp8
11         vpermb  2048(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL}
12         vpermb  -2048(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL} Disp8
13         vpermb  -2064(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL}
14         vpermb  %ymm4, %ymm5, %ymm6{%k7}         # AVX512{VBMI,VL}
15         vpermb  %ymm4, %ymm5, %ymm6{%k7}{z}      # AVX512{VBMI,VL}
16         vpermb  (%ecx), %ymm5, %ymm6{%k7}        # AVX512{VBMI,VL}
17         vpermb  -123456(%esp,%esi,8), %ymm5, %ymm6{%k7}  # AVX512{VBMI,VL}
18         vpermb  4064(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL} Disp8
19         vpermb  4096(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL}
20         vpermb  -4096(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL} Disp8
21         vpermb  -4128(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL}
22         vpermi2b        %xmm4, %xmm5, %xmm6{%k7}         # AVX512{VBMI,VL}
23         vpermi2b        %xmm4, %xmm5, %xmm6{%k7}{z}      # AVX512{VBMI,VL}
24         vpermi2b        (%ecx), %xmm5, %xmm6{%k7}        # AVX512{VBMI,VL}
25         vpermi2b        -123456(%esp,%esi,8), %xmm5, %xmm6{%k7}  # AVX512{VBMI,VL}
26         vpermi2b        2032(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL} Disp8
27         vpermi2b        2048(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL}
28         vpermi2b        -2048(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL} Disp8
29         vpermi2b        -2064(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL}
30         vpermi2b        %ymm4, %ymm5, %ymm6{%k7}         # AVX512{VBMI,VL}
31         vpermi2b        %ymm4, %ymm5, %ymm6{%k7}{z}      # AVX512{VBMI,VL}
32         vpermi2b        (%ecx), %ymm5, %ymm6{%k7}        # AVX512{VBMI,VL}
33         vpermi2b        -123456(%esp,%esi,8), %ymm5, %ymm6{%k7}  # AVX512{VBMI,VL}
34         vpermi2b        4064(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL} Disp8
35         vpermi2b        4096(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL}
36         vpermi2b        -4096(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL} Disp8
37         vpermi2b        -4128(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL}
38         vpermt2b        %xmm4, %xmm5, %xmm6{%k7}         # AVX512{VBMI,VL}
39         vpermt2b        %xmm4, %xmm5, %xmm6{%k7}{z}      # AVX512{VBMI,VL}
40         vpermt2b        (%ecx), %xmm5, %xmm6{%k7}        # AVX512{VBMI,VL}
41         vpermt2b        -123456(%esp,%esi,8), %xmm5, %xmm6{%k7}  # AVX512{VBMI,VL}
42         vpermt2b        2032(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL} Disp8
43         vpermt2b        2048(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL}
44         vpermt2b        -2048(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL} Disp8
45         vpermt2b        -2064(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL}
46         vpermt2b        %ymm4, %ymm5, %ymm6{%k7}         # AVX512{VBMI,VL}
47         vpermt2b        %ymm4, %ymm5, %ymm6{%k7}{z}      # AVX512{VBMI,VL}
48         vpermt2b        (%ecx), %ymm5, %ymm6{%k7}        # AVX512{VBMI,VL}
49         vpermt2b        -123456(%esp,%esi,8), %ymm5, %ymm6{%k7}  # AVX512{VBMI,VL}
50         vpermt2b        4064(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL} Disp8
51         vpermt2b        4096(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL}
52         vpermt2b        -4096(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL} Disp8
53         vpermt2b        -4128(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL}
54         vpmultishiftqb  %xmm4, %xmm5, %xmm6{%k7}         # AVX512{VBMI,VL}
55         vpmultishiftqb  %xmm4, %xmm5, %xmm6{%k7}{z}      # AVX512{VBMI,VL}
56         vpmultishiftqb  (%ecx), %xmm5, %xmm6{%k7}        # AVX512{VBMI,VL}
57         vpmultishiftqb  -123456(%esp,%esi,8), %xmm5, %xmm6{%k7}  # AVX512{VBMI,VL}
58         vpmultishiftqb  (%eax){1to2}, %xmm5, %xmm6{%k7}  # AVX512{VBMI,VL}
59         vpmultishiftqb  2032(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL} Disp8
60         vpmultishiftqb  2048(%edx), %xmm5, %xmm6{%k7}    # AVX512{VBMI,VL}
61         vpmultishiftqb  -2048(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL} Disp8
62         vpmultishiftqb  -2064(%edx), %xmm5, %xmm6{%k7}   # AVX512{VBMI,VL}
63         vpmultishiftqb  1016(%edx){1to2}, %xmm5, %xmm6{%k7}      # AVX512{VBMI,VL} Disp8
64         vpmultishiftqb  1024(%edx){1to2}, %xmm5, %xmm6{%k7}      # AVX512{VBMI,VL}
65         vpmultishiftqb  -1024(%edx){1to2}, %xmm5, %xmm6{%k7}     # AVX512{VBMI,VL} Disp8
66         vpmultishiftqb  -1032(%edx){1to2}, %xmm5, %xmm6{%k7}     # AVX512{VBMI,VL}
67         vpmultishiftqb  %ymm4, %ymm5, %ymm6{%k7}         # AVX512{VBMI,VL}
68         vpmultishiftqb  %ymm4, %ymm5, %ymm6{%k7}{z}      # AVX512{VBMI,VL}
69         vpmultishiftqb  (%ecx), %ymm5, %ymm6{%k7}        # AVX512{VBMI,VL}
70         vpmultishiftqb  -123456(%esp,%esi,8), %ymm5, %ymm6{%k7}  # AVX512{VBMI,VL}
71         vpmultishiftqb  (%eax){1to4}, %ymm5, %ymm6{%k7}  # AVX512{VBMI,VL}
72         vpmultishiftqb  4064(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL} Disp8
73         vpmultishiftqb  4096(%edx), %ymm5, %ymm6{%k7}    # AVX512{VBMI,VL}
74         vpmultishiftqb  -4096(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL} Disp8
75         vpmultishiftqb  -4128(%edx), %ymm5, %ymm6{%k7}   # AVX512{VBMI,VL}
76         vpmultishiftqb  1016(%edx){1to4}, %ymm5, %ymm6{%k7}      # AVX512{VBMI,VL} Disp8
77         vpmultishiftqb  1024(%edx){1to4}, %ymm5, %ymm6{%k7}      # AVX512{VBMI,VL}
78         vpmultishiftqb  -1024(%edx){1to4}, %ymm5, %ymm6{%k7}     # AVX512{VBMI,VL} Disp8
79         vpmultishiftqb  -1032(%edx){1to4}, %ymm5, %ymm6{%k7}     # AVX512{VBMI,VL}
80
81         .intel_syntax noprefix
82         vpermb  xmm6{k7}, xmm5, xmm4     # AVX512{VBMI,VL}
83         vpermb  xmm6{k7}{z}, xmm5, xmm4  # AVX512{VBMI,VL}
84         vpermb  xmm6{k7}, xmm5, XMMWORD PTR [ecx]        # AVX512{VBMI,VL}
85         vpermb  xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
86         vpermb  xmm6{k7}, xmm5, XMMWORD PTR [edx+2032]   # AVX512{VBMI,VL} Disp8
87         vpermb  xmm6{k7}, xmm5, XMMWORD PTR [edx+2048]   # AVX512{VBMI,VL}
88         vpermb  xmm6{k7}, xmm5, XMMWORD PTR [edx-2048]   # AVX512{VBMI,VL} Disp8
89         vpermb  xmm6{k7}, xmm5, XMMWORD PTR [edx-2064]   # AVX512{VBMI,VL}
90         vpermb  ymm6{k7}, ymm5, ymm4     # AVX512{VBMI,VL}
91         vpermb  ymm6{k7}{z}, ymm5, ymm4  # AVX512{VBMI,VL}
92         vpermb  ymm6{k7}, ymm5, YMMWORD PTR [ecx]        # AVX512{VBMI,VL}
93         vpermb  ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
94         vpermb  ymm6{k7}, ymm5, YMMWORD PTR [edx+4064]   # AVX512{VBMI,VL} Disp8
95         vpermb  ymm6{k7}, ymm5, YMMWORD PTR [edx+4096]   # AVX512{VBMI,VL}
96         vpermb  ymm6{k7}, ymm5, YMMWORD PTR [edx-4096]   # AVX512{VBMI,VL} Disp8
97         vpermb  ymm6{k7}, ymm5, YMMWORD PTR [edx-4128]   # AVX512{VBMI,VL}
98         vpermi2b        xmm6{k7}, xmm5, xmm4     # AVX512{VBMI,VL}
99         vpermi2b        xmm6{k7}{z}, xmm5, xmm4  # AVX512{VBMI,VL}
100         vpermi2b        xmm6{k7}, xmm5, XMMWORD PTR [ecx]        # AVX512{VBMI,VL}
101         vpermi2b        xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
102         vpermi2b        xmm6{k7}, xmm5, XMMWORD PTR [edx+2032]   # AVX512{VBMI,VL} Disp8
103         vpermi2b        xmm6{k7}, xmm5, XMMWORD PTR [edx+2048]   # AVX512{VBMI,VL}
104         vpermi2b        xmm6{k7}, xmm5, XMMWORD PTR [edx-2048]   # AVX512{VBMI,VL} Disp8
105         vpermi2b        xmm6{k7}, xmm5, XMMWORD PTR [edx-2064]   # AVX512{VBMI,VL}
106         vpermi2b        ymm6{k7}, ymm5, ymm4     # AVX512{VBMI,VL}
107         vpermi2b        ymm6{k7}{z}, ymm5, ymm4  # AVX512{VBMI,VL}
108         vpermi2b        ymm6{k7}, ymm5, YMMWORD PTR [ecx]        # AVX512{VBMI,VL}
109         vpermi2b        ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
110         vpermi2b        ymm6{k7}, ymm5, YMMWORD PTR [edx+4064]   # AVX512{VBMI,VL} Disp8
111         vpermi2b        ymm6{k7}, ymm5, YMMWORD PTR [edx+4096]   # AVX512{VBMI,VL}
112         vpermi2b        ymm6{k7}, ymm5, YMMWORD PTR [edx-4096]   # AVX512{VBMI,VL} Disp8
113         vpermi2b        ymm6{k7}, ymm5, YMMWORD PTR [edx-4128]   # AVX512{VBMI,VL}
114         vpermt2b        xmm6{k7}, xmm5, xmm4     # AVX512{VBMI,VL}
115         vpermt2b        xmm6{k7}{z}, xmm5, xmm4  # AVX512{VBMI,VL}
116         vpermt2b        xmm6{k7}, xmm5, XMMWORD PTR [ecx]        # AVX512{VBMI,VL}
117         vpermt2b        xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
118         vpermt2b        xmm6{k7}, xmm5, XMMWORD PTR [edx+2032]   # AVX512{VBMI,VL} Disp8
119         vpermt2b        xmm6{k7}, xmm5, XMMWORD PTR [edx+2048]   # AVX512{VBMI,VL}
120         vpermt2b        xmm6{k7}, xmm5, XMMWORD PTR [edx-2048]   # AVX512{VBMI,VL} Disp8
121         vpermt2b        xmm6{k7}, xmm5, XMMWORD PTR [edx-2064]   # AVX512{VBMI,VL}
122         vpermt2b        ymm6{k7}, ymm5, ymm4     # AVX512{VBMI,VL}
123         vpermt2b        ymm6{k7}{z}, ymm5, ymm4  # AVX512{VBMI,VL}
124         vpermt2b        ymm6{k7}, ymm5, YMMWORD PTR [ecx]        # AVX512{VBMI,VL}
125         vpermt2b        ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
126         vpermt2b        ymm6{k7}, ymm5, YMMWORD PTR [edx+4064]   # AVX512{VBMI,VL} Disp8
127         vpermt2b        ymm6{k7}, ymm5, YMMWORD PTR [edx+4096]   # AVX512{VBMI,VL}
128         vpermt2b        ymm6{k7}, ymm5, YMMWORD PTR [edx-4096]   # AVX512{VBMI,VL} Disp8
129         vpermt2b        ymm6{k7}, ymm5, YMMWORD PTR [edx-4128]   # AVX512{VBMI,VL}
130         vpmultishiftqb  xmm6{k7}, xmm5, xmm4     # AVX512{VBMI,VL}
131         vpmultishiftqb  xmm6{k7}{z}, xmm5, xmm4  # AVX512{VBMI,VL}
132         vpmultishiftqb  xmm6{k7}, xmm5, XMMWORD PTR [ecx]        # AVX512{VBMI,VL}
133         vpmultishiftqb  xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
134         vpmultishiftqb  xmm6{k7}, xmm5, [eax]{1to2}      # AVX512{VBMI,VL}
135         vpmultishiftqb  xmm6{k7}, xmm5, XMMWORD PTR [edx+2032]   # AVX512{VBMI,VL} Disp8
136         vpmultishiftqb  xmm6{k7}, xmm5, XMMWORD PTR [edx+2048]   # AVX512{VBMI,VL}
137         vpmultishiftqb  xmm6{k7}, xmm5, XMMWORD PTR [edx-2048]   # AVX512{VBMI,VL} Disp8
138         vpmultishiftqb  xmm6{k7}, xmm5, XMMWORD PTR [edx-2064]   # AVX512{VBMI,VL}
139         vpmultishiftqb  xmm6{k7}, xmm5, [edx+1016]{1to2}         # AVX512{VBMI,VL} Disp8
140         vpmultishiftqb  xmm6{k7}, xmm5, [edx+1024]{1to2}         # AVX512{VBMI,VL}
141         vpmultishiftqb  xmm6{k7}, xmm5, [edx-1024]{1to2}         # AVX512{VBMI,VL} Disp8
142         vpmultishiftqb  xmm6{k7}, xmm5, [edx-1032]{1to2}         # AVX512{VBMI,VL}
143         vpmultishiftqb  ymm6{k7}, ymm5, ymm4     # AVX512{VBMI,VL}
144         vpmultishiftqb  ymm6{k7}{z}, ymm5, ymm4  # AVX512{VBMI,VL}
145         vpmultishiftqb  ymm6{k7}, ymm5, YMMWORD PTR [ecx]        # AVX512{VBMI,VL}
146         vpmultishiftqb  ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456]   # AVX512{VBMI,VL}
147         vpmultishiftqb  ymm6{k7}, ymm5, [eax]{1to4}      # AVX512{VBMI,VL}
148         vpmultishiftqb  ymm6{k7}, ymm5, YMMWORD PTR [edx+4064]   # AVX512{VBMI,VL} Disp8
149         vpmultishiftqb  ymm6{k7}, ymm5, YMMWORD PTR [edx+4096]   # AVX512{VBMI,VL}
150         vpmultishiftqb  ymm6{k7}, ymm5, YMMWORD PTR [edx-4096]   # AVX512{VBMI,VL} Disp8
151         vpmultishiftqb  ymm6{k7}, ymm5, YMMWORD PTR [edx-4128]   # AVX512{VBMI,VL}
152         vpmultishiftqb  ymm6{k7}, ymm5, [edx+1016]{1to4}         # AVX512{VBMI,VL} Disp8
153         vpmultishiftqb  ymm6{k7}, ymm5, [edx+1024]{1to4}         # AVX512{VBMI,VL}
154         vpmultishiftqb  ymm6{k7}, ymm5, [edx-1024]{1to4}         # AVX512{VBMI,VL} Disp8
155         vpmultishiftqb  ymm6{k7}, ymm5, [edx-1032]{1to4}         # AVX512{VBMI,VL}