b9144c4a9d48942a0fd3fb31ef01798b0af646a9
[external/binutils.git] / gas / testsuite / gas / i386 / i386.exp
1 # Copyright (C) 2012-2016 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 #
20 proc gas_64_check { } {
21     global NM
22     global NMFLAGS
23
24     set status [gas_host_run "$NM $NMFLAGS --help" ""]
25     return [regexp "targets:.*x86-64" [lindex $status 1]];
26 }
27
28 proc gas_32_check { } {
29     global NM
30     global NMFLAGS
31
32     set status [gas_host_run "$NM $NMFLAGS --help" ""]
33     return [regexp "targets:.*i386" [lindex $status 1]];
34 }
35
36 if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]  then {
37
38     global ASFLAGS
39     set old_ASFLAGS "$ASFLAGS"
40     set ASFLAGS "$ASFLAGS --32"
41
42     run_list_test "float" "-al -mmnemonic=att"
43     run_list_test "general" "-al --listing-lhs-width=2 -mold-gcc"
44     run_list_test "inval" "-al"
45     run_list_test "inval-16" "-al"
46     run_list_test "segment" "-al"
47     run_list_test "inval-seg" "-al"
48     run_list_test "inval-reg" "-al"
49     run_list_test "modrm" "-al --listing-lhs-width=2"
50     run_dump_test "naked"
51     run_dump_test "opcode"
52     run_dump_test "opcode-intel"
53     run_dump_test "opcode-suffix"
54     run_dump_test "intel"
55     run_dump_test "intel16"
56     run_list_test "intelbad" ""
57     run_dump_test "intelok"
58     run_dump_test "prefix"
59     run_dump_test "amd"
60     run_dump_test "katmai"
61     run_dump_test "jump"
62     run_dump_test "relax-1"
63     run_dump_test "relax-2"
64     run_dump_test "ssemmx2"
65     run_dump_test "sse2"
66     run_dump_test "sub"
67     run_dump_test "sse3"
68     run_dump_test "sib"
69     run_dump_test "sib-intel"
70     run_dump_test "disp"
71     run_dump_test "disp-intel"
72     run_dump_test "disp32"
73     run_dump_test "vmx"
74     run_dump_test "vmfunc"
75     run_dump_test "smx"
76     run_dump_test "suffix"
77     run_dump_test "suffix-intel"
78     run_dump_test "immed32"
79     run_dump_test "equ"
80     run_dump_test "divide"
81     run_dump_test "padlock"
82     run_dump_test "crx"
83     run_list_test "cr-err" ""
84     run_dump_test "cdr"
85     run_dump_test "svme"
86     run_dump_test "amdfam10"
87     run_dump_test "ssse3"
88     run_dump_test "rep"
89     run_dump_test "rep-suffix"
90     run_list_test "inval-rep" "-al"
91     run_dump_test "lock-1"
92     run_dump_test "lock-1-intel"
93     run_list_test "lockbad-1" "-al"
94     run_dump_test "long-1"
95     run_dump_test "long-1-intel"
96     run_dump_test "fp"
97     run_dump_test "nops"
98     run_dump_test "nops16-1"
99     run_dump_test "nops-1"
100     run_dump_test "nops-1-i386"
101     run_dump_test "nops-1-i386-i686"
102     run_dump_test "nops-1-i686"
103     run_dump_test "nops-1-k8"
104     run_dump_test "nops-1-core2"
105     run_dump_test "nops-2"
106     run_dump_test "nops-2-i386"
107     run_dump_test "nops-2-core2"
108     run_dump_test "nops-3"
109     run_dump_test "nops-3-i386"
110     run_dump_test "nops-3-i686"
111     run_dump_test "nops-4"
112     run_dump_test "nops-4-i386"
113     run_dump_test "nops-4-i686"
114     run_dump_test "nops-4a-i686"
115     run_dump_test "nops-5"
116     run_dump_test "nops-5-i686"
117     run_dump_test "nops-6"
118     run_dump_test "addr16"
119     run_dump_test "addr32"
120     run_dump_test "sse4_1"
121     run_dump_test "sse4_1-intel"
122     run_dump_test "sse4_2"
123     run_dump_test "sse4_2-intel"
124     run_dump_test "crc32"
125     run_dump_test "crc32-intel"
126     run_list_test "inval-crc32" "-al"
127     run_dump_test "simd"
128     run_dump_test "simd-intel"
129     run_dump_test "simd-suffix"
130     run_dump_test "mem"
131     run_dump_test "mem-intel"
132     run_dump_test "reg"
133     run_dump_test "reg-intel"
134     run_dump_test "i386"
135     run_dump_test "i386-intel"
136     run_dump_test "compat"
137     run_dump_test "compat-intel"
138     run_dump_test "arch-1"
139     run_dump_test "arch-2"
140     run_dump_test "arch-3"
141     run_dump_test "arch-4"
142     run_dump_test "arch-5"
143     run_dump_test "arch-6"
144     run_dump_test "arch-7"
145     run_dump_test "arch-9"
146     run_dump_test "arch-10"
147     run_dump_test "arch-10-lzcnt"
148     run_dump_test "arch-10-prefetchw"
149     run_dump_test "arch-10-bdver1"
150     run_dump_test "arch-10-bdver2"
151     run_dump_test "arch-10-bdver3"
152     run_dump_test "arch-10-bdver4"
153     run_dump_test "arch-13-znver1"
154     run_dump_test "arch-10-btver1"
155     run_dump_test "arch-10-btver2"
156     run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
157     run_list_test "arch-10-2" "-march=i686 -I${srcdir}/$subdir -al"
158     run_list_test "arch-10-3" "-march=i686+sse4.2 -I${srcdir}/$subdir -al"
159     run_list_test "arch-10-4" "-march=i686+sse4+vmx+smx -I${srcdir}/$subdir -al"
160     run_dump_test "arch-11"
161     run_dump_test "arch-12"
162     run_dump_test "arch-13"
163     run_dump_test "8087"
164     run_dump_test "287"
165     run_dump_test "387"
166     run_list_test "no87" "-al"
167     run_list_test "no87-2" "-march=i686+no87 -al"
168     run_dump_test "xsave"
169     run_dump_test "xsave-intel"
170     run_dump_test "aes"
171     run_dump_test "aes-intel"
172     run_dump_test "clmul"
173     run_dump_test "clmul-intel"
174     run_dump_test "avx"
175     run_dump_test "avx-intel"
176     run_dump_test "avx-scalar"
177     run_dump_test "avx-scalar-intel"
178     run_dump_test "avx256int"
179     run_dump_test "avx256int-intel"
180     run_dump_test "avx2"
181     run_dump_test "avx2-intel"
182     run_dump_test "avx-gather"
183     run_dump_test "avx-gather-intel"
184     run_dump_test "avx512f"
185     run_dump_test "avx512f-intel"
186     run_dump_test "avx512f-opts"
187     run_dump_test "avx512f-opts-intel"
188     run_dump_test "avx512f-nondef"
189     run_dump_test "avx512cd"
190     run_dump_test "avx512cd-intel"
191     run_dump_test "avx512er"
192     run_dump_test "avx512er-intel"
193     run_dump_test "avx512pf"
194     run_dump_test "avx512pf-intel"
195     run_dump_test "evex-lig256"
196     run_dump_test "evex-lig512"
197     run_dump_test "evex-lig256-intel"
198     run_dump_test "evex-lig512-intel"
199     run_dump_test "evex-wig1"
200     run_dump_test "evex-wig1-intel"
201     run_dump_test "sse2avx"
202     run_list_test "inval-avx" "-al"
203     run_list_test "inval-avx512f" "-al"
204     run_dump_test "sse-check"
205     run_dump_test "sse-check-none"
206     run_dump_test "sse-check-warn"
207     run_list_test "sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
208     run_dump_test "vgather-check"
209     run_dump_test "vgather-check-none"
210     run_dump_test "vgather-check-warn"
211     run_list_test "vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
212     run_dump_test "sse-noavx"
213     run_dump_test "movbe"
214     run_dump_test "movbe-intel"
215     run_list_test "inval-movbe" "-al"
216     run_dump_test "ept"
217     run_dump_test "ept-intel"
218     run_list_test "inval-ept" "-al"
219     run_dump_test "invpcid"
220     run_dump_test "invpcid-intel"
221     run_list_test "inval-invpcid" "-al"
222     run_dump_test "arch-avx-1"
223     run_list_test "arch-avx-1-1" "-march=generic32+avx -I${srcdir}/$subdir -al"
224     run_list_test "arch-avx-1-2" "-march=generic32+aes -I${srcdir}/$subdir -al"
225     run_list_test "arch-avx-1-3" "-march=generic32+pclmul -I${srcdir}/$subdir -al"
226     run_list_test "arch-avx-1-4" "-march=generic32+avx+aes -I${srcdir}/$subdir -al"
227     run_list_test "arch-avx-1-5" "-march=generic32+avx+pclmul -I${srcdir}/$subdir -al"
228     run_list_test "arch-avx-1-6" "-march=generic32+aes+pclmul -I${srcdir}/$subdir -al"
229     run_dump_test "opts"
230     run_dump_test "opts-intel"
231     run_dump_test "sse2avx-opts"
232     run_dump_test "sse2avx-opts-intel"
233     run_dump_test "bmi2"
234     run_dump_test "bmi2-intel"
235     run_dump_test "fma"
236     run_dump_test "fma-intel"
237     run_dump_test "fma-scalar"
238     run_dump_test "fma-scalar-intel"
239     run_dump_test "hle"
240     run_dump_test "hle-intel"
241     run_list_test "hlebad" "-al"
242     run_dump_test "rtm"
243     run_dump_test "rtm-intel"
244     run_dump_test "fma4"
245     run_dump_test "lwp"
246     run_dump_test "xop"
247     run_dump_test "bmi"
248     run_dump_test "bmi-intel"
249     run_dump_test "tbm"
250     run_dump_test "tbm-intel"
251     run_dump_test "f16c"
252     run_dump_test "f16c-intel"
253     run_dump_test "fsgs"
254     run_dump_test "fsgs-intel"
255     run_dump_test "rdrnd"
256     run_dump_test "rdrnd-intel"
257     run_dump_test "bundle"
258     run_dump_test "bundle-lock"
259     run_dump_test "bundle-bad"
260     run_dump_test "adx"
261     run_dump_test "adx-intel"
262     run_dump_test "rdseed"
263     run_dump_test "rdseed-intel"
264     run_dump_test "prefetch"
265     run_dump_test "prefetch-intel"
266     run_dump_test "smap"
267     run_dump_test "mpx"
268     run_list_test "mpx-inval-1" "-al"
269     run_dump_test "mpx-add-bnd-prefix"
270     run_dump_test "sha"
271     run_dump_test "clflushopt"
272     run_dump_test "clflushopt-intel"
273     run_dump_test "xsavec"
274     run_dump_test "xsavec-intel"
275     run_dump_test "xsaves"
276     run_dump_test "xsaves-intel"
277     run_dump_test "prefetchwt1"
278     run_dump_test "prefetchwt1-intel"
279     run_dump_test "se1"
280     run_dump_test "avx512f_vl-intel"
281     run_dump_test "avx512f_vl-opts-intel"
282     run_dump_test "avx512f_vl-opts"
283     run_dump_test "avx512f_vl-wig1-intel"
284     run_dump_test "avx512f_vl-wig1"
285     run_dump_test "avx512f_vl"
286     run_dump_test "avx512cd_vl-intel"
287     run_dump_test "avx512cd_vl"
288     run_dump_test "avx512bw-intel"
289     run_dump_test "avx512bw-opts-intel"
290     run_dump_test "avx512bw-opts"
291     run_dump_test "avx512bw-wig1-intel"
292     run_dump_test "avx512bw-wig1"
293     run_dump_test "avx512bw"
294     run_dump_test "avx512bw_vl-intel"
295     run_dump_test "avx512bw_vl-opts-intel"
296     run_dump_test "avx512bw_vl-opts"
297     run_dump_test "avx512bw_vl-wig1-intel"
298     run_dump_test "avx512bw_vl-wig1"
299     run_dump_test "avx512bw_vl"
300     run_dump_test "avx512dq-intel"
301     run_dump_test "avx512dq"
302     run_dump_test "avx512dq_vl-intel"
303     run_dump_test "avx512dq_vl"
304     run_dump_test "omit-lock-yes"
305     run_dump_test "omit-lock-no"
306     run_dump_test "fence-as-lock-add-yes"
307     run_dump_test "fence-as-lock-add-no"
308     run_dump_test "avx512dq-rcigrd-intel"
309     run_dump_test "avx512dq-rcigrd"
310     run_dump_test "avx512dq-rcigrne-intel"
311     run_dump_test "avx512dq-rcigrne"
312     run_dump_test "avx512dq-rcigru-intel"
313     run_dump_test "avx512dq-rcigru"
314     run_dump_test "avx512dq-rcigrz-intel"
315     run_dump_test "avx512dq-rcigrz"
316     run_dump_test "avx512er-rcigrd-intel"
317     run_dump_test "avx512er-rcigrd"
318     run_dump_test "avx512er-rcigrne-intel"
319     run_dump_test "avx512er-rcigrne"
320     run_dump_test "avx512er-rcigru-intel"
321     run_dump_test "avx512er-rcigru"
322     run_dump_test "avx512er-rcigrz-intel"
323     run_dump_test "avx512er-rcigrz"
324     run_dump_test "avx512f-rcigrd-intel"
325     run_dump_test "avx512f-rcigrd"
326     run_dump_test "avx512f-rcigrne-intel"
327     run_dump_test "avx512f-rcigrne"
328     run_dump_test "avx512f-rcigru-intel"
329     run_dump_test "avx512f-rcigru"
330     run_dump_test "avx512f-rcigrz-intel"
331     run_dump_test "avx512f-rcigrz"
332     run_dump_test "clwb"
333     run_dump_test "clwb-intel"
334     run_dump_test "pcommit"
335     run_dump_test "pcommit-intel"
336     run_dump_test "avx512ifma"
337     run_dump_test "avx512ifma-intel"
338     run_dump_test "avx512ifma_vl"
339     run_dump_test "avx512ifma_vl-intel"
340     run_dump_test "avx512vbmi"
341     run_dump_test "avx512vbmi-intel"
342     run_dump_test "avx512vbmi_vl"
343     run_dump_test "avx512vbmi_vl-intel"
344     run_dump_test "clzero"
345     run_dump_test "disassem"
346     run_dump_test "mwaitx-bdver4"
347     run_list_test "mwaitx-reg"
348     run_dump_test "ospke"
349
350     # These tests require support for 8 and 16 bit relocs,
351     # so we only run them for ELF and COFF targets.
352     if {[is_elf_format] || [istarget "*-*-coff*"]} then {
353         run_dump_test "reloc"
354         run_dump_test "jump16"
355         run_list_test "white" "-al --listing-lhs-width=3"
356
357         # These tests should in theory work for PE targets as well,
358         # but the relocs we currently produce are slightly different
359         # from those produced for ELF/COFF based toolchains.
360         # So for now we ignore PE targets.
361         run_dump_test "absrel"
362         if {[istarget "*-*-coff*"]} then {
363             run_dump_test "pcrel"
364         }
365     }
366
367     # ELF specific tests
368     if [is_elf_format] then {
369         # PIC is only supported on ELF targets.
370         run_dump_test "intelpic"
371
372         run_dump_test "pcrel-elf"
373         run_dump_test "relax"
374         run_dump_test "gotpc"
375         run_dump_test "tlsd"
376         run_dump_test "tlspic"
377         run_dump_test "tlsnopic"
378         run_dump_test "bss"
379         run_dump_test "reloc32"
380         run_list_test "reloc32" "--defsym _bad_=1"
381         run_dump_test "mixed-mode-reloc32"
382         run_dump_test "att-regs"
383         run_dump_test "intel-got32"
384         run_dump_test "intel-regs"
385         run_list_test "inval-equ-1" "-al"
386         run_list_test "inval-equ-2" "-al"
387         run_dump_test "ifunc"
388         run_list_test "ifunc-2"
389         run_dump_test "ifunc-3"
390         run_list_test "l1om-inval" "-march=l1om --32"
391         run_list_test "k1om-inval" "-march=k1om --32"
392         run_dump_test "localpic"
393         run_dump_test "debug1"
394
395         run_dump_test "dw2-compress-2"
396         run_dump_test "dw2-compressed-2"
397
398         run_dump_test "bad-size"
399
400         run_dump_test "size-1"
401         run_dump_test "size-2"
402         run_dump_test "size-3"
403         run_dump_test "size-4"
404
405         run_dump_test "note"
406
407         run_dump_test "relax-3"
408         run_dump_test "relax-4"
409
410         run_dump_test "got"
411
412         if {![istarget "*-*-nacl*"]} then {
413             run_dump_test "iamcu-1"
414             run_dump_test "iamcu-2"
415             run_dump_test "iamcu-3"
416             run_list_test "iamcu-inval-1" "-march=iamcu -al"
417             run_list_test "iamcu-inval-2" "-march=iamcu -al"
418             run_list_test "iamcu-inval-3" "-march=iamcu+sse4 -al"
419         }
420     }
421
422     # This is a PE specific test.
423     if { [istarget "*-*-cygwin*"] || [istarget "*-*-pe"]
424          || [istarget "*-*-mingw*"]
425     } then {
426         run_dump_test "secrel"
427     }
428
429     # Miscellaneous tests.
430     run_dump_test "pr12589-1"
431
432     set ASFLAGS "$old_ASFLAGS"
433 }
434
435 # Common tests
436 if [expr [istarget "i*86-*-*"] || [istarget "x86_64-*-*"]] then {
437     if {![istarget "i*86-*-elfiamcu"]} then {
438         run_dump_test "intel-expr"
439         run_dump_test "string-ok"
440     }
441     run_list_test "string-bad" ""
442     run_list_test "reg-bad" ""
443     run_list_test "space1" "-al"
444     run_dump_test rept
445     if [is_elf_format] then {
446         run_list_test_stdin "list-1" "-al"
447         run_list_test_stdin "list-2" "-al"
448         run_list_test_stdin "list-3" "-al"
449         run_dump_test "dw2-compress-1"
450         run_dump_test "dw2-compress-3"
451         run_dump_test "dw2-compressed-1"
452         run_dump_test "dw2-compressed-3"
453     }
454 }
455
456 if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {
457
458     global ASFLAGS
459     set old_ASFLAGS "$ASFLAGS"
460     set ASFLAGS "$ASFLAGS --64"
461
462     run_dump_test "x86_64"
463     run_dump_test "x86_64-intel"
464     run_dump_test "x86-64-addr32"
465     run_dump_test "x86-64-addr32-intel"
466     run_dump_test "x86-64-opcode"
467     run_dump_test "x86-64-intel64"
468     if { ![istarget "*-*-mingw*"] } then {
469       run_dump_test "x86-64-pcrel"
470       run_dump_test "x86-64-disassem"
471     } else {
472       run_dump_test "x86-64-w64-pcrel"
473     }
474     run_dump_test "x86-64-rip"
475     run_dump_test "x86-64-rip-intel"
476     run_dump_test "x86-64-stack"
477     run_dump_test "x86-64-stack-intel"
478     run_dump_test "x86-64-stack-suffix"
479     run_list_test "x86-64-inval" "-al"
480     run_list_test "x86-64-segment" "-al"
481     run_dump_test "x86-64-segovr"
482     run_list_test "x86-64-inval-seg" "-al"
483     run_dump_test "x86-64-branch"
484     run_dump_test "x86-64-relax-1"
485     run_dump_test "svme64"
486     run_dump_test "x86-64-amdfam10"
487     run_dump_test "x86-64-vmx"
488     run_dump_test "x86-64-vmfunc"
489     run_dump_test "immed64"
490     run_dump_test "x86-64-sse3"
491     run_dump_test "x86-64-crx"
492     run_dump_test "x86-64-crx-suffix"
493     run_dump_test "x86-64-drx"
494     run_dump_test "x86-64-drx-suffix"
495     run_dump_test "x86-64-cdr"
496     run_dump_test "x86-64-ssse3"
497     run_dump_test "x86-64-rep"
498     run_dump_test "x86-64-rep-suffix"
499     run_list_test "x86-64-inval-rep" "-al"
500     run_dump_test "x86-64-lock-1"
501     run_dump_test "x86-64-lock-1-intel"
502     run_list_test "x86-64-lockbad-1" "-al"
503     run_dump_test "x86-64-long-1"
504     run_dump_test "x86-64-long-1-intel"
505     run_dump_test "x86-64-cbw"
506     run_dump_test "x86-64-cbw-intel"
507     run_dump_test "x86-64-io"
508     run_dump_test "x86-64-io-intel"
509     run_dump_test "x86-64-io-suffix"
510     run_dump_test "x86-64-gidt"
511     run_dump_test "x86-64-nops"
512     run_dump_test "x86-64-nops-1"
513     run_dump_test "x86-64-nops-1-g64"
514     run_dump_test "x86-64-nops-1-k8"
515     run_dump_test "x86-64-nops-1-core2"
516     run_dump_test "x86-64-nops-1-pentium"
517     run_dump_test "x86-64-nops-2"
518     run_dump_test "x86-64-nops-3"
519     run_dump_test "x86-64-nops-4"
520     run_dump_test "x86-64-nops-4-core2"
521     run_dump_test "x86-64-nops-4-k8"
522     run_dump_test "x86-64-nops-5"
523     run_dump_test "x86-64-nops-5-k8"
524     run_dump_test "x86-64-sse4_1"
525     run_dump_test "x86-64-sse4_1-intel"
526     run_dump_test "x86-64-sse4_2"
527     run_dump_test "x86-64-sse4_2-intel"
528     run_dump_test "x86-64-crc32"
529     run_dump_test "x86-64-crc32-intel"
530     run_list_test "x86-64-inval-crc32" "-al"
531     run_dump_test "x86-64-simd"
532     run_dump_test "x86-64-simd-intel"
533     run_dump_test "x86-64-simd-suffix"
534     run_dump_test "x86-64-mem"
535     run_dump_test "x86-64-mem-intel"
536     run_dump_test "x86-64-reg"
537     run_dump_test "x86-64-reg-intel"
538     run_dump_test "x86-64-sib"
539     run_dump_test "x86-64-sib-intel"
540     run_dump_test "x86-64-disp"
541     run_dump_test "x86-64-disp-intel"
542     run_dump_test "x86-64-disp32"
543     run_dump_test "rexw"
544     run_list_test "x86-64-specific-reg"
545     run_list_test "x86-64-suffix-bad"
546     run_dump_test "x86-64-fxsave"
547     run_dump_test "x86-64-fxsave-intel"
548     run_dump_test "x86-64-arch-1"
549     run_dump_test "x86-64-arch-2"
550     run_dump_test "x86-64-arch-3"
551     run_dump_test "x86-64-arch-2-lzcnt"
552     run_dump_test "x86-64-arch-2-prefetchw"
553     run_dump_test "x86-64-arch-2-bdver1"
554     run_dump_test "x86-64-arch-2-bdver2"
555     run_dump_test "x86-64-arch-2-bdver3"
556     run_dump_test "x86-64-arch-2-bdver4"
557     run_dump_test "x86-64-arch-3-znver1"
558     run_dump_test "x86-64-arch-2-btver1"
559     run_dump_test "x86-64-arch-2-btver2"
560     run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al"
561     run_list_test "x86-64-arch-2-2" "-march=generic64+cx16 -I${srcdir}/$subdir -al"
562     run_dump_test "x86-64-xsave"
563     run_dump_test "x86-64-xsave-intel"
564     run_dump_test "x86-64-aes"
565     run_dump_test "x86-64-aes-intel"
566     run_dump_test "x86-64-clmul"
567     run_dump_test "x86-64-clmul-intel"
568     run_dump_test "x86-64-avx"
569     run_dump_test "x86-64-avx-intel"
570     run_dump_test "x86-64-avx-scalar"
571     run_dump_test "x86-64-avx-scalar-intel"
572     run_dump_test "x86-64-avx256int"
573     run_dump_test "x86-64-avx256int-intel"
574     run_dump_test "x86-64-avx2"
575     run_dump_test "x86-64-avx2-intel"
576     run_dump_test "x86-64-avx-gather"
577     run_dump_test "x86-64-avx-gather-intel"
578     run_dump_test "x86-64-avx512f"
579     run_dump_test "x86-64-avx512f-intel"
580     run_dump_test "x86-64-avx512f-opts"
581     run_dump_test "x86-64-avx512f-opts-intel"
582     run_dump_test "x86-64-avx512f-nondef"
583     run_dump_test "x86-64-avx512cd"
584     run_dump_test "x86-64-avx512cd-intel"
585     run_dump_test "x86-64-avx512er"
586     run_dump_test "x86-64-avx512er-intel"
587     run_dump_test "x86-64-avx512pf"
588     run_dump_test "x86-64-avx512pf-intel"
589     run_dump_test "x86-64-evex-lig256"
590     run_dump_test "x86-64-evex-lig512"
591     run_dump_test "x86-64-evex-lig256-intel"
592     run_dump_test "x86-64-evex-lig512-intel"
593     run_dump_test "x86-64-evex-wig1"
594     run_dump_test "x86-64-evex-wig1-intel"
595     run_dump_test "x86-64-sse2avx"
596     run_list_test "x86-64-inval-avx" "-al"
597     run_list_test "x86-64-inval-avx512f" "-al"
598     run_dump_test "x86-64-sse-check"
599     run_dump_test "x86-64-sse-check-none"
600     run_dump_test "x86-64-sse-check-warn"
601     run_list_test "x86-64-sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
602     run_dump_test "x86-64-vgather-check"
603     run_dump_test "x86-64-vgather-check-none"
604     run_dump_test "x86-64-vgather-check-warn"
605     run_list_test "x86-64-vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
606     run_dump_test "x86-64-sse-noavx"
607     run_dump_test "x86-64-movbe"
608     run_dump_test "x86-64-movbe-intel"
609     run_list_test "x86-64-inval-movbe" "-al"
610     run_dump_test "x86-64-ept"
611     run_dump_test "x86-64-ept-intel"
612     run_list_test "x86-64-inval-ept" "-al"
613     run_dump_test "x86-64-invpcid"
614     run_dump_test "x86-64-invpcid-intel"
615     run_list_test "x86-64-inval-invpcid" "-al"
616     run_dump_test "x86-64-opts"
617     run_dump_test "x86-64-opts-intel"
618     run_dump_test "x86-64-sse2avx-opts"
619     run_dump_test "x86-64-sse2avx-opts-intel"
620     run_dump_test "x86-64-avx-swap"
621     run_dump_test "x86-64-avx-swap-intel"
622     run_dump_test "x86-64-bmi2"
623     run_dump_test "x86-64-bmi2-intel"
624     run_dump_test "x86-64-fma"
625     run_dump_test "x86-64-fma-intel"
626     run_dump_test "x86-64-fma-scalar"
627     run_dump_test "x86-64-fma-scalar-intel"
628     run_dump_test "x86-64-hle"
629     run_dump_test "x86-64-hle-intel"
630     run_list_test "x86-64-hlebad" "-al"
631     run_dump_test "x86-64-rtm"
632     run_dump_test "x86-64-rtm-intel"
633     run_dump_test "x86-64-fma4"
634     run_dump_test "x86-64-lwp"
635     run_dump_test "x86-64-xop"
636     run_dump_test "x86-64-bmi"
637     run_dump_test "x86-64-bmi-intel"
638     run_dump_test "x86-64-tbm"
639     run_dump_test "x86-64-tbm-intel"
640     run_dump_test "x86-64-f16c"
641     run_dump_test "x86-64-f16c-intel"
642     run_dump_test "x86-64-fsgs"
643     run_dump_test "x86-64-fsgs-intel"
644     run_dump_test "x86-64-rdrnd"
645     run_dump_test "x86-64-rdrnd-intel"
646     run_dump_test "x86-64-bundle"
647     run_dump_test "x86-64-adx"
648     run_dump_test "x86-64-adx-intel"
649     run_dump_test "x86-64-rdseed"
650     run_dump_test "x86-64-rdseed-intel"
651     run_dump_test "x86-64-prefetch"
652     run_dump_test "x86-64-prefetch-intel"
653     run_dump_test "x86-64-smap"
654     run_dump_test "x86-64-mpx"
655     run_list_test "x86-64-mpx-inval-1" "-al"
656     run_list_test "x86-64-mpx-inval-2" "-al"
657     run_dump_test "x86-64-mpx-addr32"
658     run_dump_test "x86-64-mpx-add-bnd-prefix"
659     run_dump_test "x86-64-sha"
660     run_dump_test "x86-64-clflushopt"
661     run_dump_test "x86-64-clflushopt-intel"
662     run_dump_test "x86-64-xsavec"
663     run_dump_test "x86-64-xsavec-intel"
664     run_dump_test "x86-64-xsaves"
665     run_dump_test "x86-64-xsaves-intel"
666     run_dump_test "x86-64-prefetchwt1"
667     run_dump_test "x86-64-prefetchwt1-intel"
668     run_dump_test "x86-64-se1"
669     run_dump_test "x86-64-equ"
670     run_dump_test "x86-64-avx512f_vl-intel"
671     run_dump_test "x86-64-avx512f_vl-opts-intel"
672     run_dump_test "x86-64-avx512f_vl-opts"
673     run_dump_test "x86-64-avx512f_vl-wig1-intel"
674     run_dump_test "x86-64-avx512f_vl-wig1"
675     run_dump_test "x86-64-avx512f_vl"
676     run_dump_test "x86-64-avx512cd_vl-intel"
677     run_dump_test "x86-64-avx512cd_vl"
678     run_dump_test "x86-64-avx512bw-intel"
679     run_dump_test "x86-64-avx512bw-opts-intel"
680     run_dump_test "x86-64-avx512bw-opts"
681     run_dump_test "x86-64-avx512bw-wig1-intel"
682     run_dump_test "x86-64-avx512bw-wig1"
683     run_dump_test "x86-64-avx512bw"
684     run_dump_test "x86-64-avx512bw_vl-intel"
685     run_dump_test "x86-64-avx512bw_vl-opts-intel"
686     run_dump_test "x86-64-avx512bw_vl-opts"
687     run_dump_test "x86-64-avx512bw_vl-wig1-intel"
688     run_dump_test "x86-64-avx512bw_vl-wig1"
689     run_dump_test "x86-64-avx512bw_vl"
690     run_dump_test "x86-64-avx512dq-intel"
691     run_dump_test "x86-64-avx512dq"
692     run_dump_test "x86-64-avx512dq_vl-intel"
693     run_dump_test "x86-64-avx512dq_vl"
694     run_dump_test "x86-64-suffix"
695     run_dump_test "x86-64-suffix-intel"
696     run_dump_test "x86-64-avx512dq-rcigrd-intel"
697     run_dump_test "x86-64-avx512dq-rcigrd"
698     run_dump_test "x86-64-avx512dq-rcigrne-intel"
699     run_dump_test "x86-64-avx512dq-rcigrne"
700     run_dump_test "x86-64-avx512dq-rcigru-intel"
701     run_dump_test "x86-64-avx512dq-rcigru"
702     run_dump_test "x86-64-avx512dq-rcigrz-intel"
703     run_dump_test "x86-64-avx512dq-rcigrz"
704     run_dump_test "x86-64-avx512er-rcigrd-intel"
705     run_dump_test "x86-64-avx512er-rcigrd"
706     run_dump_test "x86-64-avx512er-rcigrne-intel"
707     run_dump_test "x86-64-avx512er-rcigrne"
708     run_dump_test "x86-64-avx512er-rcigru-intel"
709     run_dump_test "x86-64-avx512er-rcigru"
710     run_dump_test "x86-64-avx512er-rcigrz-intel"
711     run_dump_test "x86-64-avx512er-rcigrz"
712     run_dump_test "x86-64-avx512f-rcigrd-intel"
713     run_dump_test "x86-64-avx512f-rcigrd"
714     run_dump_test "x86-64-avx512f-rcigrne-intel"
715     run_dump_test "x86-64-avx512f-rcigrne"
716     run_dump_test "x86-64-avx512f-rcigru-intel"
717     run_dump_test "x86-64-avx512f-rcigru"
718     run_dump_test "x86-64-avx512f-rcigrz-intel"
719     run_dump_test "x86-64-avx512f-rcigrz"
720     run_dump_test "x86-64-clwb"
721     run_dump_test "x86-64-clwb-intel"
722     run_dump_test "x86-64-pcommit"
723     run_dump_test "x86-64-pcommit-intel"
724     run_dump_test "x86-64-avx512ifma"
725     run_dump_test "x86-64-avx512ifma-intel"
726     run_dump_test "x86-64-avx512ifma_vl"
727     run_dump_test "x86-64-avx512ifma_vl-intel"
728     run_dump_test "x86-64-avx512vbmi"
729     run_dump_test "x86-64-avx512vbmi-intel"
730     run_dump_test "x86-64-avx512vbmi_vl"
731     run_dump_test "x86-64-avx512vbmi_vl-intel"
732     run_dump_test "x86-64-clzero"
733     run_dump_test "x86-64-mwaitx-bdver4"
734     run_list_test "x86-64-mwaitx-reg"
735     run_dump_test "x86-64-ospke"
736     run_dump_test "x86-64-fence-as-lock-add-yes"
737     run_dump_test "x86-64-fence-as-lock-add-no"
738
739     if { ![istarget "*-*-aix*"]
740       && ![istarget "*-*-beos*"]
741       && ![istarget "*-*-*bsd*"]
742       && ![istarget "*-*-chaos*"]
743       && ![istarget "*-*-kaos*"]
744       && ![istarget "*-*-lynx*"]
745       && ![istarget "*-*-moss*"]
746       && ![istarget "*-*-nto-qnx*"]
747       && ![istarget "*-*-rtems*"]
748       && ![istarget "*-*-sco*"]
749       && ![istarget "*-*-solaris*"]
750       && ![istarget "*-*-sysv*"] } then {
751         run_dump_test "rex"
752     }
753
754     # ELF specific tests
755     if [is_elf_format] then {
756         # Verify that @unwind works.
757         run_dump_test "x86-64-unwind"
758
759         run_dump_test "reloc64"
760         run_list_test "reloc64" "--defsym _bad_=1"
761         run_dump_test "mixed-mode-reloc64"
762         run_dump_test "x86-64-ifunc"
763         run_dump_test "x86-64-opcode-inval"
764         run_dump_test "x86-64-opcode-inval-intel"
765         run_dump_test "intel-got64"
766         run_dump_test "l1om"
767         run_dump_test "k1om"
768         run_dump_test "x86-64-localpic"
769         run_dump_test "debug1"
770         run_dump_test "x86-64-mpx-branch-1"
771         run_dump_test "x86-64-mpx-branch-2"
772
773         run_dump_test "x86-64-dw2-compress-2"
774         run_dump_test "x86-64-dw2-compressed-2"
775
776         run_dump_test "x86-64-size-1"
777         run_dump_test "x86-64-size-2"
778         run_dump_test "x86-64-size-3"
779         run_dump_test "x86-64-size-4"
780         run_dump_test "x86-64-size-5"
781         run_list_test "x86-64-size-inval-1" "-al"
782
783         run_dump_test "x86-64-relax-2"
784         run_dump_test "x86-64-relax-3"
785
786         run_dump_test "x86-64-jump"
787         run_dump_test "x86-64-branch-2"
788         run_list_test "x86-64-branch-3" "-al -mintel64"
789
790         run_dump_test "x86-64-gotpcrel"
791     }
792
793     set ASFLAGS "$old_ASFLAGS"
794 }