Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / X86 / intel-syntax-x86-64-avx_vnni.s
blob48966b3a0736525a506b8dac849fc35f01d46314
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mattr=+avxvnni -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
3 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymm4
4 // CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xf4]
5 {vex} vpdpbusd ymm6, ymm5, ymm4
7 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmm4
8 // CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xf4]
9 {vex} vpdpbusd xmm6, xmm5, xmm4
11 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
12 // CHECK: encoding: [0xc4,0xa2,0x55,0x50,0xb4,0xf5,0x00,0x00,0x00,0x10]
13 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
15 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
16 // CHECK: encoding: [0xc4,0xc2,0x55,0x50,0xb4,0x80,0x23,0x01,0x00,0x00]
17 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
19 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rip]
20 // CHECK: encoding: [0xc4,0xe2,0x55,0x50,0x35,0x00,0x00,0x00,0x00]
21 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rip]
23 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [2*rbp - 1024]
24 // CHECK: encoding: [0xc4,0xe2,0x55,0x50,0x34,0x6d,0x00,0xfc,0xff,0xff]
25 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [2*rbp - 1024]
27 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rcx + 4064]
28 // CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xb1,0xe0,0x0f,0x00,0x00]
29 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rcx + 4064]
31 // CHECK: {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rdx - 4096]
32 // CHECK: encoding: [0xc4,0xe2,0x55,0x50,0xb2,0x00,0xf0,0xff,0xff]
33 {vex} vpdpbusd ymm6, ymm5, ymmword ptr [rdx - 4096]
35 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
36 // CHECK: encoding: [0xc4,0xa2,0x51,0x50,0xb4,0xf5,0x00,0x00,0x00,0x10]
37 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
39 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
40 // CHECK: encoding: [0xc4,0xc2,0x51,0x50,0xb4,0x80,0x23,0x01,0x00,0x00]
41 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
43 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rip]
44 // CHECK: encoding: [0xc4,0xe2,0x51,0x50,0x35,0x00,0x00,0x00,0x00]
45 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rip]
47 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [2*rbp - 512]
48 // CHECK: encoding: [0xc4,0xe2,0x51,0x50,0x34,0x6d,0x00,0xfe,0xff,0xff]
49 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [2*rbp - 512]
51 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rcx + 2032]
52 // CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xb1,0xf0,0x07,0x00,0x00]
53 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rcx + 2032]
55 // CHECK: {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rdx - 2048]
56 // CHECK: encoding: [0xc4,0xe2,0x51,0x50,0xb2,0x00,0xf8,0xff,0xff]
57 {vex} vpdpbusd xmm6, xmm5, xmmword ptr [rdx - 2048]
59 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymm4
60 // CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xf4]
61 {vex} vpdpbusds ymm6, ymm5, ymm4
63 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmm4
64 // CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xf4]
65 {vex} vpdpbusds xmm6, xmm5, xmm4
67 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
68 // CHECK: encoding: [0xc4,0xa2,0x55,0x51,0xb4,0xf5,0x00,0x00,0x00,0x10]
69 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
71 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
72 // CHECK: encoding: [0xc4,0xc2,0x55,0x51,0xb4,0x80,0x23,0x01,0x00,0x00]
73 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
75 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rip]
76 // CHECK: encoding: [0xc4,0xe2,0x55,0x51,0x35,0x00,0x00,0x00,0x00]
77 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rip]
79 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [2*rbp - 1024]
80 // CHECK: encoding: [0xc4,0xe2,0x55,0x51,0x34,0x6d,0x00,0xfc,0xff,0xff]
81 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [2*rbp - 1024]
83 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rcx + 4064]
84 // CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xb1,0xe0,0x0f,0x00,0x00]
85 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rcx + 4064]
87 // CHECK: {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rdx - 4096]
88 // CHECK: encoding: [0xc4,0xe2,0x55,0x51,0xb2,0x00,0xf0,0xff,0xff]
89 {vex} vpdpbusds ymm6, ymm5, ymmword ptr [rdx - 4096]
91 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
92 // CHECK: encoding: [0xc4,0xa2,0x51,0x51,0xb4,0xf5,0x00,0x00,0x00,0x10]
93 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
95 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
96 // CHECK: encoding: [0xc4,0xc2,0x51,0x51,0xb4,0x80,0x23,0x01,0x00,0x00]
97 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
99 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rip]
100 // CHECK: encoding: [0xc4,0xe2,0x51,0x51,0x35,0x00,0x00,0x00,0x00]
101 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rip]
103 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [2*rbp - 512]
104 // CHECK: encoding: [0xc4,0xe2,0x51,0x51,0x34,0x6d,0x00,0xfe,0xff,0xff]
105 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [2*rbp - 512]
107 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rcx + 2032]
108 // CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xb1,0xf0,0x07,0x00,0x00]
109 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rcx + 2032]
111 // CHECK: {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rdx - 2048]
112 // CHECK: encoding: [0xc4,0xe2,0x51,0x51,0xb2,0x00,0xf8,0xff,0xff]
113 {vex} vpdpbusds xmm6, xmm5, xmmword ptr [rdx - 2048]
115 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymm4
116 // CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xf4]
117 {vex} vpdpwssd ymm6, ymm5, ymm4
119 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmm4
120 // CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xf4]
121 {vex} vpdpwssd xmm6, xmm5, xmm4
123 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
124 // CHECK: encoding: [0xc4,0xa2,0x55,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10]
125 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
127 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
128 // CHECK: encoding: [0xc4,0xc2,0x55,0x52,0xb4,0x80,0x23,0x01,0x00,0x00]
129 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
131 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rip]
132 // CHECK: encoding: [0xc4,0xe2,0x55,0x52,0x35,0x00,0x00,0x00,0x00]
133 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rip]
135 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [2*rbp - 1024]
136 // CHECK: encoding: [0xc4,0xe2,0x55,0x52,0x34,0x6d,0x00,0xfc,0xff,0xff]
137 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [2*rbp - 1024]
139 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rcx + 4064]
140 // CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xb1,0xe0,0x0f,0x00,0x00]
141 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rcx + 4064]
143 // CHECK: {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rdx - 4096]
144 // CHECK: encoding: [0xc4,0xe2,0x55,0x52,0xb2,0x00,0xf0,0xff,0xff]
145 {vex} vpdpwssd ymm6, ymm5, ymmword ptr [rdx - 4096]
147 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
148 // CHECK: encoding: [0xc4,0xa2,0x51,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10]
149 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
151 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
152 // CHECK: encoding: [0xc4,0xc2,0x51,0x52,0xb4,0x80,0x23,0x01,0x00,0x00]
153 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
155 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rip]
156 // CHECK: encoding: [0xc4,0xe2,0x51,0x52,0x35,0x00,0x00,0x00,0x00]
157 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rip]
159 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [2*rbp - 512]
160 // CHECK: encoding: [0xc4,0xe2,0x51,0x52,0x34,0x6d,0x00,0xfe,0xff,0xff]
161 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [2*rbp - 512]
163 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rcx + 2032]
164 // CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xb1,0xf0,0x07,0x00,0x00]
165 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rcx + 2032]
167 // CHECK: {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rdx - 2048]
168 // CHECK: encoding: [0xc4,0xe2,0x51,0x52,0xb2,0x00,0xf8,0xff,0xff]
169 {vex} vpdpwssd xmm6, xmm5, xmmword ptr [rdx - 2048]
171 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymm4
172 // CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xf4]
173 {vex} vpdpwssds ymm6, ymm5, ymm4
175 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmm4
176 // CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xf4]
177 {vex} vpdpwssds xmm6, xmm5, xmm4
179 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
180 // CHECK: encoding: [0xc4,0xa2,0x55,0x53,0xb4,0xf5,0x00,0x00,0x00,0x10]
181 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rbp + 8*r14 + 268435456]
183 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
184 // CHECK: encoding: [0xc4,0xc2,0x55,0x53,0xb4,0x80,0x23,0x01,0x00,0x00]
185 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [r8 + 4*rax + 291]
187 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rip]
188 // CHECK: encoding: [0xc4,0xe2,0x55,0x53,0x35,0x00,0x00,0x00,0x00]
189 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rip]
191 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [2*rbp - 1024]
192 // CHECK: encoding: [0xc4,0xe2,0x55,0x53,0x34,0x6d,0x00,0xfc,0xff,0xff]
193 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [2*rbp - 1024]
195 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rcx + 4064]
196 // CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xb1,0xe0,0x0f,0x00,0x00]
197 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rcx + 4064]
199 // CHECK: {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rdx - 4096]
200 // CHECK: encoding: [0xc4,0xe2,0x55,0x53,0xb2,0x00,0xf0,0xff,0xff]
201 {vex} vpdpwssds ymm6, ymm5, ymmword ptr [rdx - 4096]
203 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
204 // CHECK: encoding: [0xc4,0xa2,0x51,0x53,0xb4,0xf5,0x00,0x00,0x00,0x10]
205 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rbp + 8*r14 + 268435456]
207 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
208 // CHECK: encoding: [0xc4,0xc2,0x51,0x53,0xb4,0x80,0x23,0x01,0x00,0x00]
209 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [r8 + 4*rax + 291]
211 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rip]
212 // CHECK: encoding: [0xc4,0xe2,0x51,0x53,0x35,0x00,0x00,0x00,0x00]
213 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rip]
215 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [2*rbp - 512]
216 // CHECK: encoding: [0xc4,0xe2,0x51,0x53,0x34,0x6d,0x00,0xfe,0xff,0xff]
217 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [2*rbp - 512]
219 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rcx + 2032]
220 // CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xb1,0xf0,0x07,0x00,0x00]
221 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rcx + 2032]
223 // CHECK: {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rdx - 2048]
224 // CHECK: encoding: [0xc4,0xe2,0x51,0x53,0xb2,0x00,0xf8,0xff,0xff]
225 {vex} vpdpwssds xmm6, xmm5, xmmword ptr [rdx - 2048]