1# Copyright (C) 2012-2021 Free Software Foundation, Inc.
2
3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation; either version 3 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program; if not, write to the Free Software
15# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
16
17#
18# i386 tests
19#
20if { ![istarget "i*86-*-*"] && ![istarget "x86_64-*-*"] } then {
21    return
22}
23
24proc gas_64_check { } {
25    global NM
26    global NMFLAGS
27
28    set status [gas_host_run "$NM $NMFLAGS --help" ""]
29    return [regexp "targets:.*x86-64" [lindex $status 1]];
30}
31
32proc gas_32_check { } {
33    global NM
34    global NMFLAGS
35
36    set status [gas_host_run "$NM $NMFLAGS --help" ""]
37    return [regexp "targets:.*i386" [lindex $status 1]];
38}
39
40proc gas_bfd64_check { } {
41    global AS
42
43    set status [gas_host_run "$AS --help" ""]
44    return [regexp "32bit/64bit" [lindex $status 1]];
45}
46
47if [gas_32_check] then {
48    global ASFLAGS
49    set old_ASFLAGS "$ASFLAGS"
50    set ASFLAGS "$ASFLAGS --32"
51
52    run_list_test "float" "-al -mmnemonic=att"
53    run_list_test "general" "-al --listing-lhs-width=2"
54    run_list_test "inval" "-al"
55    run_list_test "inval-16" "-al"
56    run_list_test "segment" "-al"
57    run_list_test "inval-seg" "-al"
58    run_list_test "inval-reg" "-al"
59    run_list_test "modrm" "-al --listing-lhs-width=2"
60    run_dump_test "naked"
61    run_dump_test "opcode"
62    run_dump_test "opcode-intel"
63    run_dump_test "opcode-suffix"
64    run_dump_test "intel"
65    run_dump_test "intel-intel"
66    run_dump_test "intel16"
67    run_list_test "intelbad" ""
68    run_dump_test "intelok"
69    run_dump_test "prefix"
70    run_list_test "prefix32" "-al"
71    run_dump_test "lea"
72    run_dump_test "lea16"
73    run_dump_test "amd"
74    run_dump_test "katmai"
75    run_dump_test "jump"
76    run_dump_test "movz32"
77    run_dump_test "relax-1"
78    run_dump_test "relax-2"
79    run_dump_test "ssemmx2"
80    run_dump_test "sse2"
81    run_dump_test "sse2-16bit"
82    run_dump_test "sub"
83    run_dump_test "sse3"
84    run_dump_test "sse3-intel"
85    run_dump_test "sib"
86    run_dump_test "sib-intel"
87    run_dump_test "disp"
88    run_dump_test "disp-intel"
89    run_dump_test "disp32"
90    run_list_test "disp-imm-16"
91    if { [gas_bfd64_check] } {
92	run_dump_test "disp-imm-32"
93    }
94    run_dump_test "vmx"
95    run_dump_test "vmfunc"
96    run_dump_test "smx"
97    run_dump_test "suffix"
98    run_dump_test "suffix-intel"
99    run_list_test "suffix-bad"
100    run_dump_test "immed32"
101    run_dump_test "equ"
102    run_list_test "equ-bad"
103    run_dump_test "divide"
104    run_dump_test "quoted"
105    run_dump_test "unary"
106    run_dump_test "padlock"
107    run_dump_test "crx"
108    run_list_test "cr-err" ""
109    run_dump_test "cdr"
110    run_dump_test "svme"
111    run_dump_test "amdfam10"
112    run_dump_test "ssse3"
113    run_dump_test "rep"
114    run_dump_test "rep-suffix"
115    run_list_test "inval-rep" "-al"
116    run_dump_test "lock-1"
117    run_dump_test "lock-1-intel"
118    run_list_test "lockbad-1" "-al"
119    run_dump_test "long-1"
120    run_dump_test "long-1-intel"
121    run_dump_test "fp"
122    run_dump_test "nops"
123    run_dump_test "nops16-1"
124    run_dump_test "nops-1"
125    run_dump_test "nops-1-i386"
126    run_dump_test "nops-1-i386-i686"
127    run_dump_test "nops-1-i686"
128    run_dump_test "nops-1-k8"
129    run_dump_test "nops-1-core2"
130    run_dump_test "nops-2"
131    run_dump_test "nops-2-i386"
132    run_dump_test "nops-2-core2"
133    run_dump_test "nops-3"
134    run_dump_test "nops-3-i386"
135    run_dump_test "nops-3-i686"
136    run_dump_test "nops-4"
137    run_dump_test "nops-4-i386"
138    run_dump_test "nops-4-i686"
139    run_dump_test "nops-4a-i686"
140    run_dump_test "nops-5"
141    run_dump_test "nops-5-i686"
142    run_dump_test "nops-6"
143    run_dump_test "nops-7"
144    run_dump_test "nops-8"
145    run_dump_test "noreg16"
146    run_list_test "noreg16"
147    run_dump_test "noreg16-data32"
148    run_dump_test "noreg32"
149    run_list_test "noreg32"
150    run_dump_test "noreg32-data16"
151    run_list_test "movx16" "-I${srcdir}/$subdir -al"
152    run_list_test "movx32" "-al"
153    run_dump_test "sizing32"
154    run_dump_test "addr16"
155    run_dump_test "addr32"
156    run_dump_test "code16"
157    run_list_test "oversized16" "-al"
158    run_dump_test "wrap32-text"
159    run_dump_test "wrap32-data"
160    run_dump_test "sse4_1"
161    run_dump_test "sse4_1-intel"
162    run_dump_test "sse4_2"
163    run_dump_test "sse4_2-intel"
164    run_dump_test "crc32"
165    run_dump_test "crc32-intel"
166    run_dump_test "crc32-suffix"
167    run_list_test "inval-crc32" "-al"
168    run_dump_test "simd"
169    run_dump_test "simd-intel"
170    run_dump_test "simd-suffix"
171    run_dump_test "mem"
172    run_dump_test "mem-intel"
173    run_dump_test "reg"
174    run_dump_test "reg-intel"
175    run_dump_test "i386"
176    run_dump_test "i386-intel"
177    run_dump_test "compat"
178    run_dump_test "compat-intel"
179    run_dump_test "arch-1"
180    run_dump_test "arch-2"
181    run_dump_test "arch-3"
182    run_dump_test "arch-4"
183    run_dump_test "arch-5"
184    run_dump_test "arch-6"
185    run_dump_test "arch-7"
186    run_dump_test "arch-9"
187    run_dump_test "arch-10"
188    run_dump_test "arch-10-lzcnt"
189    run_dump_test "arch-10-prefetchw"
190    run_dump_test "arch-10-bdver1"
191    run_dump_test "arch-10-bdver2"
192    run_dump_test "arch-10-bdver3"
193    run_dump_test "arch-10-bdver4"
194    run_dump_test "arch-13-znver1"
195    run_dump_test "arch-13-znver2"
196    run_dump_test "arch-14-znver3"
197    run_dump_test "arch-10-btver1"
198    run_dump_test "arch-10-btver2"
199    run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
200    run_list_test "arch-10-2" "-march=i686 -I${srcdir}/$subdir -al"
201    run_list_test "arch-10-3" "-march=i686+mmx+sse4.2 -I${srcdir}/$subdir -al"
202    run_list_test "arch-10-4" "-march=i686+mmx+sse4+vmx+smx -I${srcdir}/$subdir -al"
203    run_dump_test "arch-11"
204    run_dump_test "arch-12"
205    run_dump_test "arch-13"
206    run_dump_test "arch-14"
207    run_dump_test "8087"
208    run_dump_test "287"
209    run_dump_test "387"
210    run_list_test "no87" "-al"
211    run_list_test "no87-2" "-march=i686+no87 -al"
212    run_list_test "no87-3" "-al"
213    run_list_test "stN" "-al"
214    run_list_test "fpu"
215    run_list_test "nommx-1" "-al"
216    run_list_test "nommx-2" "-march=core+nommx -al"
217    run_list_test "nommx-3" "-march=+nommx -al"
218    run_list_test "nosse-1" "-al"
219    run_list_test "nosse-2" "-march=core+nosse -al"
220    run_list_test "nosse-3" "-march=+nosse -al"
221    run_list_test "nosse-4" "-al"
222    run_dump_test "nosse-5"
223    run_list_test "noavx-1" "-al"
224    run_list_test "noavx-2" "-march=+noavx -al"
225    run_list_test "noavx-3" "-al"
226    run_dump_test "noavx-4"
227    run_list_test "noavx512-1" "-al"
228    run_list_test "noavx512-2" "-al"
229    run_dump_test "noextreg"
230    run_dump_test "xmmhi32"
231    run_dump_test "xsave"
232    run_dump_test "xsave-intel"
233    run_dump_test "aes"
234    run_dump_test "aes-intel"
235    run_dump_test "clmul"
236    run_dump_test "clmul-intel"
237    run_dump_test "avx"
238    run_dump_test "avx-intel"
239    run_dump_test "avx-scalar"
240    run_dump_test "avx-scalar-intel"
241    run_dump_test "avx-scalar-2"
242    run_dump_test "avx-16bit"
243    run_dump_test "avx256int"
244    run_dump_test "avx256int-intel"
245    run_dump_test "avx2"
246    run_dump_test "avx2-intel"
247    run_dump_test "avx-gather"
248    run_dump_test "avx-gather-intel"
249    run_dump_test "avx-wig"
250    run_dump_test "avx2-wig"
251    run_dump_test "vex-lig-2"
252    run_dump_test "avx512f"
253    run_dump_test "avx512f-intel"
254    run_dump_test "avx512f-opts"
255    run_dump_test "avx512f-opts-intel"
256    run_dump_test "avx512f-nondef"
257    run_list_test "avx512f-plain" "-al"
258    run_dump_test "avx512f-ymm"
259    run_dump_test "avx512f-16bit"
260    run_dump_test "avx512cd"
261    run_dump_test "avx512cd-intel"
262    run_dump_test "avx512er"
263    run_dump_test "avx512er-intel"
264    run_dump_test "avx512pf"
265    run_dump_test "avx512pf-intel"
266    run_dump_test "evex"
267    run_dump_test "evex-lig256"
268    run_dump_test "evex-lig512"
269    run_dump_test "evex-lig256-intel"
270    run_dump_test "evex-lig512-intel"
271    run_dump_test "evex-lig-2"
272    run_dump_test "evex-wig1"
273    run_dump_test "evex-wig1-intel"
274    run_dump_test "evex-no-scale-32"
275    run_dump_test "sse2avx"
276    run_list_test "inval-avx" "-al"
277    run_list_test "inval-avx512f" "-al"
278    run_list_test "inval-avx512vl" "-al"
279    run_dump_test "sse-check"
280    run_dump_test "sse-check-none"
281    run_dump_test "sse-check-warn"
282    run_list_test "sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
283    run_dump_test "vgather-check"
284    run_dump_test "vgather-check-none"
285    run_dump_test "vgather-check-warn"
286    run_list_test "vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
287    run_dump_test "sse-noavx"
288    run_dump_test "movbe"
289    run_dump_test "movbe-intel"
290    run_dump_test "movbe-suffix"
291    run_list_test "inval-movbe" "-al"
292    run_dump_test "ept"
293    run_dump_test "ept-intel"
294    run_list_test "inval-ept" "-al"
295    run_dump_test "invpcid"
296    run_dump_test "invpcid-intel"
297    run_list_test "inval-invpcid" "-al"
298    run_dump_test "arch-avx-1"
299    run_list_test "arch-avx-1-1" "-march=generic32+avx -I${srcdir}/$subdir -al"
300    run_list_test "arch-avx-1-2" "-march=generic32+aes -I${srcdir}/$subdir -al"
301    run_list_test "arch-avx-1-3" "-march=generic32+pclmul -I${srcdir}/$subdir -al"
302    run_list_test "arch-avx-1-4" "-march=generic32+avx+aes -I${srcdir}/$subdir -al"
303    run_list_test "arch-avx-1-5" "-march=generic32+avx+pclmul -I${srcdir}/$subdir -al"
304    run_list_test "arch-avx-1-6" "-march=generic32+aes+pclmul -I${srcdir}/$subdir -al"
305    run_list_test "arch-avx-1-7" "-march=generic32+gfni -I${srcdir}/$subdir -al"
306    run_list_test "arch-avx-1-8" "-march=generic32+avx+gfni -I${srcdir}/$subdir -al"
307    run_dump_test "opts"
308    run_dump_test "opts-intel"
309    run_dump_test "sse2avx-opts"
310    run_dump_test "sse2avx-opts-intel"
311    run_dump_test "bmi2"
312    run_dump_test "bmi2-intel"
313    run_dump_test "bmi2-16bit"
314    run_dump_test "fma"
315    run_dump_test "fma-intel"
316    run_dump_test "fma-scalar"
317    run_dump_test "fma-scalar-intel"
318    run_dump_test "hle"
319    run_dump_test "hle-intel"
320    run_list_test "hlebad" "-al"
321    run_dump_test "rtm"
322    run_dump_test "rtm-intel"
323    run_dump_test "fma4"
324    run_dump_test "fma4-lig"
325    run_dump_test "lwp"
326    run_dump_test "lwp-16bit"
327    run_dump_test "xop"
328    run_dump_test "xop-lig"
329    run_dump_test "xop32reg"
330    run_dump_test "bmi"
331    run_dump_test "bmi-intel"
332    run_dump_test "bmi-16bit"
333    run_dump_test "tbm"
334    run_dump_test "tbm-intel"
335    run_dump_test "tbm-16bit"
336    run_dump_test "f16c"
337    run_dump_test "f16c-intel"
338    run_dump_test "fsgs"
339    run_dump_test "fsgs-intel"
340    run_dump_test "rdrnd"
341    run_dump_test "rdrnd-intel"
342    run_dump_test "bundle"
343    run_dump_test "bundle-lock"
344    run_dump_test "bundle-bad"
345    run_dump_test "adx"
346    run_dump_test "adx-intel"
347    run_dump_test "rdseed"
348    run_dump_test "rdseed-intel"
349    run_dump_test "prefetch"
350    run_dump_test "prefetch-intel"
351    run_dump_test "smap"
352    run_dump_test "mpx"
353    run_list_test "mpx-inval-1" "-al"
354    run_list_test "mpx-inval-2" "-al"
355    run_dump_test "mpx-add-bnd-prefix"
356    run_dump_test "mpx-16bit"
357    run_list_test "bnd" "-al"
358    run_dump_test "sha"
359    run_dump_test "clflushopt"
360    run_dump_test "clflushopt-intel"
361    run_dump_test "xsavec"
362    run_dump_test "xsavec-intel"
363    run_dump_test "xsaves"
364    run_dump_test "xsaves-intel"
365    run_dump_test "prefetchwt1"
366    run_dump_test "prefetchwt1-intel"
367    run_dump_test "se1"
368    run_dump_test "avx512f_vl-intel"
369    run_dump_test "avx512f_vl-opts-intel"
370    run_dump_test "avx512f_vl-opts"
371    run_dump_test "avx512f_vl-wig1-intel"
372    run_dump_test "avx512f_vl-wig1"
373    run_dump_test "avx512f_vl"
374    run_dump_test "avx512cd_vl-intel"
375    run_dump_test "avx512cd_vl"
376    run_dump_test "avx512bw-intel"
377    run_dump_test "avx512bw-opts-intel"
378    run_dump_test "avx512bw-opts"
379    run_dump_test "avx512bw-wig1-intel"
380    run_dump_test "avx512bw-wig1"
381    run_dump_test "avx512bw"
382    run_dump_test "avx512bw_vl-intel"
383    run_dump_test "avx512bw_vl-opts-intel"
384    run_dump_test "avx512bw_vl-opts"
385    run_dump_test "avx512bw_vl-wig1-intel"
386    run_dump_test "avx512bw_vl-wig1"
387    run_dump_test "avx512bw_vl"
388    run_dump_test "avx512dq-intel"
389    run_dump_test "avx512dq"
390    run_list_test "avx512dq-inval"
391    run_dump_test "avx512dq_vl-intel"
392    run_dump_test "avx512dq_vl"
393    run_dump_test "omit-lock-yes"
394    run_dump_test "omit-lock-no"
395    run_dump_test "fence-as-lock-add-yes"
396    run_dump_test "fence-as-lock-add-no"
397    run_dump_test "avx512dq-rcigrd-intel"
398    run_dump_test "avx512dq-rcigrd"
399    run_dump_test "avx512dq-rcigrne-intel"
400    run_dump_test "avx512dq-rcigrne"
401    run_dump_test "avx512dq-rcigru-intel"
402    run_dump_test "avx512dq-rcigru"
403    run_dump_test "avx512dq-rcigrz-intel"
404    run_dump_test "avx512dq-rcigrz"
405    run_dump_test "avx512er-rcigrd-intel"
406    run_dump_test "avx512er-rcigrd"
407    run_dump_test "avx512er-rcigrne-intel"
408    run_dump_test "avx512er-rcigrne"
409    run_dump_test "avx512er-rcigru-intel"
410    run_dump_test "avx512er-rcigru"
411    run_dump_test "avx512er-rcigrz-intel"
412    run_dump_test "avx512er-rcigrz"
413    run_dump_test "avx512f-rcigrd-intel"
414    run_dump_test "avx512f-rcigrd"
415    run_dump_test "avx512f-rcigrne-intel"
416    run_dump_test "avx512f-rcigrne"
417    run_dump_test "avx512f-rcigru-intel"
418    run_dump_test "avx512f-rcigru"
419    run_dump_test "avx512f-rcigrz-intel"
420    run_dump_test "avx512f-rcigrz"
421    run_dump_test "clwb"
422    run_dump_test "clwb-intel"
423    run_dump_test "avx512ifma"
424    run_dump_test "avx512ifma-intel"
425    run_dump_test "avx512ifma_vl"
426    run_dump_test "avx512ifma_vl-intel"
427    run_dump_test "avx512vbmi"
428    run_dump_test "avx512vbmi-intel"
429    run_dump_test "avx512vbmi_vl"
430    run_dump_test "avx512vbmi_vl-intel"
431    run_dump_test "avx512_4fmaps"
432    run_dump_test "avx512_4fmaps-intel"
433    run_list_test "avx512_4fmaps-warn"
434    run_dump_test "avx512_4vnniw"
435    run_dump_test "avx512_4vnniw-intel"
436    run_dump_test "avx512_vpopcntdq"
437    run_dump_test "avx512_vpopcntdq-intel"
438    run_dump_test "avx512vbmi2"
439    run_dump_test "avx512vbmi2-intel"
440    run_dump_test "avx512vbmi2_vl"
441    run_dump_test "avx512vbmi2_vl-intel"
442    run_dump_test "avx512f_gfni"
443    run_dump_test "avx512f_gfni-intel"
444    run_dump_test "avx512vl_gfni"
445    run_dump_test "avx512vl_gfni-intel"
446    run_dump_test "avx512f_vaes"
447    run_dump_test "avx512f_vaes-intel"
448    run_dump_test "avx512f_vaes-wig1"
449    run_dump_test "avx512f_vaes-wig1-intel"
450    run_dump_test "avx512vl_vaes"
451    run_dump_test "avx512vl_vaes-intel"
452    run_dump_test "avx512vl_vaes-wig1"
453    run_dump_test "avx512vl_vaes-wig1-intel"
454    run_dump_test "avx512f_vpclmulqdq"
455    run_dump_test "avx512f_vpclmulqdq-intel"
456    run_dump_test "avx512f_vpclmulqdq-wig1"
457    run_dump_test "avx512f_vpclmulqdq-wig1-intel"
458    run_dump_test "avx512vl_vpclmulqdq"
459    run_dump_test "avx512vl_vpclmulqdq-intel"
460    run_dump_test "avx512vl_vpclmulqdq-wig1"
461    run_dump_test "avx512vl_vpclmulqdq-wig1-intel"
462    run_dump_test "avx512vnni"
463    run_dump_test "avx512vnni-intel"
464    run_dump_test "avx512vnni_vl"
465    run_dump_test "avx512vnni_vl-intel"
466    run_dump_test "avx512bitalg"
467    run_dump_test "avx512bitalg-intel"
468    run_dump_test "avx512bitalg_vl"
469    run_dump_test "avx512bitalg_vl-intel"
470    run_dump_test "avx512_bf16"
471    run_dump_test "avx512_bf16_vl"
472    run_list_test "avx512_bf16_vl-inval"
473    run_dump_test "avx-vnni"
474    run_list_test "avx-vnni-inval"
475    run_list_test "sg"
476    run_dump_test "clzero"
477    run_dump_test "invlpgb"
478    run_dump_test "tlbsync"
479    run_dump_test "snp"
480    run_dump_test "disassem"
481    run_dump_test "mwaitx-bdver4"
482    run_list_test "mwaitx-reg"
483    run_dump_test "ospke"
484    run_dump_test "rdpid"
485    run_dump_test "rdpid-intel"
486    run_dump_test "ptwrite"
487    run_dump_test "ptwrite-intel"
488    run_dump_test "gfni"
489    run_dump_test "gfni-intel"
490    run_dump_test "vaes"
491    run_dump_test "vaes-intel"
492    run_dump_test "vpclmulqdq"
493    run_dump_test "vpclmulqdq-intel"
494    run_dump_test "wbnoinvd"
495    run_dump_test "wbnoinvd-intel"
496    run_dump_test "pconfig"
497    run_dump_test "pconfig-intel"
498    run_dump_test "waitpkg"
499    run_dump_test "waitpkg-intel"
500    run_dump_test "cldemote"
501    run_dump_test "cldemote-intel"
502    run_dump_test "movdir"
503    run_dump_test "movdir-intel"
504    run_dump_test "movdir-16bit"
505    run_list_test "movdir64b-reg"
506    run_dump_test "enqcmd"
507    run_dump_test "enqcmd-intel"
508    run_dump_test "enqcmd-16bit"
509    run_list_test "enqcmd-inval"
510    run_dump_test "serialize"
511    run_dump_test "tdx"
512    run_dump_test "tsxldtrk"
513    run_dump_test "hreset"
514    run_dump_test "vp2intersect"
515    run_dump_test "vp2intersect-intel"
516    run_list_test "vp2intersect-inval-bcast"
517    run_dump_test "keylocker"
518    run_dump_test "keylocker-intel"
519    run_list_test "avx512vl-1" "-al"
520    run_list_test "avx512vl-2" "-al"
521    run_list_test "avx512vl-ambig"
522    run_list_test "avx512vl-plain" "-al"
523    run_dump_test "fpu-bad"
524    run_dump_test "cet"
525    run_dump_test "cet-intel"
526    run_list_test "cet-ibt-inval"
527    run_list_test "cet-shstk-inval"
528    run_dump_test "pseudos"
529    run_list_test "pseudos-bad"
530    run_dump_test "notrack"
531    run_dump_test "notrack-intel"
532    run_list_test "notrackbad" "-al"
533    run_dump_test "align-1a"
534    run_dump_test "align-1b"
535    run_list_test "inval-pseudo" "-al"
536    run_dump_test "nop-1"
537    run_dump_test "nop-1-suffix"
538    run_dump_test "nop-2"
539    run_dump_test "optimize-1"
540    run_dump_test "optimize-1a"
541    run_dump_test "optimize-2"
542    run_dump_test "optimize-2b"
543    run_dump_test "optimize-3"
544    run_dump_test "optimize-4"
545    run_dump_test "optimize-5"
546    run_list_test "optimize-6a" "-I${srcdir}/$subdir -march=+noavx -al"
547    run_dump_test "optimize-6b"
548    run_list_test "optimize-7" "-I${srcdir}/$subdir -march=+noavx2 -al"
549    run_dump_test "lea-optimize"
550    run_dump_test "lea16-optimize"
551    run_dump_test "lea16-optimize2"
552    run_dump_test "align-branch-1a"
553    run_dump_test "align-branch-1b"
554    run_dump_test "align-branch-1c"
555    run_dump_test "align-branch-1d"
556    run_dump_test "align-branch-1e"
557    run_dump_test "align-branch-1f"
558    run_dump_test "align-branch-1g"
559    run_dump_test "align-branch-1h"
560    run_dump_test "align-branch-1i"
561    run_dump_test "align-branch-2a"
562    run_dump_test "align-branch-2b"
563    run_dump_test "align-branch-2c"
564    run_dump_test "align-branch-4a"
565    run_dump_test "align-branch-4b"
566    run_dump_test "align-branch-5"
567    run_dump_test "align-branch-6"
568    run_dump_test "align-branch-7"
569    run_dump_test "align-branch-8"
570    run_dump_test "align-branch-9"
571    run_dump_test "lfence-load"
572    run_dump_test "lfence-indbr-a"
573    run_dump_test "lfence-indbr-b"
574    run_dump_test "lfence-indbr-c"
575    run_dump_test "lfence-ret-a"
576    run_dump_test "lfence-ret-b"
577    run_dump_test "lfence-ret-c"
578    run_dump_test "lfence-ret-d"
579    run_dump_test "lfence-byte"
580    run_dump_test "branch"
581
582    # These tests require support for 8 and 16 bit relocs,
583    # so we only run them for ELF and COFF targets.
584    if {[is_elf_format]
585	|| [istarget "*-*-vxworks*"]
586	|| [istarget "*-*-coff*"]
587    } then {
588	run_dump_test "reloc"
589	run_dump_test "jump16"
590	run_list_test "white" "-al --listing-lhs-width=3"
591
592	# These tests should in theory work for PE targets as well,
593	# but the relocs we currently produce are slightly different
594	# from those produced for ELF/COFF based toolchains.
595	# So for now we ignore PE targets.
596	run_dump_test "absrel"
597	if {[istarget "*-*-coff*"]} then {
598	    run_dump_test "pcrel"
599	}
600    }
601
602    # ELF specific tests
603    if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
604	# PIC is only supported on ELF targets.
605	run_dump_test "intelpic"
606
607	run_dump_test "pcrel-elf"
608	run_dump_test "relax"
609	run_dump_test "gotpc"
610	run_dump_test "tlsd"
611	run_dump_test "tlspic"
612	run_dump_test "tlsnopic"
613	run_dump_test "bss"
614	run_dump_test "reloc32"
615	run_list_test "reloc32" "--defsym _bad_=1"
616	run_dump_test "intel-got32"
617	run_dump_test "intel-movs32"
618	run_dump_test "intel-movs16"
619	run_dump_test "intel-cmps32"
620	run_dump_test "intel-cmps16"
621	run_list_test "inval-equ-1" "-al"
622	run_list_test "inval-equ-2" "-al"
623	run_dump_test "ifunc"
624	run_list_test "ifunc-2"
625	run_dump_test "ifunc-3"
626	run_list_test "l1om-inval" "-march=l1om --32"
627	run_list_test "k1om-inval" "-march=k1om --32"
628	run_dump_test "localpic"
629	run_dump_test "debug1"
630
631	run_dump_test "dwarf2-line-1"
632	run_dump_test "dwarf2-line-2"
633	run_dump_test "dwarf2-line-3"
634	run_dump_test "dwarf2-line-4"
635	run_dump_test "dwarf4-line-1"
636	run_dump_test "dwarf5-line-1"
637	run_dump_test "dwarf5-line-2"
638	run_dump_test "dwarf5-line-3"
639	run_dump_test "dwarf5-line-4"
640
641	run_dump_test "dw2-compress-2"
642	run_dump_test "dw2-compressed-2"
643
644	run_dump_test "bad-size"
645
646	run_dump_test "size-1"
647	run_dump_test "size-2"
648	run_dump_test "size-3"
649	run_dump_test "size-4"
650	run_dump_test "size-5a"
651	run_dump_test "size-5b"
652
653	run_dump_test "note"
654
655	run_dump_test "relax-3"
656	run_dump_test "relax-4"
657	run_dump_test "relax-5"
658
659	run_dump_test "got"
660	run_dump_test "got-no-relax"
661
662	run_dump_test "no-got"
663
664	run_dump_test "addend"
665	run_dump_test "nop-3"
666	run_dump_test "nop-4"
667	run_dump_test "nop-5"
668	run_dump_test "nop-6"
669	run_dump_test "unique"
670
671	run_dump_test "property-1"
672
673	if {[istarget "*-*-linux*"]} then {
674	    run_dump_test "align-branch-3"
675	}
676
677	if { [gas_64_check] } then {
678	    run_dump_test "att-regs"
679	    run_dump_test "intel-regs"
680	    run_dump_test "mixed-mode-reloc32"
681	    run_dump_test "code64"
682	} elseif { ![gas_bfd64_check] } {
683	    run_list_test "code64-inval" "-I${srcdir}/$subdir -al"
684	}
685
686	if {![istarget "*-*-vxworks*"]} then {
687	    run_dump_test "iamcu-1"
688	    run_dump_test "iamcu-2"
689	    run_dump_test "iamcu-3"
690	    run_dump_test "iamcu-4"
691	    run_dump_test "iamcu-5"
692	    run_list_test "iamcu-inval-1" "-march=iamcu -al"
693	}
694    }
695
696    # This is a PE specific test.
697    if { [istarget "*-*-cygwin*"] || [istarget "*-*-pe"]
698	 || [istarget "*-*-mingw*"]
699    } then {
700	run_dump_test "secrel"
701    }
702
703    # Miscellaneous tests.
704    run_dump_test "pr12589-1"
705
706    set ASFLAGS "$old_ASFLAGS"
707}
708
709# Common tests
710if {![istarget "i*86-*-elfiamcu"] && [gas_64_check]} then {
711    run_dump_test "intel-expr"
712    run_dump_test "string-ok"
713}
714run_list_test "string-bad" ""
715run_list_test "reg-bad" ""
716run_list_test "space1" "-al"
717run_list_test "xmmword" ""
718run_dump_test rept
719run_dump_test pr19498
720run_list_test "nop-bad-1" ""
721run_list_test "unspec" ""
722if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
723    run_list_test_stdin "list-1" "-al"
724    run_list_test_stdin "list-2" "-al"
725    run_list_test_stdin "list-3" "-al"
726    run_dump_test "dw2-compress-1"
727    run_dump_test "dw2-compress-3a"
728    run_dump_test "dw2-compress-3b"
729    run_dump_test "dw2-compressed-1"
730    run_dump_test "dw2-compressed-3a"
731    run_dump_test "dw2-compressed-3b"
732
733    run_dump_test "property-2"
734    run_dump_test "property-3"
735    run_dump_test "property-4"
736    run_dump_test "property-5"
737    run_dump_test "property-6"
738    run_dump_test "property-10"
739    run_dump_test "property-11"
740    run_dump_test "property-12"
741    run_dump_test "property-13"
742    run_dump_test "property-cvtpi2pd"
743    run_dump_test "property-cvtpi2ps"
744    run_dump_test "property-ldmxcsr"
745    run_dump_test "property-vldmxcsr"
746    run_dump_test "property-vzeroall"
747    run_dump_test "code16-2"
748
749    if {![istarget "*-*-dragonfly*"]
750	&& ![istarget "*-*-gnu*"]
751	&& ![istarget "*-*-freebsd*"]
752	&& ![istarget "*-*-linux*"]
753	&& ![istarget "*-*-netbsd*"]} then {
754	run_dump_test "svr4"
755    }
756}
757
758if [gas_64_check] then {
759    global ASFLAGS
760    set old_ASFLAGS "$ASFLAGS"
761    set ASFLAGS "$ASFLAGS --64 --defsym x86_64=1 --strip-local-absolute"
762
763    run_dump_test "x86_64"
764    run_dump_test "x86_64-intel"
765    run_dump_test "x86-64-addr32"
766    run_dump_test "x86-64-addr32-intel"
767    run_list_test "x86-64-addr32-bad" "-al"
768    run_dump_test "x86-64-opcode"
769    run_dump_test "x86-64-intel64"
770    if { ! [istarget "*-*-*cygwin*"] && ![istarget "*-*-mingw*"] } then {
771      run_dump_test "x86-64-pcrel"
772      run_dump_test "x86-64-disassem"
773    } else {
774      run_dump_test "x86-64-w64-pcrel"
775    }
776    run_list_test "pcrel64" "-al"
777    run_dump_test "x86-64-rip"
778    run_dump_test "x86-64-rip-intel"
779    run_list_test "x86-64-rip-inval-1" "-al"
780    run_list_test "x86-64-rip-inval-2" "-al"
781    run_dump_test "x86-64-stack"
782    run_dump_test "x86-64-stack-intel"
783    run_dump_test "x86-64-stack-suffix"
784    run_list_test "x86-64-inval" "-al"
785    run_list_test "x86-64-segment" "-al"
786    run_dump_test "x86-64-segovr"
787    run_list_test "x86-64-inval-seg" "-al"
788    run_dump_test "x86-64-branch"
789    run_dump_test "movz64"
790    run_dump_test "x86-64-relax-1"
791    run_dump_test "svme64"
792    run_dump_test "snp64"
793    run_dump_test "invlpgb64"
794    run_dump_test "x86-64-amdfam10"
795    run_dump_test "x86-64-vmx"
796    run_dump_test "x86-64-vmfunc"
797    run_dump_test "immed64"
798    run_dump_test "x86-64-sse3"
799    run_dump_test "x86-64-sse3-intel"
800    run_dump_test "x86-64-crx"
801    run_dump_test "x86-64-crx-suffix"
802    run_dump_test "x86-64-drx"
803    run_dump_test "x86-64-drx-suffix"
804    run_dump_test "x86-64-cdr"
805    run_dump_test "x86-64-ssse3"
806    run_dump_test "x86-64-rep"
807    run_dump_test "x86-64-rep-suffix"
808    run_list_test "x86-64-inval-rep" "-al"
809    run_dump_test "x86-64-lock-1"
810    run_dump_test "x86-64-lock-1-intel"
811    run_list_test "x86-64-lockbad-1" "-al"
812    run_dump_test "x86-64-long-1"
813    run_dump_test "x86-64-long-1-intel"
814    run_dump_test "x86-64-cbw"
815    run_dump_test "x86-64-cbw-intel"
816    run_dump_test "x86-64-io"
817    run_dump_test "x86-64-io-intel"
818    run_dump_test "x86-64-io-suffix"
819    run_dump_test "x86-64-gidt"
820    run_dump_test "x86-64-nops"
821    run_dump_test "x86-64-nops-1"
822    run_dump_test "x86-64-nops-1-g64"
823    run_dump_test "x86-64-nops-1-k8"
824    run_dump_test "x86-64-nops-1-core2"
825    run_dump_test "x86-64-nops-1-pentium"
826    run_dump_test "x86-64-nops-2"
827    run_dump_test "x86-64-nops-3"
828    run_dump_test "x86-64-nops-4"
829    run_dump_test "x86-64-nops-4-core2"
830    run_dump_test "x86-64-nops-4-k8"
831    run_dump_test "x86-64-nops-5"
832    run_dump_test "x86-64-nops-5-k8"
833    run_dump_test "x86-64-nops-7"
834    run_dump_test "x86-64-sysenter"
835    run_dump_test "x86-64-sysenter-intel"
836    run_dump_test "x86-64-sysenter-mixed"
837    run_dump_test "x86-64-sysenter-amd"
838    run_list_test "x86-64-sysenter-amd" "-mamd64"
839    run_dump_test "noreg64"
840    run_list_test "noreg64"
841    run_dump_test "noreg64-data16"
842    run_dump_test "noreg64-rex64"
843    run_dump_test "noreg-intel64"
844    run_list_test "noreg-intel64" "-I${srcdir}/$subdir -mintel64"
845    run_list_test "movx64" "-al"
846    run_list_test "cvtsi2sX"
847    run_list_test "x86-64-nosse2" "-al"
848    run_dump_test "x86-64-sse4_1"
849    run_dump_test "x86-64-sse4_1-intel"
850    run_dump_test "x86-64-sse4_2"
851    run_dump_test "x86-64-sse4_2-intel"
852    run_dump_test "x86-64-crc32"
853    run_dump_test "x86-64-crc32-intel"
854    run_dump_test "x86-64-crc32-suffix"
855    run_list_test "x86-64-inval-crc32" "-al"
856    run_dump_test "x86-64-simd"
857    run_dump_test "x86-64-simd-intel"
858    run_dump_test "x86-64-simd-suffix"
859    run_dump_test "x86-64-mem"
860    run_dump_test "x86-64-mem-intel"
861    run_dump_test "x86-64-reg"
862    run_list_test "x86-64-reg-bad" "-al"
863    run_dump_test "x86-64-reg-intel"
864    run_dump_test "x86-64-sib"
865    run_dump_test "x86-64-sib-intel"
866    run_dump_test "x86-64-disp"
867    run_dump_test "x86-64-disp-intel"
868    run_list_test "disp-imm-64"
869    run_dump_test "intel-movs64"
870    run_dump_test "intel-cmps64"
871    run_dump_test "x86-64-disp32"
872    run_dump_test "rexw"
873    run_list_test "x86-64-specific-reg"
874    run_list_test "suffix-bad"
875    run_list_test "x86-64-suffix-bad"
876    run_list_test "unspec64" ""
877    run_list_test "prefix64" "-al"
878    run_list_test "oversized64" "-al"
879    run_dump_test "x86-64-fxsave"
880    run_dump_test "x86-64-fxsave-intel"
881    run_dump_test "x86-64-arch-1"
882    run_dump_test "x86-64-arch-2"
883    run_dump_test "x86-64-arch-3"
884    run_dump_test "x86-64-arch-4"
885    run_dump_test "x86-64-arch-2-lzcnt"
886    run_dump_test "x86-64-arch-2-prefetchw"
887    run_dump_test "x86-64-arch-2-bdver1"
888    run_dump_test "x86-64-arch-2-bdver2"
889    run_dump_test "x86-64-arch-2-bdver3"
890    run_dump_test "x86-64-arch-2-bdver4"
891    run_dump_test "x86-64-arch-3-znver1"
892    run_dump_test "x86-64-arch-3-znver2"
893    run_dump_test "x86-64-arch-4-znver3"
894    run_dump_test "x86-64-arch-2-btver1"
895    run_dump_test "x86-64-arch-2-btver2"
896    run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al"
897    run_list_test "x86-64-arch-2-2" "-march=generic64+cx16 -I${srcdir}/$subdir -al"
898    run_dump_test "xmmhi64"
899    run_dump_test "x86-64-xsave"
900    run_dump_test "x86-64-xsave-intel"
901    run_dump_test "x86-64-aes"
902    run_dump_test "x86-64-aes-intel"
903    run_dump_test "x86-64-clmul"
904    run_dump_test "x86-64-clmul-intel"
905    run_dump_test "x86-64-avx"
906    run_dump_test "x86-64-avx-intel"
907    run_dump_test "x86-64-avx-scalar"
908    run_dump_test "x86-64-avx-scalar-intel"
909    run_dump_test "x86-64-avx-scalar-2"
910    run_dump_test "x86-64-avx256int"
911    run_dump_test "x86-64-avx_gfni"
912    run_dump_test "x86-64-avx_gfni-intel"
913    run_dump_test "x86-64-avx256int-intel"
914    run_dump_test "x86-64-avx2"
915    run_dump_test "x86-64-avx2-intel"
916    run_dump_test "x86-64-avx-gather"
917    run_dump_test "x86-64-avx-gather-intel"
918    run_dump_test "x86-64-avx-wig"
919    run_dump_test "x86-64-avx2-wig"
920    run_dump_test "x86-64-vex-lig-2"
921    run_dump_test "x86-64-avx512f"
922    run_dump_test "x86-64-avx512f-intel"
923    run_dump_test "x86-64-avx512f-opts"
924    run_dump_test "x86-64-avx512f-opts-intel"
925    run_dump_test "x86-64-avx512f-nondef"
926    run_dump_test "x86-64-avx512cd"
927    run_dump_test "x86-64-avx512cd-intel"
928    run_dump_test "x86-64-avx512er"
929    run_dump_test "x86-64-avx512er-intel"
930    run_dump_test "x86-64-avx512pf"
931    run_dump_test "x86-64-avx512pf-intel"
932    run_dump_test "x86-64-evex-lig256"
933    run_dump_test "x86-64-evex-lig512"
934    run_dump_test "x86-64-evex-lig256-intel"
935    run_dump_test "x86-64-evex-lig512-intel"
936    run_dump_test "x86-64-evex-lig-2"
937    run_dump_test "x86-64-evex-wig1"
938    run_dump_test "x86-64-evex-wig1-intel"
939    run_dump_test "x86-64-evex-wig2"
940    run_dump_test "evex-no-scale-64"
941    run_dump_test "x86-64-sse2avx"
942    run_list_test "x86-64-inval-avx" "-al"
943    run_list_test "x86-64-inval-avx512f" "-al"
944    run_list_test "x86-64-inval-avx512vl" "-al"
945    run_dump_test "x86-64-sse-check"
946    run_dump_test "x86-64-sse-check-none"
947    run_dump_test "x86-64-sse-check-warn"
948    run_list_test "x86-64-sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
949    run_dump_test "x86-64-vgather-check"
950    run_dump_test "x86-64-vgather-check-none"
951    run_dump_test "x86-64-vgather-check-warn"
952    run_list_test "x86-64-vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
953    run_dump_test "x86-64-sse-noavx"
954    run_dump_test "x86-64-movbe"
955    run_dump_test "x86-64-movbe-intel"
956    run_dump_test "x86-64-movbe-suffix"
957    run_list_test "x86-64-inval-movbe" "-al"
958    run_dump_test "x86-64-ept"
959    run_dump_test "x86-64-ept-intel"
960    run_list_test "x86-64-inval-ept" "-al"
961    run_dump_test "x86-64-invpcid"
962    run_dump_test "x86-64-invpcid-intel"
963    run_list_test "x86-64-inval-invpcid" "-al"
964    run_dump_test "x86-64-opts"
965    run_dump_test "x86-64-opts-intel"
966    run_dump_test "x86-64-sse2avx-opts"
967    run_dump_test "x86-64-sse2avx-opts-intel"
968    run_dump_test "x86-64-avx-swap"
969    run_dump_test "x86-64-avx-swap-intel"
970    run_dump_test "x86-64-avx-swap-2"
971    run_dump_test "x86-64-bmi2"
972    run_dump_test "x86-64-bmi2-intel"
973    run_dump_test "x86-64-fma"
974    run_dump_test "x86-64-fma-intel"
975    run_dump_test "x86-64-fma-scalar"
976    run_dump_test "x86-64-fma-scalar-intel"
977    run_dump_test "x86-64-hle"
978    run_dump_test "x86-64-hle-intel"
979    run_list_test "x86-64-hlebad" "-al"
980    run_dump_test "x86-64-rtm"
981    run_dump_test "x86-64-rtm-intel"
982    run_dump_test "x86-64-fma4"
983    run_dump_test "x86-64-lwp"
984    run_dump_test "x86-64-xop"
985    run_dump_test "x86-64-bmi"
986    run_dump_test "x86-64-bmi-intel"
987    run_dump_test "x86-64-tbm"
988    run_dump_test "x86-64-tbm-intel"
989    run_dump_test "x86-64-f16c"
990    run_dump_test "x86-64-f16c-intel"
991    run_dump_test "x86-64-fsgs"
992    run_dump_test "x86-64-fsgs-intel"
993    run_dump_test "x86-64-rdrnd"
994    run_dump_test "x86-64-rdrnd-intel"
995    run_dump_test "x86-64-bundle"
996    run_dump_test "x86-64-adx"
997    run_dump_test "x86-64-adx-intel"
998    run_dump_test "x86-64-rdseed"
999    run_dump_test "x86-64-rdseed-intel"
1000    run_dump_test "x86-64-prefetch"
1001    run_dump_test "x86-64-prefetch-intel"
1002    run_dump_test "x86-64-smap"
1003    run_dump_test "x86-64-mpx"
1004    run_list_test "x86-64-mpx-inval-1" "-al"
1005    run_list_test "x86-64-mpx-inval-2" "-al"
1006    run_dump_test "x86-64-mpx-addr32"
1007    run_dump_test "x86-64-mpx-add-bnd-prefix"
1008    run_dump_test "x86-64-sha"
1009    run_dump_test "x86-64-clflushopt"
1010    run_dump_test "x86-64-clflushopt-intel"
1011    run_dump_test "x86-64-xsavec"
1012    run_dump_test "x86-64-xsavec-intel"
1013    run_dump_test "x86-64-xsaves"
1014    run_dump_test "x86-64-xsaves-intel"
1015    run_dump_test "x86-64-prefetchwt1"
1016    run_dump_test "x86-64-prefetchwt1-intel"
1017    run_dump_test "x86-64-se1"
1018    run_dump_test "x86-64-equ"
1019    run_list_test "x86-64-equ-bad"
1020    run_dump_test "x86-64-avx512f_vl-intel"
1021    run_dump_test "x86-64-avx512f_vl-opts-intel"
1022    run_dump_test "x86-64-avx512f_vl-opts"
1023    run_dump_test "x86-64-avx512f_vl-wig1-intel"
1024    run_dump_test "x86-64-avx512f_vl-wig1"
1025    run_dump_test "x86-64-avx512f_vl"
1026    run_dump_test "x86-64-avx512cd_vl-intel"
1027    run_dump_test "x86-64-avx512cd_vl"
1028    run_dump_test "x86-64-avx512bw-intel"
1029    run_dump_test "x86-64-avx512bw-opts-intel"
1030    run_dump_test "x86-64-avx512bw-opts"
1031    run_dump_test "x86-64-avx512bw-wig1-intel"
1032    run_dump_test "x86-64-avx512bw-wig1"
1033    run_dump_test "x86-64-avx512bw"
1034    run_dump_test "x86-64-avx512bw_vl-intel"
1035    run_dump_test "x86-64-avx512bw_vl-opts-intel"
1036    run_dump_test "x86-64-avx512bw_vl-opts"
1037    run_dump_test "x86-64-avx512bw_vl-wig1-intel"
1038    run_dump_test "x86-64-avx512bw_vl-wig1"
1039    run_dump_test "x86-64-avx512bw_vl"
1040    run_dump_test "x86-64-avx512dq-intel"
1041    run_dump_test "x86-64-avx512dq"
1042    run_dump_test "x86-64-avx512dq_vl-intel"
1043    run_dump_test "x86-64-avx512dq_vl"
1044    run_dump_test "x86-64-suffix"
1045    run_dump_test "x86-64-suffix-intel"
1046    run_dump_test "x86-64-default-suffix"
1047    run_dump_test "x86-64-default-suffix-avx"
1048    run_dump_test "x86-64-avx512dq-rcigrd-intel"
1049    run_dump_test "x86-64-avx512dq-rcigrd"
1050    run_dump_test "x86-64-avx512dq-rcigrne-intel"
1051    run_dump_test "x86-64-avx512dq-rcigrne"
1052    run_dump_test "x86-64-avx512dq-rcigru-intel"
1053    run_dump_test "x86-64-avx512dq-rcigru"
1054    run_dump_test "x86-64-avx512dq-rcigrz-intel"
1055    run_dump_test "x86-64-avx512dq-rcigrz"
1056    run_dump_test "x86-64-avx512er-rcigrd-intel"
1057    run_dump_test "x86-64-avx512er-rcigrd"
1058    run_dump_test "x86-64-avx512er-rcigrne-intel"
1059    run_dump_test "x86-64-avx512er-rcigrne"
1060    run_dump_test "x86-64-avx512er-rcigru-intel"
1061    run_dump_test "x86-64-avx512er-rcigru"
1062    run_dump_test "x86-64-avx512er-rcigrz-intel"
1063    run_dump_test "x86-64-avx512er-rcigrz"
1064    run_dump_test "x86-64-avx512f-rcigrd-intel"
1065    run_dump_test "x86-64-avx512f-rcigrd"
1066    run_dump_test "x86-64-avx512f-rcigrne-intel"
1067    run_dump_test "x86-64-avx512f-rcigrne"
1068    run_dump_test "x86-64-avx512f-rcigru-intel"
1069    run_dump_test "x86-64-avx512f-rcigru"
1070    run_dump_test "x86-64-avx512f-rcigrz-intel"
1071    run_dump_test "x86-64-avx512f-rcigrz"
1072    run_dump_test "x86-64-clwb"
1073    run_dump_test "x86-64-clwb-intel"
1074    run_dump_test "x86-64-avx512ifma"
1075    run_dump_test "x86-64-avx512ifma-intel"
1076    run_dump_test "x86-64-avx512ifma_vl"
1077    run_dump_test "x86-64-avx512ifma_vl-intel"
1078    run_dump_test "x86-64-avx512vbmi"
1079    run_dump_test "x86-64-avx512vbmi-intel"
1080    run_dump_test "x86-64-avx512vbmi_vl"
1081    run_dump_test "x86-64-avx512vbmi_vl-intel"
1082    run_dump_test "x86-64-avx512_4fmaps"
1083    run_dump_test "x86-64-avx512_4fmaps-intel"
1084    run_list_test "x86-64-avx512_4fmaps-warn"
1085    run_dump_test "x86-64-avx512_4vnniw"
1086    run_dump_test "x86-64-avx512_4vnniw-intel"
1087    run_dump_test "x86-64-avx512_vpopcntdq"
1088    run_dump_test "x86-64-avx512_vpopcntdq-intel"
1089    run_dump_test "x86-64-avx512vbmi2"
1090    run_dump_test "x86-64-avx512vbmi2-intel"
1091    run_dump_test "x86-64-avx512vbmi2_vl"
1092    run_dump_test "x86-64-avx512vbmi2_vl-intel"
1093    run_dump_test "x86-64-avx512f_gfni"
1094    run_dump_test "x86-64-avx512f_gfni-intel"
1095    run_dump_test "x86-64-avx512vl_gfni"
1096    run_dump_test "x86-64-avx512vl_gfni-intel"
1097    run_dump_test "x86-64-avx512f_vaes"
1098    run_dump_test "x86-64-avx512f_vaes-intel"
1099    run_dump_test "x86-64-avx512f_vaes-wig1"
1100    run_dump_test "x86-64-avx512f_vaes-wig1-intel"
1101    run_dump_test "x86-64-avx512vl_vaes"
1102    run_dump_test "x86-64-avx512vl_vaes-intel"
1103    run_dump_test "x86-64-avx512vl_vaes-wig1"
1104    run_dump_test "x86-64-avx512vl_vaes-wig1-intel"
1105    run_dump_test "x86-64-avx512f_vpclmulqdq"
1106    run_dump_test "x86-64-avx512f_vpclmulqdq-intel"
1107    run_dump_test "x86-64-avx512f_vpclmulqdq-wig1"
1108    run_dump_test "x86-64-avx512f_vpclmulqdq-wig1-intel"
1109    run_dump_test "x86-64-avx512vl_vpclmulqdq"
1110    run_dump_test "x86-64-avx512vl_vpclmulqdq-intel"
1111    run_dump_test "x86-64-avx512vl_vpclmulqdq-wig1"
1112    run_dump_test "x86-64-avx512vl_vpclmulqdq-wig1-intel"
1113    run_dump_test "x86-64-avx512vnni"
1114    run_dump_test "x86-64-avx512vnni-intel"
1115    run_dump_test "x86-64-avx512vnni_vl"
1116    run_dump_test "x86-64-avx512vnni_vl-intel"
1117    run_dump_test "x86-64-avx512bitalg"
1118    run_dump_test "x86-64-avx512bitalg-intel"
1119    run_dump_test "x86-64-avx512bitalg_vl"
1120    run_dump_test "x86-64-avx512bitalg_vl-intel"
1121    run_dump_test "x86-64-avx512_bf16"
1122    run_dump_test "x86-64-avx512_bf16_vl"
1123    run_list_test "x86-64-avx512_bf16_vl-inval"
1124    run_dump_test "x86-64-avx-vnni"
1125    run_list_test "x86-64-avx-vnni-inval"
1126    run_dump_test "x86-64-clzero"
1127    run_dump_test "x86-64-mwaitx-bdver4"
1128    run_list_test "x86-64-mwaitx-reg"
1129    run_dump_test "x86-64-ospke"
1130    run_dump_test "x86-64-rdpid"
1131    run_dump_test "x86-64-rdpid-intel"
1132    run_dump_test "x86-64-ptwrite"
1133    run_dump_test "x86-64-ptwrite-intel"
1134    run_dump_test "x86-64-gfni"
1135    run_dump_test "x86-64-gfni-intel"
1136    run_dump_test "x86-64-vaes"
1137    run_dump_test "x86-64-vaes-intel"
1138    run_dump_test "x86-64-vpclmulqdq"
1139    run_dump_test "x86-64-vpclmulqdq-intel"
1140    run_dump_test "x86-64-wbnoinvd"
1141    run_dump_test "x86-64-wbnoinvd-intel"
1142    run_dump_test "x86-64-pconfig"
1143    run_dump_test "x86-64-pconfig-intel"
1144    run_dump_test "x86-64-waitpkg"
1145    run_dump_test "x86-64-waitpkg-intel"
1146    run_dump_test "x86-64-uintr"
1147    run_dump_test "x86-64-cldemote"
1148    run_dump_test "x86-64-cldemote-intel"
1149    run_dump_test "x86-64-movdir"
1150    run_dump_test "x86-64-movdir-intel"
1151    run_list_test "x86-64-movdir64b-reg"
1152    run_dump_test "x86-64-enqcmd"
1153    run_dump_test "x86-64-enqcmd-intel"
1154    run_list_test "x86-64-enqcmd-inval"
1155    run_dump_test "x86-64-serialize"
1156    run_dump_test "x86-64-tdx"
1157    run_dump_test "x86-64-tsxldtrk"
1158    run_dump_test "x86-64-hreset"
1159    run_dump_test "x86-64-vp2intersect"
1160    run_dump_test "x86-64-vp2intersect-intel"
1161    run_list_test "x86-64-vp2intersect-inval-bcast"
1162    run_dump_test "x86-64-keylocker"
1163    run_dump_test "x86-64-keylocker-intel"
1164    run_dump_test "x86-64-fence-as-lock-add-yes"
1165    run_dump_test "x86-64-fence-as-lock-add-no"
1166    run_dump_test "x86-64-pr20141"
1167    run_list_test "x86-64-avx512vl-1" "-al"
1168    run_list_test "x86-64-avx512vl-2" "-al"
1169    run_dump_test "x86-64-opcode-bad"
1170    run_dump_test "x86-64-cet"
1171    run_dump_test "x86-64-cet-intel"
1172    run_list_test "x86-64-cet-ibt-inval"
1173    run_list_test "x86-64-cet-shstk-inval"
1174    run_dump_test "x86-64-pseudos"
1175    run_list_test "x86-64-pseudos-bad"
1176    run_list_test "x86-64-inval-pseudo" "-al"
1177    run_dump_test "x86-64-notrack"
1178    run_dump_test "x86-64-notrack-intel"
1179    run_list_test "x86-64-notrackbad" "-al"
1180    run_dump_test "x86-64-movd"
1181    run_dump_test "x86-64-movd-intel"
1182    run_dump_test "x86-64-nop-1"
1183    run_dump_test "x86-64-nop-2"
1184    run_dump_test "x86-64-movsxd"
1185    run_dump_test "x86-64-movsxd-intel"
1186    run_list_test "x86-64-movsxd-inval" "-al"
1187    run_dump_test "x86-64-movsxd-intel64"
1188    run_dump_test "x86-64-movsxd-intel64-intel"
1189    run_list_test "x86-64-movsxd-intel64-inval" "-mintel64 -al"
1190    run_dump_test "x86-64-optimize-1"
1191    run_dump_test "x86-64-optimize-2"
1192    run_dump_test "x86-64-optimize-2a"
1193    run_dump_test "x86-64-optimize-2b"
1194    run_dump_test "x86-64-optimize-3"
1195    run_dump_test "x86-64-optimize-3b"
1196    run_dump_test "x86-64-optimize-4"
1197    run_dump_test "x86-64-optimize-5"
1198    run_dump_test "x86-64-optimize-6"
1199    run_list_test "x86-64-optimize-7a" "-I${srcdir}/$subdir -march=+noavx -al"
1200    run_dump_test "x86-64-optimize-7b"
1201    run_list_test "x86-64-optimize-8" "-I${srcdir}/$subdir -march=+noavx2 -al"
1202    run_dump_test "x86-64-align-branch-1a"
1203    run_dump_test "x86-64-align-branch-1b"
1204    run_dump_test "x86-64-align-branch-1c"
1205    run_dump_test "x86-64-align-branch-1d"
1206    run_dump_test "x86-64-align-branch-1e"
1207    run_dump_test "x86-64-align-branch-1f"
1208    run_dump_test "x86-64-align-branch-1g"
1209    run_dump_test "x86-64-align-branch-1h"
1210    run_dump_test "x86-64-align-branch-1i"
1211    if { ![istarget "*-*-darwin*"] } then {
1212	run_dump_test "x86-64-align-branch-2a"
1213	run_dump_test "x86-64-align-branch-2b"
1214	run_dump_test "x86-64-align-branch-2c"
1215	run_dump_test "lea64"
1216	run_dump_test "lea64-optimize"
1217    }
1218    run_dump_test "x86-64-align-branch-4a"
1219    run_dump_test "x86-64-align-branch-4b"
1220    run_dump_test "x86-64-align-branch-5"
1221    run_dump_test "x86-64-align-branch-6"
1222    run_dump_test "x86-64-align-branch-7"
1223    run_dump_test "x86-64-align-branch-8"
1224    run_dump_test "x86-64-align-branch-9"
1225    run_dump_test "x86-64-lfence-load"
1226    run_dump_test "x86-64-lfence-indbr-a"
1227    run_dump_test "x86-64-lfence-indbr-b"
1228    run_dump_test "x86-64-lfence-indbr-c"
1229    run_dump_test "x86-64-lfence-ret-a"
1230    run_dump_test "x86-64-lfence-ret-b"
1231    run_dump_test "x86-64-lfence-ret-c"
1232    run_dump_test "x86-64-lfence-ret-d"
1233    run_dump_test "x86-64-lfence-ret-e"
1234    run_dump_test "x86-64-lfence-byte"
1235    run_list_test "x86-64-amx-inval"
1236    run_dump_test "x86-64-amx"
1237    run_dump_test "x86-64-amx-intel"
1238    run_dump_test "x86-64-amx-bad"
1239
1240    if { ![istarget "*-*-aix*"]
1241      && ![istarget "*-*-beos*"]
1242      && ![istarget "*-*-*bsd*"]
1243      && ![istarget "*-*-lynx*"]
1244      && ![istarget "*-*-moss*"]
1245      && ![istarget "*-*-nto-qnx*"]
1246      && ![istarget "*-*-rtems*"]
1247      && ![istarget "*-*-sco*"]
1248      && ![istarget "*-*-solaris*"]
1249      && ![istarget "*-*-sysv*"] } then {
1250	run_dump_test "rex"
1251    }
1252
1253    # ELF specific tests
1254    if [is_elf_format] then {
1255	# Verify that @unwind works.
1256	run_dump_test "x86-64-unwind"
1257
1258	run_dump_test "reloc64"
1259	run_list_test "reloc64" "--defsym _bad_=1"
1260	run_dump_test "mixed-mode-reloc64"
1261	run_dump_test "rela"
1262	run_dump_test "x86-64-ifunc"
1263	run_dump_test "x86-64-opcode-inval"
1264	run_dump_test "x86-64-opcode-inval-intel"
1265	run_dump_test "intel-got64"
1266	run_dump_test "l1om"
1267	run_dump_test "k1om"
1268	run_dump_test "x86-64-localpic"
1269	run_dump_test "debug1"
1270	run_dump_test "x86-64-mpx-branch-1"
1271	run_dump_test "x86-64-mpx-branch-2"
1272
1273	run_dump_test "x86-64-dw2-compress-2"
1274	run_dump_test "x86-64-dw2-compressed-2"
1275
1276	run_dump_test "x86-64-size-1"
1277	run_dump_test "x86-64-size-2"
1278	run_dump_test "x86-64-size-3"
1279	run_dump_test "x86-64-size-4"
1280	run_dump_test "x86-64-size-5"
1281	run_list_test "x86-64-size-inval-1" "-al"
1282
1283	run_dump_test "x86-64-relax-2"
1284	run_dump_test "x86-64-relax-3"
1285	run_dump_test "x86-64-relax-4"
1286
1287	run_dump_test "x86-64-jump"
1288	run_dump_test "x86-64-branch-2"
1289	run_dump_test "x86-64-branch-3"
1290	run_list_test "x86-64-branch-4" "-al -mintel64"
1291	run_list_test "x86-64-branch-5" "-al"
1292
1293	run_dump_test "x86-64-rip-2"
1294
1295	run_dump_test "x86-64-gotpcrel"
1296	run_dump_test "x86-64-gotpcrel-no-relax"
1297	run_dump_test "x86-64-gotpcrel-2"
1298
1299	run_dump_test "x86-64-no-got"
1300
1301	run_dump_test "x86-64-addend"
1302	run_dump_test "x86-64-nop-3"
1303	run_dump_test "x86-64-nop-4"
1304	run_dump_test "x86-64-nop-5"
1305	run_dump_test "x86-64-nop-6"
1306	run_dump_test "x86-64-unique"
1307
1308	run_dump_test "x86-64-property-1"
1309	run_dump_test "x86-64-property-7"
1310	run_dump_test "x86-64-property-8"
1311	run_dump_test "x86-64-property-9"
1312	run_dump_test "x86-64-property-14"
1313	run_dump_test "x86-64-code16-2"
1314
1315	if {[istarget "*-*-linux*"]} then {
1316	    run_dump_test "x86-64-align-branch-3"
1317	}
1318
1319    }
1320    run_dump_test pr27198
1321
1322    set ASFLAGS "$old_ASFLAGS --64"
1323
1324    run_dump_test "sizing64"
1325
1326    set ASFLAGS "$old_ASFLAGS"
1327}
1328