1# Check 32bit AVX512VL,VAES instructions
2
3	.allow_index_reg
4	.text
5_start:
6	vaesdec	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
7	vaesdec	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
8	vaesdec	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
9	vaesdec	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
10	vaesdec	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
11	vaesdec	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
12
13	vaesdeclast	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
14	vaesdeclast	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
15	vaesdeclast	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
16	vaesdeclast	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
17	vaesdeclast	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
18	vaesdeclast	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
19
20	vaesenc	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
21	vaesenc	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
22	vaesenc	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
23	vaesenc	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
24	vaesenc	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
25	vaesenc	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
26
27	vaesenclast	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
28	vaesenclast	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
29	vaesenclast	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
30	vaesenclast	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
31	vaesenclast	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
32	vaesenclast	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
33
34	{evex} vaesdec	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
35	{evex} vaesdec	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
36	{evex} vaesdec	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
37	{evex} vaesdec	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
38	{evex} vaesdec	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
39	{evex} vaesdec	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
40
41	{evex} vaesdeclast	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
42	{evex} vaesdeclast	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
43	{evex} vaesdeclast	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
44	{evex} vaesdeclast	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
45	{evex} vaesdeclast	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
46	{evex} vaesdeclast	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
47
48	{evex} vaesenc	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
49	{evex} vaesenc	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
50	{evex} vaesenc	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
51	{evex} vaesenc	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
52	{evex} vaesenc	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
53	{evex} vaesenc	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
54
55	{evex} vaesenclast	%xmm4, %xmm5, %xmm6	 # AVX512VL,VAES
56	{evex} vaesenclast	-123456(%esp,%esi,8), %xmm5, %xmm6	 # AVX512VL,VAES
57	{evex} vaesenclast	2032(%edx), %xmm5, %xmm6	 # AVX512VL,VAES Disp8
58	{evex} vaesenclast	%ymm4, %ymm5, %ymm6	 # AVX512VL,VAES
59	{evex} vaesenclast	-123456(%esp,%esi,8), %ymm5, %ymm6	 # AVX512VL,VAES
60	{evex} vaesenclast	4064(%edx), %ymm5, %ymm6	 # AVX512VL,VAES Disp8
61
62	.intel_syntax noprefix
63	vaesdec	xmm6, xmm5, xmm4	 # AVX512VL,VAES
64	vaesdec	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
65	vaesdec	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
66	vaesdec	ymm6, ymm5, ymm4	 # AVX512VL,VAES
67	vaesdec	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
68	vaesdec	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
69
70	vaesdeclast	xmm6, xmm5, xmm4	 # AVX512VL,VAES
71	vaesdeclast	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
72	vaesdeclast	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
73	vaesdeclast	ymm6, ymm5, ymm4	 # AVX512VL,VAES
74	vaesdeclast	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
75	vaesdeclast	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
76
77	vaesenc	xmm6, xmm5, xmm4	 # AVX512VL,VAES
78	vaesenc	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
79	vaesenc	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
80	vaesenc	ymm6, ymm5, ymm4	 # AVX512VL,VAES
81	vaesenc	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
82	vaesenc	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
83
84	vaesenclast	xmm6, xmm5, xmm4	 # AVX512VL,VAES
85	vaesenclast	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
86	vaesenclast	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
87	vaesenclast	ymm6, ymm5, ymm4	 # AVX512VL,VAES
88	vaesenclast	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
89	vaesenclast	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
90
91	{evex} vaesdec	xmm6, xmm5, xmm4	 # AVX512VL,VAES
92	{evex} vaesdec	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
93	{evex} vaesdec	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
94	{evex} vaesdec	ymm6, ymm5, ymm4	 # AVX512VL,VAES
95	{evex} vaesdec	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
96	{evex} vaesdec	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
97
98	{evex} vaesdeclast	xmm6, xmm5, xmm4	 # AVX512VL,VAES
99	{evex} vaesdeclast	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
100	{evex} vaesdeclast	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
101	{evex} vaesdeclast	ymm6, ymm5, ymm4	 # AVX512VL,VAES
102	{evex} vaesdeclast	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
103	{evex} vaesdeclast	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
104
105	{evex} vaesenc	xmm6, xmm5, xmm4	 # AVX512VL,VAES
106	{evex} vaesenc	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
107	{evex} vaesenc	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
108	{evex} vaesenc	ymm6, ymm5, ymm4	 # AVX512VL,VAES
109	{evex} vaesenc	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
110	{evex} vaesenc	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
111
112	{evex} vaesenclast	xmm6, xmm5, xmm4	 # AVX512VL,VAES
113	{evex} vaesenclast	xmm6, xmm5, XMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
114	{evex} vaesenclast	xmm6, xmm5, XMMWORD PTR [edx+2032]	 # AVX512VL,VAES Disp8
115	{evex} vaesenclast	ymm6, ymm5, ymm4	 # AVX512VL,VAES
116	{evex} vaesenclast	ymm6, ymm5, YMMWORD PTR [esp+esi*8-123456]	 # AVX512VL,VAES
117	{evex} vaesenclast	ymm6, ymm5, YMMWORD PTR [edx+4064]	 # AVX512VL,VAES Disp8
118