x86/APX: VROUND{P,S}{S,D} can generally be encoded
[platform/upstream/binutils.git] / gas / testsuite / gas / i386 / x86-64-apx-evex-promoted.s
1 # Check 64bit APX_F EVEX-Promoted instructions.
2
3         .text
4 _start:
5         aadd    %r25d,0x123(%r31,%rax,4)
6         aadd    %r31,0x123(%r31,%rax,4)
7         aand    %r25d,0x123(%r31,%rax,4)
8         aand    %r31,0x123(%r31,%rax,4)
9         aesdec128kl     0x123(%r31,%rax,4),%xmm22
10         aesdec256kl     0x123(%r31,%rax,4),%xmm22
11         aesdecwide128kl 0x123(%r31,%rax,4)
12         aesdecwide256kl 0x123(%r31,%rax,4)
13         aesenc128kl     0x123(%r31,%rax,4),%xmm22
14         aesenc256kl     0x123(%r31,%rax,4),%xmm22
15         aesencwide128kl 0x123(%r31,%rax,4)
16         aesencwide256kl 0x123(%r31,%rax,4)
17         aor     %r25d,0x123(%r31,%rax,4)
18         aor     %r31,0x123(%r31,%rax,4)
19         axor    %r25d,0x123(%r31,%rax,4)
20         axor    %r31,0x123(%r31,%rax,4)
21         bextr   %r25d,%edx,%r10d
22         bextr   %r25d,0x123(%r31,%rax,4),%edx
23         bextr   %r31,%r15,%r11
24         bextr   %r31,0x123(%r31,%rax,4),%r15
25         blsi    %r25d,%edx
26         blsi    %r31,%r15
27         blsi    0x123(%r31,%rax,4),%r25d
28         blsi    0x123(%r31,%rax,4),%r31
29         blsmsk  %r25d,%edx
30         blsmsk  %r31,%r15
31         blsmsk  0x123(%r31,%rax,4),%r25d
32         blsmsk  0x123(%r31,%rax,4),%r31
33         blsr    %r25d,%edx
34         blsr    %r31,%r15
35         blsr    0x123(%r31,%rax,4),%r25d
36         blsr    0x123(%r31,%rax,4),%r31
37         bzhi    %r25d,%edx,%r10d
38         bzhi    %r25d,0x123(%r31,%rax,4),%edx
39         bzhi    %r31,%r15,%r11
40         bzhi    %r31,0x123(%r31,%rax,4),%r15
41         cmpbexadd       %r25d,%edx,0x123(%r31,%rax,4)
42         cmpbexadd       %r31,%r15,0x123(%r31,%rax,4)
43         cmpbxadd        %r25d,%edx,0x123(%r31,%rax,4)
44         cmpbxadd        %r31,%r15,0x123(%r31,%rax,4)
45         cmplxadd        %r25d,%edx,0x123(%r31,%rax,4)
46         cmplxadd        %r31,%r15,0x123(%r31,%rax,4)
47         cmpnbexadd      %r25d,%edx,0x123(%r31,%rax,4)
48         cmpnbexadd      %r31,%r15,0x123(%r31,%rax,4)
49         cmpnbxadd       %r25d,%edx,0x123(%r31,%rax,4)
50         cmpnbxadd       %r31,%r15,0x123(%r31,%rax,4)
51         cmpnlexadd      %r25d,%edx,0x123(%r31,%rax,4)
52         cmpnlexadd      %r31,%r15,0x123(%r31,%rax,4)
53         cmpnlxadd       %r25d,%edx,0x123(%r31,%rax,4)
54         cmpnlxadd       %r31,%r15,0x123(%r31,%rax,4)
55         cmpnoxadd       %r25d,%edx,0x123(%r31,%rax,4)
56         cmpnoxadd       %r31,%r15,0x123(%r31,%rax,4)
57         cmpnpxadd       %r25d,%edx,0x123(%r31,%rax,4)
58         cmpnpxadd       %r31,%r15,0x123(%r31,%rax,4)
59         cmpnsxadd       %r25d,%edx,0x123(%r31,%rax,4)
60         cmpnsxadd       %r31,%r15,0x123(%r31,%rax,4)
61         cmpnzxadd       %r25d,%edx,0x123(%r31,%rax,4)
62         cmpnzxadd       %r31,%r15,0x123(%r31,%rax,4)
63         cmpoxadd        %r25d,%edx,0x123(%r31,%rax,4)
64         cmpoxadd        %r31,%r15,0x123(%r31,%rax,4)
65         cmppxadd        %r25d,%edx,0x123(%r31,%rax,4)
66         cmppxadd        %r31,%r15,0x123(%r31,%rax,4)
67         cmpsxadd        %r25d,%edx,0x123(%r31,%rax,4)
68         cmpsxadd        %r31,%r15,0x123(%r31,%rax,4)
69         cmpzxadd        %r25d,%edx,0x123(%r31,%rax,4)
70         cmpzxadd        %r31,%r15,0x123(%r31,%rax,4)
71         crc32q  %r31, %r22
72         crc32q  (%r31), %r22
73         crc32b  %r19b, %r17
74         crc32b  %r19b, %r21d
75         crc32b  (%r19),%ebx
76         crc32l  %r31d, %r23d
77         crc32l  (%r31), %r23d
78         crc32w  %r31w, %r21d
79         crc32w  (%r31),%r21d
80         crc32   %rax, %r18
81         encodekey128    %r25d,%edx
82         encodekey256    %r25d,%edx
83         enqcmd  0x123(%r31d,%eax,4),%r25d
84         enqcmd  0x123(%r31,%rax,4),%r31
85         enqcmds 0x123(%r31d,%eax,4),%r25d
86         enqcmds 0x123(%r31,%rax,4),%r31
87         invept  0x123(%r31,%rax,4),%r31
88         invpcid 0x123(%r31,%rax,4),%r31
89         invvpid 0x123(%r31,%rax,4),%r31
90         kmovb   %k5,%r25d
91         kmovb   %k5,0x123(%r31,%rax,4)
92         kmovb   %r25d,%k5
93         kmovb   0x123(%r31,%rax,4),%k5
94         kmovd   %k5,%r25d
95         kmovd   %k5,0x123(%r31,%rax,4)
96         kmovd   %r25d,%k5
97         kmovd   0x123(%r31,%rax,4),%k5
98         kmovq   %k5,%r31
99         kmovq   %k5,0x123(%r31,%rax,4)
100         kmovq   %r31,%k5
101         kmovq   0x123(%r31,%rax,4),%k5
102         kmovw   %k5,%r25d
103         kmovw   %k5,0x123(%r31,%rax,4)
104         kmovw   %r25d,%k5
105         kmovw   0x123(%r31,%rax,4),%k5
106         ldtilecfg       0x123(%r31,%rax,4)
107         movbe   %r18w,%ax
108         movbe   %r18w,0x123(%r16,%rax,4)
109         movbe   %r18w,0x123(%r31,%rax,4)
110         movbe   %r25d,%edx
111         movbe   %r25d,0x123(%r16,%rax,4)
112         movbe   %r31,%r15
113         movbe   %r31,0x123(%r16,%rax,4)
114         movbe   %r31,0x123(%r31,%rax,4)
115         movbe   0x123(%r16,%rax,4),%r31
116         movbe   0x123(%r31,%rax,4),%r18w
117         movbe   0x123(%r31,%rax,4),%r25d
118         movdir64b       0x123(%r31d,%eax,4),%r25d
119         movdir64b       0x123(%r31,%rax,4),%r31
120         movdiri %r25d,0x123(%r31,%rax,4)
121         movdiri %r31,0x123(%r31,%rax,4)
122         pdep    %r25d,%edx,%r10d
123         pdep    %r31,%r15,%r11
124         pdep    0x123(%r31,%rax,4),%r25d,%edx
125         pdep    0x123(%r31,%rax,4),%r31,%r15
126         pext    %r25d,%edx,%r10d
127         pext    %r31,%r15,%r11
128         pext    0x123(%r31,%rax,4),%r25d,%edx
129         pext    0x123(%r31,%rax,4),%r31,%r15
130         sha1msg1        %xmm23,%xmm22
131         sha1msg1        0x123(%r31,%rax,4),%xmm22
132         sha1msg2        %xmm23,%xmm22
133         sha1msg2        0x123(%r31,%rax,4),%xmm22
134         sha1nexte       %xmm23,%xmm22
135         sha1nexte       0x123(%r31,%rax,4),%xmm22
136         sha1rnds4       $0x7b,%xmm23,%xmm22
137         sha1rnds4       $0x7b,0x123(%r31,%rax,4),%xmm22
138         sha256msg1      %xmm23,%xmm22
139         sha256msg1      0x123(%r31,%rax,4),%xmm22
140         sha256msg2      %xmm23,%xmm22
141         sha256msg2      0x123(%r31,%rax,4),%xmm22
142         sha256rnds2     0x123(%r31,%rax,4),%xmm12
143         shlx    %r25d,%edx,%r10d
144         shlx    %r25d,0x123(%r31,%rax,4),%edx
145         shlx    %r31,%r15,%r11
146         shlx    %r31,0x123(%r31,%rax,4),%r15
147         shrx    %r25d,%edx,%r10d
148         shrx    %r25d,0x123(%r31,%rax,4),%edx
149         shrx    %r31,%r15,%r11
150         shrx    %r31,0x123(%r31,%rax,4),%r15
151         sttilecfg       0x123(%r31,%rax,4)
152         tileloadd       0x123(%r31,%rax,4),%tmm6
153         tileloaddt1     0x123(%r31,%rax,4),%tmm6
154         tilestored      %tmm6,0x123(%r31,%rax,4)
155         vroundpd $1,(%r24),%xmm6
156         vroundps $2,(%r24),%xmm6
157         vroundsd $3,(%r24),%xmm6,%xmm3
158         vroundss $4,(%r24),%xmm6,%xmm3
159         wrssd   %r25d,0x123(%r31,%rax,4)
160         wrssq   %r31,0x123(%r31,%rax,4)
161         wrussd  %r25d,0x123(%r31,%rax,4)
162         wrussq  %r31,0x123(%r31,%rax,4)
163
164         .intel_syntax noprefix
165         aadd    [r31+rax*4+0x123],r25d
166         aadd    [r31+rax*4+0x123],r31
167         aand    [r31+rax*4+0x123],r25d
168         aand    [r31+rax*4+0x123],r31
169         aesdec128kl     xmm22,[r31+rax*4+0x123]
170         aesdec256kl     xmm22,[r31+rax*4+0x123]
171         aesdecwide128kl [r31+rax*4+0x123]
172         aesdecwide256kl [r31+rax*4+0x123]
173         aesenc128kl     xmm22,[r31+rax*4+0x123]
174         aesenc256kl     xmm22,[r31+rax*4+0x123]
175         aesencwide128kl [r31+rax*4+0x123]
176         aesencwide256kl [r31+rax*4+0x123]
177         aor     [r31+rax*4+0x123],r25d
178         aor     [r31+rax*4+0x123],r31
179         axor    [r31+rax*4+0x123],r25d
180         axor    [r31+rax*4+0x123],r31
181         bextr   r10d,edx,r25d
182         bextr   edx, [r31+rax*4+0x123],r25d
183         bextr   r11,r15,r31
184         bextr   r15, [r31+rax*4+0x123],r31
185         blsi    edx,r25d
186         blsi    r15,r31
187         blsi    r25d, [r31+rax*4+0x123]
188         blsi    r31,  [r31+rax*4+0x123]
189         blsmsk  edx,r25d
190         blsmsk  r15,r31
191         blsmsk  r25d, [r31+rax*4+0x123]
192         blsmsk  r31,  [r31+rax*4+0x123]
193         blsr    edx,r25d
194         blsr    r15,r31
195         blsr    r25d, [r31+rax*4+0x123]
196         blsr    r31,  [r31+rax*4+0x123]
197         bzhi    r10d,edx,r25d
198         bzhi    edx, [r31+rax*4+0x123],r25d
199         bzhi    r11,r15,r31
200         bzhi    r15, [r31+rax*4+0x123],r31
201         cmpbexadd        [r31+rax*4+0x123],edx,r25d
202         cmpbexadd        [r31+rax*4+0x123],r15,r31
203         cmpbxadd         [r31+rax*4+0x123],edx,r25d
204         cmpbxadd         [r31+rax*4+0x123],r15,r31
205         cmplxadd         [r31+rax*4+0x123],edx,r25d
206         cmplxadd         [r31+rax*4+0x123],r15,r31
207         cmpnbexadd       [r31+rax*4+0x123],edx,r25d
208         cmpnbexadd       [r31+rax*4+0x123],r15,r31
209         cmpnbxadd        [r31+rax*4+0x123],edx,r25d
210         cmpnbxadd        [r31+rax*4+0x123],r15,r31
211         cmpnlexadd       [r31+rax*4+0x123],edx,r25d
212         cmpnlexadd       [r31+rax*4+0x123],r15,r31
213         cmpnlxadd        [r31+rax*4+0x123],edx,r25d
214         cmpnlxadd        [r31+rax*4+0x123],r15,r31
215         cmpnoxadd        [r31+rax*4+0x123],edx,r25d
216         cmpnoxadd        [r31+rax*4+0x123],r15,r31
217         cmpnpxadd        [r31+rax*4+0x123],edx,r25d
218         cmpnpxadd        [r31+rax*4+0x123],r15,r31
219         cmpnsxadd        [r31+rax*4+0x123],edx,r25d
220         cmpnsxadd        [r31+rax*4+0x123],r15,r31
221         cmpnzxadd        [r31+rax*4+0x123],edx,r25d
222         cmpnzxadd        [r31+rax*4+0x123],r15,r31
223         cmpoxadd         [r31+rax*4+0x123],edx,r25d
224         cmpoxadd         [r31+rax*4+0x123],r15,r31
225         cmppxadd         [r31+rax*4+0x123],edx,r25d
226         cmppxadd         [r31+rax*4+0x123],r15,r31
227         cmpsxadd         [r31+rax*4+0x123],edx,r25d
228         cmpsxadd         [r31+rax*4+0x123],r15,r31
229         cmpzxadd         [r31+rax*4+0x123],edx,r25d
230         cmpzxadd         [r31+rax*4+0x123],r15,r31
231         crc32   r22,r31
232         crc32   r22,QWORD PTR [r31]
233         crc32   r17,r19b
234         crc32   r21d,r19b
235         crc32   ebx,BYTE PTR [r19]
236         crc32   r23d,r31d
237         crc32   r23d,DWORD PTR [r31]
238         crc32   r21d,r31w
239         crc32   r21d,WORD PTR [r31]
240         crc32   r18,rax
241         encodekey128    edx,r25d
242         encodekey256    edx,r25d
243         enqcmd  r25d,[r31d+eax*4+0x123]
244         enqcmd  r31,[r31+rax*4+0x123]
245         enqcmds r25d,[r31d+eax*4+0x123]
246         enqcmds r31,[r31+rax*4+0x123]
247         invept  r31,OWORD PTR [r31+rax*4+0x123]
248         invpcid r31,[r31+rax*4+0x123]
249         invvpid r31,OWORD PTR [r31+rax*4+0x123]
250         kmovb   r25d,k5
251         kmovb   BYTE PTR [r31+rax*4+0x123],k5
252         kmovb   k5,r25d
253         kmovb   k5,BYTE PTR [r31+rax*4+0x123]
254         kmovd   r25d,k5
255         kmovd   DWORD PTR [r31+rax*4+0x123],k5
256         kmovd   k5,r25d
257         kmovd   k5,DWORD PTR [r31+rax*4+0x123]
258         kmovq   r31,k5
259         kmovq   QWORD PTR [r31+rax*4+0x123],k5
260         kmovq   k5,r31
261         kmovq   k5,QWORD PTR [r31+rax*4+0x123]
262         kmovw   r25d,k5
263         kmovw   WORD PTR [r31+rax*4+0x123],k5
264         kmovw   k5,r25d
265         kmovw   k5,WORD PTR [r31+rax*4+0x123]
266         ldtilecfg       [r31+rax*4+0x123]
267         movbe   ax,r18w
268         movbe   WORD PTR [r16+rax*4+0x123],r18w
269         movbe   WORD PTR [r31+rax*4+0x123],r18w
270         movbe   edx,r25d
271         movbe   DWORD PTR [r16+rax*4+0x123],r25d
272         movbe   r15,r31
273         movbe   QWORD PTR [r16+rax*4+0x123],r31
274         movbe   QWORD PTR [r31+rax*4+0x123],r31
275         movbe   r31,QWORD PTR [r16+rax*4+0x123]
276         movbe   r18w,WORD PTR [r31+rax*4+0x123]
277         movbe   r25d,DWORD PTR [r31+rax*4+0x123]
278         movdir64b       r25d,[r31d+eax*4+0x123]
279         movdir64b       r31,[r31+rax*4+0x123]
280         movdiri DWORD PTR [r31+rax*4+0x123],r25d
281         movdiri QWORD PTR [r31+rax*4+0x123],r31
282         pdep    r10d,edx,r25d
283         pdep    r11,r15,r31
284         pdep    edx,r25d,DWORD PTR [r31+rax*4+0x123]
285         pdep    r15,r31,QWORD PTR [r31+rax*4+0x123]
286         pext    r10d,edx,r25d
287         pext    r11,r15,r31
288         pext    edx,r25d,DWORD PTR [r31+rax*4+0x123]
289         pext    r15,r31,QWORD PTR [r31+rax*4+0x123]
290         sha1msg1        xmm22,xmm23
291         sha1msg1        xmm22,XMMWORD PTR [r31+rax*4+0x123]
292         sha1msg2        xmm22,xmm23
293         sha1msg2        xmm22,XMMWORD PTR [r31+rax*4+0x123]
294         sha1nexte       xmm22,xmm23
295         sha1nexte       xmm22,XMMWORD PTR [r31+rax*4+0x123]
296         sha1rnds4       xmm22,xmm23,0x7b
297         sha1rnds4       xmm22,XMMWORD PTR [r31+rax*4+0x123],0x7b
298         sha256msg1      xmm22,xmm23
299         sha256msg1      xmm22,XMMWORD PTR [r31+rax*4+0x123]
300         sha256msg2      xmm22,xmm23
301         sha256msg2      xmm22,XMMWORD PTR [r31+rax*4+0x123]
302         sha256rnds2     xmm12,XMMWORD PTR [r31+rax*4+0x123]
303         shlx    r10d,edx,r25d
304         shlx    edx,DWORD PTR [r31+rax*4+0x123],r25d
305         shlx    r11,r15,r31
306         shlx    r15,QWORD PTR [r31+rax*4+0x123],r31
307         shrx    r10d,edx,r25d
308         shrx    edx,DWORD PTR [r31+rax*4+0x123],r25d
309         shrx    r11,r15,r31
310         shrx    r15,QWORD PTR [r31+rax*4+0x123],r31
311         sttilecfg       [r31+rax*4+0x123]
312         tileloadd       tmm6,[r31+rax*4+0x123]
313         tileloaddt1     tmm6,[r31+rax*4+0x123]
314         tilestored      [r31+rax*4+0x123],tmm6
315         wrssd   DWORD PTR [r31+rax*4+0x123],r25d
316         wrssq   QWORD PTR [r31+rax*4+0x123],r31
317         wrussd  DWORD PTR [r31+rax*4+0x123],r25d
318         wrussq  QWORD PTR [r31+rax*4+0x123],r31