Merging r261365:
[oota-llvm.git] / test / MC / X86 / intel-syntax-x86-64-avx512f_vl.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512vl -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3 // CHECK:  vcmppd k3, xmm27, xmm23, 171
4 // CHECK:  encoding: [0x62,0xb1,0xa5,0x00,0xc2,0xdf,0xab]
5           vcmppd k3,xmm27,xmm23,0xab
6
7 // CHECK:  vcmppd k3 {k5}, xmm27, xmm23, 171
8 // CHECK:  encoding: [0x62,0xb1,0xa5,0x05,0xc2,0xdf,0xab]
9           vcmppd k3{k5},xmm27,xmm23,0xab
10
11 // CHECK:  vcmppd k3, xmm27, xmm23, 123
12 // CHECK:  encoding: [0x62,0xb1,0xa5,0x00,0xc2,0xdf,0x7b]
13           vcmppd k3,xmm27,xmm23,0x7b
14
15 // CHECK:  vcmppd k3, xmm27, xmmword ptr [rcx], 123
16 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x19,0x7b]
17           vcmppd k3,xmm27,XMMWORD PTR [rcx],0x7b
18
19 // CHECK:  vcmppd k3, xmm27, xmmword ptr [rax + 8*r14 + 291], 123
20 // CHECK:  encoding: [0x62,0xb1,0xa5,0x00,0xc2,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
21           vcmppd k3,xmm27,XMMWORD PTR [rax+r14*8+0x123],0x7b
22
23 // CHECK:  vcmppd k3, xmm27, qword ptr [rcx]{1to2}, 123
24 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x19,0x7b]
25           vcmppd k3,xmm27,QWORD PTR [rcx]{1to2},0x7b
26
27 // CHECK:  vcmppd k3, xmm27, xmmword ptr [rdx + 2032], 123
28 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x5a,0x7f,0x7b]
29           vcmppd k3,xmm27,XMMWORD PTR [rdx+0x7f0],0x7b
30
31 // CHECK:  vcmppd k3, xmm27, xmmword ptr [rdx + 2048], 123
32 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x9a,0x00,0x08,0x00,0x00,0x7b]
33           vcmppd k3,xmm27,XMMWORD PTR [rdx+0x800],0x7b
34
35 // CHECK:  vcmppd k3, xmm27, xmmword ptr [rdx - 2048], 123
36 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x5a,0x80,0x7b]
37           vcmppd k3,xmm27,XMMWORD PTR [rdx-0x800],0x7b
38
39 // CHECK:  vcmppd k3, xmm27, xmmword ptr [rdx - 2064], 123
40 // CHECK:  encoding: [0x62,0xf1,0xa5,0x00,0xc2,0x9a,0xf0,0xf7,0xff,0xff,0x7b]
41           vcmppd k3,xmm27,XMMWORD PTR [rdx-0x810],0x7b
42
43 // CHECK:  vcmppd k3, xmm27, qword ptr [rdx + 1016]{1to2}, 123
44 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x5a,0x7f,0x7b]
45           vcmppd k3,xmm27,QWORD PTR [rdx+0x3f8]{1to2},0x7b
46
47 // CHECK:  vcmppd k3, xmm27, qword ptr [rdx + 1024]{1to2}, 123
48 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x9a,0x00,0x04,0x00,0x00,0x7b]
49           vcmppd k3,xmm27,QWORD PTR [rdx+0x400]{1to2},0x7b
50
51 // CHECK:  vcmppd k3, xmm27, qword ptr [rdx - 1024]{1to2}, 123
52 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x5a,0x80,0x7b]
53           vcmppd k3,xmm27,QWORD PTR [rdx-0x400]{1to2},0x7b
54
55 // CHECK:  vcmppd k3, xmm27, qword ptr [rdx - 1032]{1to2}, 123
56 // CHECK:  encoding: [0x62,0xf1,0xa5,0x10,0xc2,0x9a,0xf8,0xfb,0xff,0xff,0x7b]
57           vcmppd k3,xmm27,QWORD PTR [rdx-0x408]{1to2},0x7b
58
59 // CHECK:  vcmppd k4, ymm17, ymm27, 171
60 // CHECK:  encoding: [0x62,0x91,0xf5,0x20,0xc2,0xe3,0xab]
61           vcmppd k4,ymm17,ymm27,0xab
62
63 // CHECK:  vcmppd k4 {k7}, ymm17, ymm27, 171
64 // CHECK:  encoding: [0x62,0x91,0xf5,0x27,0xc2,0xe3,0xab]
65           vcmppd k4{k7},ymm17,ymm27,0xab
66
67 // CHECK:  vcmppd k4, ymm17, ymm27, 123
68 // CHECK:  encoding: [0x62,0x91,0xf5,0x20,0xc2,0xe3,0x7b]
69           vcmppd k4,ymm17,ymm27,0x7b
70
71 // CHECK:  vcmppd k4, ymm17, ymmword ptr [rcx], 123
72 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x21,0x7b]
73           vcmppd k4,ymm17,YMMWORD PTR [rcx],0x7b
74
75 // CHECK:  vcmppd k4, ymm17, ymmword ptr [rax + 8*r14 + 291], 123
76 // CHECK:  encoding: [0x62,0xb1,0xf5,0x20,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
77           vcmppd k4,ymm17,YMMWORD PTR [rax+r14*8+0x123],0x7b
78
79 // CHECK:  vcmppd k4, ymm17, qword ptr [rcx]{1to4}, 123
80 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x21,0x7b]
81           vcmppd k4,ymm17,QWORD PTR [rcx]{1to4},0x7b
82
83 // CHECK:  vcmppd k4, ymm17, ymmword ptr [rdx + 4064], 123
84 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x62,0x7f,0x7b]
85           vcmppd k4,ymm17,YMMWORD PTR [rdx+0xfe0],0x7b
86
87 // CHECK:  vcmppd k4, ymm17, ymmword ptr [rdx + 4096], 123
88 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0xa2,0x00,0x10,0x00,0x00,0x7b]
89           vcmppd k4,ymm17,YMMWORD PTR [rdx+0x1000],0x7b
90
91 // CHECK:  vcmppd k4, ymm17, ymmword ptr [rdx - 4096], 123
92 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0x62,0x80,0x7b]
93           vcmppd k4,ymm17,YMMWORD PTR [rdx-0x1000],0x7b
94
95 // CHECK:  vcmppd k4, ymm17, ymmword ptr [rdx - 4128], 123
96 // CHECK:  encoding: [0x62,0xf1,0xf5,0x20,0xc2,0xa2,0xe0,0xef,0xff,0xff,0x7b]
97           vcmppd k4,ymm17,YMMWORD PTR [rdx-0x1020],0x7b
98
99 // CHECK:  vcmppd k4, ymm17, qword ptr [rdx + 1016]{1to4}, 123
100 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x62,0x7f,0x7b]
101           vcmppd k4,ymm17,QWORD PTR [rdx+0x3f8]{1to4},0x7b
102
103 // CHECK:  vcmppd k4, ymm17, qword ptr [rdx + 1024]{1to4}, 123
104 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0xa2,0x00,0x04,0x00,0x00,0x7b]
105           vcmppd k4,ymm17,QWORD PTR [rdx+0x400]{1to4},0x7b
106
107 // CHECK:  vcmppd k4, ymm17, qword ptr [rdx - 1024]{1to4}, 123
108 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0x62,0x80,0x7b]
109           vcmppd k4,ymm17,QWORD PTR [rdx-0x400]{1to4},0x7b
110
111 // CHECK:  vcmppd k4, ymm17, qword ptr [rdx - 1032]{1to4}, 123
112 // CHECK:  encoding: [0x62,0xf1,0xf5,0x30,0xc2,0xa2,0xf8,0xfb,0xff,0xff,0x7b]
113           vcmppd k4,ymm17,QWORD PTR [rdx-0x408]{1to4},0x7b
114
115 // CHECK:  vcmpps k4, xmm29, xmm28, 171
116 // CHECK:  encoding: [0x62,0x91,0x14,0x00,0xc2,0xe4,0xab]
117           vcmpps k4,xmm29,xmm28,0xab
118
119 // CHECK:  vcmpps k4 {k2}, xmm29, xmm28, 171
120 // CHECK:  encoding: [0x62,0x91,0x14,0x02,0xc2,0xe4,0xab]
121           vcmpps k4{k2},xmm29,xmm28,0xab
122
123 // CHECK:  vcmpps k4, xmm29, xmm28, 123
124 // CHECK:  encoding: [0x62,0x91,0x14,0x00,0xc2,0xe4,0x7b]
125           vcmpps k4,xmm29,xmm28,0x7b
126
127 // CHECK:  vcmpps k4, xmm29, xmmword ptr [rcx], 123
128 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0x21,0x7b]
129           vcmpps k4,xmm29,XMMWORD PTR [rcx],0x7b
130
131 // CHECK:  vcmpps k4, xmm29, xmmword ptr [rax + 8*r14 + 291], 123
132 // CHECK:  encoding: [0x62,0xb1,0x14,0x00,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
133           vcmpps k4,xmm29,XMMWORD PTR [rax+r14*8+0x123],0x7b
134
135 // CHECK:  vcmpps k4, xmm29, dword ptr [rcx]{1to4}, 123
136 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0x21,0x7b]
137           vcmpps k4,xmm29,DWORD PTR [rcx]{1to4},0x7b
138
139 // CHECK:  vcmpps k4, xmm29, xmmword ptr [rdx + 2032], 123
140 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0x62,0x7f,0x7b]
141           vcmpps k4,xmm29,XMMWORD PTR [rdx+0x7f0],0x7b
142
143 // CHECK:  vcmpps k4, xmm29, xmmword ptr [rdx + 2048], 123
144 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0xa2,0x00,0x08,0x00,0x00,0x7b]
145           vcmpps k4,xmm29,XMMWORD PTR [rdx+0x800],0x7b
146
147 // CHECK:  vcmpps k4, xmm29, xmmword ptr [rdx - 2048], 123
148 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0x62,0x80,0x7b]
149           vcmpps k4,xmm29,XMMWORD PTR [rdx-0x800],0x7b
150
151 // CHECK:  vcmpps k4, xmm29, xmmword ptr [rdx - 2064], 123
152 // CHECK:  encoding: [0x62,0xf1,0x14,0x00,0xc2,0xa2,0xf0,0xf7,0xff,0xff,0x7b]
153           vcmpps k4,xmm29,XMMWORD PTR [rdx-0x810],0x7b
154
155 // CHECK:  vcmpps k4, xmm29, dword ptr [rdx + 508]{1to4}, 123
156 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0x62,0x7f,0x7b]
157           vcmpps k4,xmm29,DWORD PTR [rdx+0x1fc]{1to4},0x7b
158
159 // CHECK:  vcmpps k4, xmm29, dword ptr [rdx + 512]{1to4}, 123
160 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0xa2,0x00,0x02,0x00,0x00,0x7b]
161           vcmpps k4,xmm29,DWORD PTR [rdx+0x200]{1to4},0x7b
162
163 // CHECK:  vcmpps k4, xmm29, dword ptr [rdx - 512]{1to4}, 123
164 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0x62,0x80,0x7b]
165           vcmpps k4,xmm29,DWORD PTR [rdx-0x200]{1to4},0x7b
166
167 // CHECK:  vcmpps k4, xmm29, dword ptr [rdx - 516]{1to4}, 123
168 // CHECK:  encoding: [0x62,0xf1,0x14,0x10,0xc2,0xa2,0xfc,0xfd,0xff,0xff,0x7b]
169           vcmpps k4,xmm29,DWORD PTR [rdx-0x204]{1to4},0x7b
170
171 // CHECK:  vcmpps k4, ymm19, ymm18, 171
172 // CHECK:  encoding: [0x62,0xb1,0x64,0x20,0xc2,0xe2,0xab]
173           vcmpps k4,ymm19,ymm18,0xab
174
175 // CHECK:  vcmpps k4 {k1}, ymm19, ymm18, 171
176 // CHECK:  encoding: [0x62,0xb1,0x64,0x21,0xc2,0xe2,0xab]
177           vcmpps k4{k1},ymm19,ymm18,0xab
178
179 // CHECK:  vcmpps k4, ymm19, ymm18, 123
180 // CHECK:  encoding: [0x62,0xb1,0x64,0x20,0xc2,0xe2,0x7b]
181           vcmpps k4,ymm19,ymm18,0x7b
182
183 // CHECK:  vcmpps k4, ymm19, ymmword ptr [rcx], 123
184 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0x21,0x7b]
185           vcmpps k4,ymm19,YMMWORD PTR [rcx],0x7b
186
187 // CHECK:  vcmpps k4, ymm19, ymmword ptr [rax + 8*r14 + 291], 123
188 // CHECK:  encoding: [0x62,0xb1,0x64,0x20,0xc2,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
189           vcmpps k4,ymm19,YMMWORD PTR [rax+r14*8+0x123],0x7b
190
191 // CHECK: vcmpps k4, ymm19, dword ptr [rcx]{1to8}, 123
192 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0x21,0x7b]
193           vcmpps k4,ymm19,DWORD PTR [rcx]{1to8},0x7b
194
195 // CHECK:  vcmpps k4, ymm19, ymmword ptr [rdx + 4064], 123
196 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0x62,0x7f,0x7b]
197           vcmpps k4,ymm19,YMMWORD PTR [rdx+0xfe0],0x7b
198
199 // CHECK:  vcmpps k4, ymm19, ymmword ptr [rdx + 4096], 123
200 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0xa2,0x00,0x10,0x00,0x00,0x7b]
201           vcmpps k4,ymm19,YMMWORD PTR [rdx+0x1000],0x7b
202
203 // CHECK:  vcmpps k4, ymm19, ymmword ptr [rdx - 4096], 123
204 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0x62,0x80,0x7b]
205           vcmpps k4,ymm19,YMMWORD PTR [rdx-0x1000],0x7b
206
207 // CHECK:  vcmpps k4, ymm19, ymmword ptr [rdx - 4128], 123
208 // CHECK:  encoding: [0x62,0xf1,0x64,0x20,0xc2,0xa2,0xe0,0xef,0xff,0xff,0x7b]
209           vcmpps k4,ymm19,YMMWORD PTR [rdx-0x1020],0x7b
210
211 // CHECK:  vcmpps k4, ymm19, dword ptr [rdx + 508]{1to8}, 123
212 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0x62,0x7f,0x7b]
213           vcmpps k4,ymm19,DWORD PTR [rdx+0x1fc]{1to8},0x7b
214
215 // CHECK:  vcmpps k4, ymm19, dword ptr [rdx + 512]{1to8}, 123
216 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0xa2,0x00,0x02,0x00,0x00,0x7b]
217           vcmpps k4,ymm19,DWORD PTR [rdx+0x200]{1to8},0x7b
218
219 // CHECK:  vcmpps k4, ymm19, dword ptr [rdx - 512]{1to8}, 123
220 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0x62,0x80,0x7b]
221           vcmpps k4,ymm19,DWORD PTR [rdx-0x200]{1to8},0x7b
222
223 // CHECK:  vcmpps k4, ymm19, dword ptr [rdx - 516]{1to8}, 123
224 // CHECK:  encoding: [0x62,0xf1,0x64,0x30,0xc2,0xa2,0xfc,0xfd,0xff,0xff,0x7b]
225           vcmpps k4,ymm19,DWORD PTR [rdx-0x204]{1to8},0x7b