i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / avx512vnni.s
1 # Check 32bit AVX512VNNI instructions
2
3         .allow_index_reg
4         .text
5 _start:
6         vpdpwssd        %zmm3, %zmm1, %zmm4      # AVX512VNNI
7         vpdpwssd        %zmm3, %zmm1, %zmm4{%k1}         # AVX512VNNI
8         vpdpwssd        %zmm3, %zmm1, %zmm4{%k1}{z}      # AVX512VNNI
9         vpdpwssd        -123456(%esp,%esi,8), %zmm1, %zmm4       # AVX512VNNI
10         vpdpwssd        8128(%edx), %zmm1, %zmm4         # AVX512VNNI Disp8
11         vpdpwssd        508(%edx){1to16}, %zmm1, %zmm4   # AVX512VNNI Disp8
12
13         vpdpwssds       %zmm4, %zmm5, %zmm2      # AVX512VNNI
14         vpdpwssds       %zmm4, %zmm5, %zmm2{%k6}         # AVX512VNNI
15         vpdpwssds       %zmm4, %zmm5, %zmm2{%k6}{z}      # AVX512VNNI
16         vpdpwssds       -123456(%esp,%esi,8), %zmm5, %zmm2       # AVX512VNNI
17         vpdpwssds       8128(%edx), %zmm5, %zmm2         # AVX512VNNI Disp8
18         vpdpwssds       508(%edx){1to16}, %zmm5, %zmm2   # AVX512VNNI Disp8
19
20         vpdpbusd        %zmm3, %zmm2, %zmm5      # AVX512VNNI
21         vpdpbusd        %zmm3, %zmm2, %zmm5{%k1}         # AVX512VNNI
22         vpdpbusd        %zmm3, %zmm2, %zmm5{%k1}{z}      # AVX512VNNI
23         vpdpbusd        -123456(%esp,%esi,8), %zmm2, %zmm5       # AVX512VNNI
24         vpdpbusd        8128(%edx), %zmm2, %zmm5         # AVX512VNNI Disp8
25         vpdpbusd        508(%edx){1to16}, %zmm2, %zmm5   # AVX512VNNI Disp8
26
27         vpdpbusds       %zmm1, %zmm3, %zmm5      # AVX512VNNI
28         vpdpbusds       %zmm1, %zmm3, %zmm5{%k2}         # AVX512VNNI
29         vpdpbusds       %zmm1, %zmm3, %zmm5{%k2}{z}      # AVX512VNNI
30         vpdpbusds       -123456(%esp,%esi,8), %zmm3, %zmm5       # AVX512VNNI
31         vpdpbusds       8128(%edx), %zmm3, %zmm5         # AVX512VNNI Disp8
32         vpdpbusds       508(%edx){1to16}, %zmm3, %zmm5   # AVX512VNNI Disp8
33
34         .intel_syntax noprefix
35         vpdpwssd        zmm3, zmm4, zmm1         # AVX512VNNI
36         vpdpwssd        zmm3{k3}, zmm4, zmm1     # AVX512VNNI
37         vpdpwssd        zmm3{k3}{z}, zmm4, zmm1  # AVX512VNNI
38         vpdpwssd        zmm3, zmm4, ZMMWORD PTR [esp+esi*8-123456]       # AVX512VNNI
39         vpdpwssd        zmm3, zmm4, ZMMWORD PTR [edx+8128]       # AVX512VNNI Disp8
40         vpdpwssd        zmm3, zmm4, [edx+508]{1to16}     # AVX512VNNI Disp8
41
42         vpdpwssds       zmm3, zmm1, zmm2         # AVX512VNNI
43         vpdpwssds       zmm3{k7}, zmm1, zmm2     # AVX512VNNI
44         vpdpwssds       zmm3{k7}{z}, zmm1, zmm2  # AVX512VNNI
45         vpdpwssds       zmm3, zmm1, ZMMWORD PTR [esp+esi*8-123456]       # AVX512VNNI
46         vpdpwssds       zmm3, zmm1, ZMMWORD PTR [edx+8128]       # AVX512VNNI Disp8
47         vpdpwssds       zmm3, zmm1, [edx+508]{1to16}     # AVX512VNNI Disp8
48
49         vpdpbusd        zmm3, zmm4, zmm1         # AVX512VNNI
50         vpdpbusd        zmm3{k6}, zmm4, zmm1     # AVX512VNNI
51         vpdpbusd        zmm3{k6}{z}, zmm4, zmm1  # AVX512VNNI
52         vpdpbusd        zmm3, zmm4, ZMMWORD PTR [esp+esi*8-123456]       # AVX512VNNI
53         vpdpbusd        zmm3, zmm4, ZMMWORD PTR [edx+8128]       # AVX512VNNI Disp8
54         vpdpbusd        zmm3, zmm4, [edx+508]{1to16}     # AVX512VNNI Disp8
55         vpdpbusds       zmm1, zmm1, zmm1         # AVX512VNNI
56         vpdpbusds       zmm1{k1}, zmm1, zmm1     # AVX512VNNI
57         vpdpbusds       zmm1{k1}{z}, zmm1, zmm1  # AVX512VNNI
58         vpdpbusds       zmm1, zmm1, ZMMWORD PTR [esp+esi*8-123456]       # AVX512VNNI
59         vpdpbusds       zmm1, zmm1, ZMMWORD PTR [edx+8128]       # AVX512VNNI Disp8
60         vpdpbusds       zmm1, zmm1, [edx+508]{1to16}     # AVX512VNNI Disp8