1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
-x86-asm-syntax
=intel
-output-asm-variant
=1 --show-encoding
%s | FileCheck
%s
3 // CHECK
: vgatherdpd xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
4 // CHECK
: encoding
: [0xc4,0xe2,0xf9,0x92,0x14,0x4f]
5 vgatherdpd xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
7 // CHECK
: vgatherqpd xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
8 // CHECK
: encoding
: [0xc4,0xe2,0xf9,0x93,0x14,0x4f]
9 vgatherqpd xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
11 // CHECK
: vgatherdpd ymm2
, ymmword ptr
[rdi
+ 2*xmm1
], ymm0
12 // CHECK
: encoding
: [0xc4,0xe2,0xfd,0x92,0x14,0x4f]
13 vgatherdpd ymm2
, ymmword ptr
[rdi
+ 2*xmm1
], ymm0
15 // CHECK
: vgatherqpd ymm2
, ymmword ptr
[rdi
+ 2*ymm1
], ymm0
16 // CHECK
: encoding
: [0xc4,0xe2,0xfd,0x93,0x14,0x4f]
17 vgatherqpd ymm2
, ymmword ptr
[rdi
+ 2*ymm1
], ymm0
19 // CHECK
: vgatherdps xmm10
, xmmword ptr
[r15 + 2*xmm9
], xmm8
20 // CHECK
: encoding
: [0xc4,0x02,0x39,0x92,0x14,0x4f]
21 vgatherdps xmm10
, xmmword ptr
[r15 + 2*xmm9
], xmm8
23 // CHECK
: vgatherqps xmm10
, qword ptr
[r15 + 2*xmm9
], xmm8
24 // CHECK
: encoding
: [0xc4,0x02,0x39,0x93,0x14,0x4f]
25 vgatherqps xmm10
, qword ptr
[r15 + 2*xmm9
], xmm8
27 // CHECK
: vgatherdps ymm10
, ymmword ptr
[r15 + 2*ymm9
], ymm8
28 // CHECK
: encoding
: [0xc4,0x02,0x3d,0x92,0x14,0x4f]
29 vgatherdps ymm10
, ymmword ptr
[r15 + 2*ymm9
], ymm8
31 // CHECK
: vgatherqps xmm10
, xmmword ptr
[r15 + 2*ymm9
], xmm8
32 // CHECK
: encoding
: [0xc4,0x02,0x3d,0x93,0x14,0x4f]
33 vgatherqps xmm10
, xmmword ptr
[r15 + 2*ymm9
], xmm8
35 // CHECK
: vpgatherdq xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
36 // CHECK
: encoding
: [0xc4,0xe2,0xf9,0x90,0x14,0x4f]
37 vpgatherdq xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
39 // CHECK
: vpgatherqq xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
40 // CHECK
: encoding
: [0xc4,0xe2,0xf9,0x91,0x14,0x4f]
41 vpgatherqq xmm2
, xmmword ptr
[rdi
+ 2*xmm1
], xmm0
43 // CHECK
: vpgatherdq ymm2
, ymmword ptr
[rdi
+ 2*xmm1
], ymm0
44 // CHECK
: encoding
: [0xc4,0xe2,0xfd,0x90,0x14,0x4f]
45 vpgatherdq ymm2
, ymmword ptr
[rdi
+ 2*xmm1
], ymm0
47 // CHECK
: vpgatherqq ymm2
, ymmword ptr
[rdi
+ 2*ymm1
], ymm0
48 // CHECK
: encoding
: [0xc4,0xe2,0xfd,0x91,0x14,0x4f]
49 vpgatherqq ymm2
, ymmword ptr
[rdi
+ 2*ymm1
], ymm0
51 // CHECK
: vpgatherdd xmm10
, xmmword ptr
[r15 + 2*xmm9
], xmm8
52 // CHECK
: encoding
: [0xc4,0x02,0x39,0x90,0x14,0x4f]
53 vpgatherdd xmm10
, xmmword ptr
[r15 + 2*xmm9
], xmm8
55 // CHECK
: vpgatherqd xmm10
, qword ptr
[r15 + 2*xmm9
], xmm8
56 // CHECK
: encoding
: [0xc4,0x02,0x39,0x91,0x14,0x4f]
57 vpgatherqd xmm10
, qword ptr
[r15 + 2*xmm9
], xmm8
59 // CHECK
: vpgatherdd ymm10
, ymmword ptr
[r15 + 2*ymm9
], ymm8
60 // CHECK
: encoding
: [0xc4,0x02,0x3d,0x90,0x14,0x4f]
61 vpgatherdd ymm10
, ymmword ptr
[r15 + 2*ymm9
], ymm8
63 // CHECK
: vpgatherqd xmm10
, xmmword ptr
[r15 + 2*ymm9
], xmm8
64 // CHECK
: encoding
: [0xc4,0x02,0x3d,0x91,0x14,0x4f]
65 vpgatherqd xmm10
, xmmword ptr
[r15 + 2*ymm9
], xmm8
67 // CHECK
: vcvtpd2ps xmm0
, xmm15
68 // CHECK
: encoding
: [0xc4,0xc1,0x79,0x5a,0xc7]
71 // CHECK
: vcvtpd2ps xmm0
, xmm15
72 // CHECK
: encoding
: [0xc4,0xc1,0x79,0x5a,0xc7]
73 vcvtpd2psx xmm0
, xmm15
75 // CHECK
: vcvtpd2ps xmm0
, xmmword ptr
[rax
]
76 // CHECK
: encoding
: [0xc5,0xf9,0x5a,0x00]
77 vcvtpd2ps xmm0
, xmmword ptr
[rax
]
79 // CHECK
: vcvtpd2ps xmm0
, xmmword ptr
[rax
]
80 // CHECK
: encoding
: [0xc5,0xf9,0x5a,0x00]
81 vcvtpd2psx xmm0
, xmmword ptr
[rax
]
83 // CHECK
: vcvtpd2ps xmm0
, ymm15
84 // CHECK
: encoding
: [0xc4,0xc1,0x7d,0x5a,0xc7]
87 // CHECK
: vcvtpd2ps xmm0
, ymm15
88 // CHECK
: encoding
: [0xc4,0xc1,0x7d,0x5a,0xc7]
89 vcvtpd2psy xmm0
, ymm15
91 // CHECK
: vcvtpd2ps xmm0
, ymmword ptr
[rax
]
92 // CHECK
: encoding
: [0xc5,0xfd,0x5a,0x00]
93 vcvtpd2ps xmm0
, ymmword ptr
[rax
]
95 // CHECK
: vcvtpd2ps xmm0
, ymmword ptr
[rax
]
96 // CHECK
: encoding
: [0xc5,0xfd,0x5a,0x00]
97 vcvtpd2psy xmm0
, ymmword ptr
[rax
]
99 // CHECK
: vcvtpd2dq xmm0
, xmm15
100 // CHECK
: encoding
: [0xc4,0xc1,0x7b,0xe6,0xc7]
101 vcvtpd2dq xmm0
, xmm15
103 // CHECK
: vcvtpd2dq xmm0
, xmm15
104 // CHECK
: encoding
: [0xc4,0xc1,0x7b,0xe6,0xc7]
105 vcvtpd2dqx xmm0
, xmm15
107 // CHECK
: vcvtpd2dq xmm0
, xmmword ptr
[rax
]
108 // CHECK
: encoding
: [0xc5,0xfb,0xe6,0x00]
109 vcvtpd2dq xmm0
, xmmword ptr
[rax
]
111 // CHECK
: vcvtpd2dq xmm0
, xmmword ptr
[rax
]
112 // CHECK
: encoding
: [0xc5,0xfb,0xe6,0x00]
113 vcvtpd2dqx xmm0
, xmmword ptr
[rax
]
115 // CHECK
: vcvtpd2dq xmm0
, ymm15
116 // CHECK
: encoding
: [0xc4,0xc1,0x7f,0xe6,0xc7]
117 vcvtpd2dq xmm0
, ymm15
119 // CHECK
: vcvtpd2dq xmm0
, ymm15
120 // CHECK
: encoding
: [0xc4,0xc1,0x7f,0xe6,0xc7]
121 vcvtpd2dqy xmm0
, ymm15
123 // CHECK
: vcvtpd2dq xmm0
, ymmword ptr
[rax
]
124 // CHECK
: encoding
: [0xc5,0xff,0xe6,0x00]
125 vcvtpd2dq xmm0
, ymmword ptr
[rax
]
127 // CHECK
: vcvtpd2dq xmm0
, ymmword ptr
[rax
]
128 // CHECK
: encoding
: [0xc5,0xff,0xe6,0x00]
129 vcvtpd2dqy xmm0
, ymmword ptr
[rax
]
131 // CHECK
: vcvttpd2dq xmm0
, xmm15
132 // CHECK
: encoding
: [0xc4,0xc1,0x79,0xe6,0xc7]
133 vcvttpd2dq xmm0
, xmm15
135 // CHECK
: vcvttpd2dq xmm0
, xmm15
136 // CHECK
: encoding
: [0xc4,0xc1,0x79,0xe6,0xc7]
137 vcvttpd2dqx xmm0
, xmm15
139 // CHECK
: vcvttpd2dq xmm0
, xmmword ptr
[rax
]
140 // CHECK
: encoding
: [0xc5,0xf9,0xe6,0x00]
141 vcvttpd2dq xmm0
, xmmword ptr
[rax
]
143 // CHECK
: vcvttpd2dq xmm0
, xmmword ptr
[rax
]
144 // CHECK
: encoding
: [0xc5,0xf9,0xe6,0x00]
145 vcvttpd2dqx xmm0
, xmmword ptr
[rax
]
147 // CHECK
: vcvttpd2dq xmm0
, ymm15
148 // CHECK
: encoding
: [0xc4,0xc1,0x7d,0xe6,0xc7]
149 vcvttpd2dq xmm0
, ymm15
151 // CHECK
: vcvttpd2dq xmm0
, ymm15
152 // CHECK
: encoding
: [0xc4,0xc1,0x7d,0xe6,0xc7]
153 vcvttpd2dqy xmm0
, ymm15
155 // CHECK
: vcvttpd2dq xmm0
, ymmword ptr
[rax
]
156 // CHECK
: encoding
: [0xc5,0xfd,0xe6,0x00]
157 vcvttpd2dq xmm0
, ymmword ptr
[rax
]
159 // CHECK
: vcvttpd2dq xmm0
, ymmword ptr
[rax
]
160 // CHECK
: encoding
: [0xc5,0xfd,0xe6,0x00]
161 vcvttpd2dqy xmm0
, ymmword ptr
[rax
]
163 // CHECK
: vpmaddwd xmm1
, xmm2
, xmm3
164 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0xcb]
165 vpmaddwd xmm1
, xmm2
, xmm3
167 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
]
168 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0x09]
169 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
]
171 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
- 4]
172 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0x4c,0x24,0xfc]
173 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
- 4]
175 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
+ 4]
176 // CHECK
: encoding
: [0xc5,0xe9,0xf5,0x4c,0x24,0x04]
177 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rsp
+ 4]
179 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 + 268435456]
180 // CHECK
: encoding
: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
181 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 + 268435456]
183 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870912]
184 // CHECK
: encoding
: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
185 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870912]
187 // CHECK
: vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870910]
188 // CHECK
: encoding
: [0xc4,0xa1,0x69,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
189 vpmaddwd xmm1
, xmm2
, xmmword ptr
[rcx
+ 8*r14 - 536870910]
191 // CHECK
: vpmaddwd ymm1
, ymm2
, ymm3
192 // CHECK
: encoding
: [0xc5,0xed,0xf5,0xcb]
193 vpmaddwd ymm1
, ymm2
, ymm3
195 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
]
196 // CHECK
: encoding
: [0xc5,0xed,0xf5,0x09]
197 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
]
199 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
- 4]
200 // CHECK
: encoding
: [0xc5,0xed,0xf5,0x4c,0x24,0xfc]
201 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
- 4]
203 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
+ 4]
204 // CHECK
: encoding
: [0xc5,0xed,0xf5,0x4c,0x24,0x04]
205 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rsp
+ 4]
207 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 + 268435456]
208 // CHECK
: encoding
: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0x10]
209 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 + 268435456]
211 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870912]
212 // CHECK
: encoding
: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x00,0x00,0x00,0xe0]
213 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870912]
215 // CHECK
: vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870910]
216 // CHECK
: encoding
: [0xc4,0xa1,0x6d,0xf5,0x8c,0xf1,0x02,0x00,0x00,0xe0]
217 vpmaddwd ymm1
, ymm2
, ymmword ptr
[rcx
+ 8*r14 - 536870910]