Enable Intel AVX512_VBMI2 instructions.
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / i386.exp
CommitLineData
2571583a 1# Copyright (C) 2012-2017 Free Software Foundation, Inc.
5bf135a7
NC
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
252b5132
RH
17#
18# i386 tests
19#
b96d3a20
JH
20proc gas_64_check { } {
21 global NM
22 global NMFLAGS
252b5132 23
7f6a71ff
JM
24 set status [gas_host_run "$NM $NMFLAGS --help" ""]
25 return [regexp "targets:.*x86-64" [lindex $status 1]];
b96d3a20 26}
6e0b89ee 27
b96d3a20
JH
28proc gas_32_check { } {
29 global NM
30 global NMFLAGS
b96d3a20 31
7f6a71ff
JM
32 set status [gas_host_run "$NM $NMFLAGS --help" ""]
33 return [regexp "targets:.*i386" [lindex $status 1]];
b96d3a20
JH
34}
35
b96d3a20
JH
36if [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"
252b5132 41
1efbbeb4
L
42 run_list_test "float" "-al -mmnemonic=att"
43 run_list_test "general" "-al --listing-lhs-width=2 -mold-gcc"
252b5132 44 run_list_test "inval" "-al"
9e5e5283 45 run_list_test "inval-16" "-al"
4cc91dba
L
46 run_list_test "segment" "-al"
47 run_list_test "inval-seg" "-al"
56ffb741 48 run_list_test "inval-reg" "-al"
252b5132 49 run_list_test "modrm" "-al --listing-lhs-width=2"
3f9ed93b 50 run_dump_test "naked"
252b5132 51 run_dump_test "opcode"
8a82f7e3
JB
52 run_dump_test "opcode-intel"
53 run_dump_test "opcode-suffix"
cc5ca5ce 54 run_dump_test "intel"
be66c492 55 run_dump_test "intel16"
9306ca4a
JB
56 run_list_test "intelbad" ""
57 run_dump_test "intelok"
252b5132
RH
58 run_dump_test "prefix"
59 run_dump_test "amd"
c608c12e 60 run_dump_test "katmai"
a3d1c52b 61 run_dump_test "jump"
c07315e0 62 run_dump_test "movz32"
7898a2b1
L
63 run_dump_test "relax-1"
64 run_dump_test "relax-2"
de9d65b5
JH
65 run_dump_test "ssemmx2"
66 run_dump_test "sse2"
4dd8d67b 67 run_dump_test "sub"
bc2ae10b 68 run_dump_test "sse3"
2033b4b9 69 run_dump_test "sib"
db51cc60 70 run_dump_test "sib-intel"
0e1147d9 71 run_dump_test "disp"
6cee4cda 72 run_dump_test "disp-intel"
f8a5c266 73 run_dump_test "disp32"
90700ea2 74 run_dump_test "vmx"
8729a6f6 75 run_dump_test "vmfunc"
47dd174c 76 run_dump_test "smx"
22cbf2e7 77 run_dump_test "suffix"
4b4c407a 78 run_dump_test "suffix-intel"
83b16ac6 79 run_list_test "suffix-bad"
9cd96992 80 run_dump_test "immed32"
4d1bb795 81 run_dump_test "equ"
5157cd8a 82 run_dump_test "divide"
26f07657 83 run_dump_test "padlock"
c4a530c5
JB
84 run_dump_test "crx"
85 run_list_test "cr-err" ""
68f34464 86 run_dump_test "cdr"
30123838 87 run_dump_test "svme"
050dfa73 88 run_dump_test "amdfam10"
bc2ae10b 89 run_dump_test "ssse3"
35c52694
L
90 run_dump_test "rep"
91 run_dump_test "rep-suffix"
d5de92cf 92 run_list_test "inval-rep" "-al"
c32fa91d
L
93 run_dump_test "lock-1"
94 run_dump_test "lock-1-intel"
95 run_list_test "lockbad-1" "-al"
f16cd0d5
L
96 run_dump_test "long-1"
97 run_dump_test "long-1-intel"
5645cf1e 98 run_dump_test "fp"
15965411 99 run_dump_test "nops"
76bc74dc 100 run_dump_test "nops16-1"
ccc9c027
L
101 run_dump_test "nops-1"
102 run_dump_test "nops-1-i386"
76bc74dc 103 run_dump_test "nops-1-i386-i686"
ccc9c027 104 run_dump_test "nops-1-i686"
76bc74dc 105 run_dump_test "nops-1-k8"
bc2ae10b 106 run_dump_test "nops-1-core2"
ccc9c027
L
107 run_dump_test "nops-2"
108 run_dump_test "nops-2-i386"
bc2ae10b 109 run_dump_test "nops-2-core2"
c0f91ba6 110 run_dump_test "nops-3"
76bc74dc
L
111 run_dump_test "nops-3-i386"
112 run_dump_test "nops-3-i686"
113 run_dump_test "nops-4"
114 run_dump_test "nops-4-i386"
115 run_dump_test "nops-4-i686"
a586129e 116 run_dump_test "nops-4a-i686"
fbf3f584
L
117 run_dump_test "nops-5"
118 run_dump_test "nops-5-i686"
a586129e 119 run_dump_test "nops-6"
539e75ad
L
120 run_dump_test "addr16"
121 run_dump_test "addr32"
42903f7f 122 run_dump_test "sse4_1"
c3ad16c0 123 run_dump_test "sse4_1-intel"
381d071f 124 run_dump_test "sse4_2"
c3ad16c0 125 run_dump_test "sse4_2-intel"
9344ff29
L
126 run_dump_test "crc32"
127 run_dump_test "crc32-intel"
20592a94 128 run_list_test "inval-crc32" "-al"
09a2c6cf
L
129 run_dump_test "simd"
130 run_dump_test "simd-intel"
8a72226a 131 run_dump_test "simd-suffix"
d9a5e5e5
L
132 run_dump_test "mem"
133 run_dump_test "mem-intel"
b844680a
L
134 run_dump_test "reg"
135 run_dump_test "reg-intel"
ca61edf2 136 run_dump_test "i386"
a8484f96 137 run_dump_test "i386-intel"
9d141669
L
138 run_dump_test "compat"
139 run_dump_test "compat-intel"
8d79a8c8
L
140 run_dump_test "arch-1"
141 run_dump_test "arch-2"
142 run_dump_test "arch-3"
b414985b 143 run_dump_test "arch-4"
e0329a22
L
144 run_dump_test "arch-5"
145 run_dump_test "arch-6"
146 run_dump_test "arch-7"
3629bb00 147 run_dump_test "arch-9"
6305a203 148 run_dump_test "arch-10"
6c30d220 149 run_dump_test "arch-10-lzcnt"
e2e1fcde 150 run_dump_test "arch-10-prefetchw"
160a30bb 151 run_dump_test "arch-10-bdver1"
5c5acbbd 152 run_dump_test "arch-10-bdver2"
5e5c50d3 153 run_dump_test "arch-10-bdver3"
c7b0bd56 154 run_dump_test "arch-10-bdver4"
029f3522 155 run_dump_test "arch-13-znver1"
7b458c12
L
156 run_dump_test "arch-10-btver1"
157 run_dump_test "arch-10-btver2"
6305a203
L
158 run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
159 run_list_test "arch-10-2" "-march=i686 -I${srcdir}/$subdir -al"
1848e567
L
160 run_list_test "arch-10-3" "-march=i686+mmx+sse4.2 -I${srcdir}/$subdir -al"
161 run_list_test "arch-10-4" "-march=i686+mmx+sse4+vmx+smx -I${srcdir}/$subdir -al"
115c7c25
L
162 run_dump_test "arch-11"
163 run_dump_test "arch-12"
029f3522 164 run_dump_test "arch-13"
309d3373
JB
165 run_dump_test "8087"
166 run_dump_test "287"
167 run_dump_test "387"
168 run_list_test "no87" "-al"
169 run_list_test "no87-2" "-march=i686+no87 -al"
1848e567 170 run_list_test "no87-3" "-al"
293f5f65
L
171 run_list_test "nommx-1" "-al"
172 run_list_test "nommx-2" "-march=core+nommx -al"
173 run_list_test "nommx-3" "-march=+nommx -al"
174 run_list_test "nosse-1" "-al"
175 run_list_test "nosse-2" "-march=core+nosse -al"
176 run_list_test "nosse-3" "-march=+nosse -al"
1848e567
L
177 run_list_test "nosse-4" "-al"
178 run_dump_test "nosse-5"
293f5f65
L
179 run_list_test "noavx-1" "-al"
180 run_list_test "noavx-2" "-march=+noavx -al"
1848e567
L
181 run_list_test "noavx-3" "-al"
182 run_dump_test "noavx-4"
144b71e2
L
183 run_list_test "noavx512-1" "-al"
184 run_list_test "noavx512-2" "-al"
475a2301
L
185 run_dump_test "xsave"
186 run_dump_test "xsave-intel"
c0f3af97
L
187 run_dump_test "aes"
188 run_dump_test "aes-intel"
189 run_dump_test "clmul"
190 run_dump_test "clmul-intel"
191 run_dump_test "avx"
192 run_dump_test "avx-intel"
539f890d
L
193 run_dump_test "avx-scalar"
194 run_dump_test "avx-scalar-intel"
6c30d220
L
195 run_dump_test "avx256int"
196 run_dump_test "avx256int-intel"
197 run_dump_test "avx2"
198 run_dump_test "avx2-intel"
199 run_dump_test "avx-gather"
200 run_dump_test "avx-gather-intel"
43234a1e
L
201 run_dump_test "avx512f"
202 run_dump_test "avx512f-intel"
203 run_dump_test "avx512f-opts"
204 run_dump_test "avx512f-opts-intel"
205 run_dump_test "avx512f-nondef"
206 run_dump_test "avx512cd"
207 run_dump_test "avx512cd-intel"
208 run_dump_test "avx512er"
209 run_dump_test "avx512er-intel"
210 run_dump_test "avx512pf"
211 run_dump_test "avx512pf-intel"
212 run_dump_test "evex-lig256"
213 run_dump_test "evex-lig512"
214 run_dump_test "evex-lig256-intel"
215 run_dump_test "evex-lig512-intel"
216 run_dump_test "evex-wig1"
217 run_dump_test "evex-wig1-intel"
c0f3af97
L
218 run_dump_test "sse2avx"
219 run_list_test "inval-avx" "-al"
43234a1e 220 run_list_test "inval-avx512f" "-al"
daf50ae7 221 run_dump_test "sse-check"
cb19c032 222 run_dump_test "sse-check-none"
daf50ae7
L
223 run_dump_test "sse-check-warn"
224 run_list_test "sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
7bab8ab5
JB
225 run_dump_test "vgather-check"
226 run_dump_test "vgather-check-none"
227 run_dump_test "vgather-check-warn"
228 run_list_test "vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
9ba52a26 229 run_dump_test "sse-noavx"
f1f8f695
L
230 run_dump_test "movbe"
231 run_dump_test "movbe-intel"
232 run_list_test "inval-movbe" "-al"
233 run_dump_test "ept"
234 run_dump_test "ept-intel"
235 run_list_test "inval-ept" "-al"
6c30d220
L
236 run_dump_test "invpcid"
237 run_dump_test "invpcid-intel"
238 run_list_test "inval-invpcid" "-al"
a5ff0eb2
L
239 run_dump_test "arch-avx-1"
240 run_list_test "arch-avx-1-1" "-march=generic32+avx -I${srcdir}/$subdir -al"
241 run_list_test "arch-avx-1-2" "-march=generic32+aes -I${srcdir}/$subdir -al"
ce2f5b3c
L
242 run_list_test "arch-avx-1-3" "-march=generic32+pclmul -I${srcdir}/$subdir -al"
243 run_list_test "arch-avx-1-4" "-march=generic32+avx+aes -I${srcdir}/$subdir -al"
244 run_list_test "arch-avx-1-5" "-march=generic32+avx+pclmul -I${srcdir}/$subdir -al"
245 run_list_test "arch-avx-1-6" "-march=generic32+aes+pclmul -I${srcdir}/$subdir -al"
b6169b20
L
246 run_dump_test "opts"
247 run_dump_test "opts-intel"
248 run_dump_test "sse2avx-opts"
249 run_dump_test "sse2avx-opts-intel"
6c30d220
L
250 run_dump_test "bmi2"
251 run_dump_test "bmi2-intel"
0bfee649
L
252 run_dump_test "fma"
253 run_dump_test "fma-intel"
1c480963
L
254 run_dump_test "fma-scalar"
255 run_dump_test "fma-scalar-intel"
42164a71
L
256 run_dump_test "hle"
257 run_dump_test "hle-intel"
258 run_list_test "hlebad" "-al"
259 run_dump_test "rtm"
260 run_dump_test "rtm-intel"
922d8de8 261 run_dump_test "fma4"
f88c9eb0 262 run_dump_test "lwp"
5dd85c99 263 run_dump_test "xop"
abfcb414 264 run_dump_test "xop32reg"
f12dc422
L
265 run_dump_test "bmi"
266 run_dump_test "bmi-intel"
2a2a0f38
QN
267 run_dump_test "tbm"
268 run_dump_test "tbm-intel"
c7b8aa3a
L
269 run_dump_test "f16c"
270 run_dump_test "f16c-intel"
271 run_dump_test "fsgs"
272 run_dump_test "fsgs-intel"
273 run_dump_test "rdrnd"
274 run_dump_test "rdrnd-intel"
fa94de6b
RM
275 run_dump_test "bundle"
276 run_dump_test "bundle-lock"
277 run_dump_test "bundle-bad"
e2e1fcde
L
278 run_dump_test "adx"
279 run_dump_test "adx-intel"
280 run_dump_test "rdseed"
281 run_dump_test "rdseed-intel"
d7189fa5
RM
282 run_dump_test "prefetch"
283 run_dump_test "prefetch-intel"
5c111e37 284 run_dump_test "smap"
7e8b059b
L
285 run_dump_test "mpx"
286 run_list_test "mpx-inval-1" "-al"
327e8c42 287 run_list_test "mpx-inval-2" "-al"
7e8b059b 288 run_dump_test "mpx-add-bnd-prefix"
a0046408 289 run_dump_test "sha"
963f3586
IT
290 run_dump_test "clflushopt"
291 run_dump_test "clflushopt-intel"
292 run_dump_test "xsavec"
293 run_dump_test "xsavec-intel"
294 run_dump_test "xsaves"
295 run_dump_test "xsaves-intel"
dcf893b5
IT
296 run_dump_test "prefetchwt1"
297 run_dump_test "prefetchwt1-intel"
2cf200a4 298 run_dump_test "se1"
b28d1bda
IT
299 run_dump_test "avx512f_vl-intel"
300 run_dump_test "avx512f_vl-opts-intel"
301 run_dump_test "avx512f_vl-opts"
302 run_dump_test "avx512f_vl-wig1-intel"
303 run_dump_test "avx512f_vl-wig1"
304 run_dump_test "avx512f_vl"
99282af6
IT
305 run_dump_test "avx512cd_vl-intel"
306 run_dump_test "avx512cd_vl"
1ba585e8
IT
307 run_dump_test "avx512bw-intel"
308 run_dump_test "avx512bw-opts-intel"
309 run_dump_test "avx512bw-opts"
310 run_dump_test "avx512bw-wig1-intel"
311 run_dump_test "avx512bw-wig1"
312 run_dump_test "avx512bw"
313 run_dump_test "avx512bw_vl-intel"
314 run_dump_test "avx512bw_vl-opts-intel"
315 run_dump_test "avx512bw_vl-opts"
316 run_dump_test "avx512bw_vl-wig1-intel"
317 run_dump_test "avx512bw_vl-wig1"
318 run_dump_test "avx512bw_vl"
90a915bf
IT
319 run_dump_test "avx512dq-intel"
320 run_dump_test "avx512dq"
321 run_dump_test "avx512dq_vl-intel"
322 run_dump_test "avx512dq_vl"
d022bddd
IT
323 run_dump_test "omit-lock-yes"
324 run_dump_test "omit-lock-no"
e4e00185
AS
325 run_dump_test "fence-as-lock-add-yes"
326 run_dump_test "fence-as-lock-add-no"
d3d3c6db
IT
327 run_dump_test "avx512dq-rcigrd-intel"
328 run_dump_test "avx512dq-rcigrd"
329 run_dump_test "avx512dq-rcigrne-intel"
330 run_dump_test "avx512dq-rcigrne"
331 run_dump_test "avx512dq-rcigru-intel"
332 run_dump_test "avx512dq-rcigru"
333 run_dump_test "avx512dq-rcigrz-intel"
334 run_dump_test "avx512dq-rcigrz"
335 run_dump_test "avx512er-rcigrd-intel"
336 run_dump_test "avx512er-rcigrd"
337 run_dump_test "avx512er-rcigrne-intel"
338 run_dump_test "avx512er-rcigrne"
339 run_dump_test "avx512er-rcigru-intel"
340 run_dump_test "avx512er-rcigru"
341 run_dump_test "avx512er-rcigrz-intel"
342 run_dump_test "avx512er-rcigrz"
343 run_dump_test "avx512f-rcigrd-intel"
344 run_dump_test "avx512f-rcigrd"
345 run_dump_test "avx512f-rcigrne-intel"
346 run_dump_test "avx512f-rcigrne"
347 run_dump_test "avx512f-rcigru-intel"
348 run_dump_test "avx512f-rcigru"
349 run_dump_test "avx512f-rcigrz-intel"
350 run_dump_test "avx512f-rcigrz"
c5e7287a
IT
351 run_dump_test "clwb"
352 run_dump_test "clwb-intel"
2cc1b5aa
IT
353 run_dump_test "avx512ifma"
354 run_dump_test "avx512ifma-intel"
355 run_dump_test "avx512ifma_vl"
356 run_dump_test "avx512ifma_vl-intel"
14f195c9
IT
357 run_dump_test "avx512vbmi"
358 run_dump_test "avx512vbmi-intel"
359 run_dump_test "avx512vbmi_vl"
360 run_dump_test "avx512vbmi_vl-intel"
920d2ddc
IT
361 run_dump_test "avx512_4fmaps"
362 run_dump_test "avx512_4fmaps-intel"
363 run_dump_test "avx512_4fmaps_vl"
364 run_dump_test "avx512_4fmaps_vl-intel"
365 run_list_test "avx512_4fmaps-warn"
366 run_list_test "avx512_4fmaps_vl-warn"
47acf0bd
IT
367 run_dump_test "avx512_4vnniw"
368 run_dump_test "avx512_4vnniw-intel"
369 run_dump_test "avx512_4vnniw_vl"
370 run_dump_test "avx512_4vnniw_vl-intel"
620214f7
IT
371 run_dump_test "avx512_vpopcntdq"
372 run_dump_test "avx512_vpopcntdq-intel"
53467f57
IT
373 run_dump_test "avx512vbmi2"
374 run_dump_test "avx512vbmi2-intel"
375 run_dump_test "avx512vbmi2_vl"
376 run_dump_test "avx512vbmi2_vl-intel"
029f3522 377 run_dump_test "clzero"
4a357820 378 run_dump_test "disassem"
9916071f
AP
379 run_dump_test "mwaitx-bdver4"
380 run_list_test "mwaitx-reg"
8eab4136 381 run_dump_test "ospke"
8bc52696
AF
382 run_dump_test "rdpid"
383 run_dump_test "rdpid-intel"
6b40c462
L
384 run_dump_test "ptwrite"
385 run_dump_test "ptwrite-intel"
73b090a9
L
386 run_list_test "avx512vl-1" "-al"
387 run_list_test "avx512vl-2" "-al"
48c97fa1 388 run_dump_test "fpu-bad"
603555e5
L
389 run_dump_test "cet"
390 run_dump_test "cet-intel"
86fa6981 391 run_dump_test "pseudos"
04ef582a
L
392 run_dump_test "notrack"
393 run_dump_test "notrack-intel"
394 run_list_test "notrackbad" "-al"
252b5132 395
a3d1c52b
AM
396 # These tests require support for 8 and 16 bit relocs,
397 # so we only run them for ELF and COFF targets.
62e88f3c 398 if {[is_elf_format] || [istarget "*-*-coff*"]} then {
252b5132 399 run_dump_test "reloc"
a3d1c52b 400 run_dump_test "jump16"
252b5132 401 run_list_test "white" "-al --listing-lhs-width=3"
3d983505
NC
402
403 # These tests should in theory work for PE targets as well,
404 # but the relocs we currently produce are slightly different
405 # from those produced for ELF/COFF based toolchains.
406 # So for now we ignore PE targets.
3d983505 407 run_dump_test "absrel"
8dcea932
L
408 if {[istarget "*-*-coff*"]} then {
409 run_dump_test "pcrel"
410 }
252b5132 411 }
00687228 412
62e88f3c
NC
413 # ELF specific tests
414 if [is_elf_format] then {
415 # PIC is only supported on ELF targets.
416 run_dump_test "intelpic"
417
8dcea932 418 run_dump_test "pcrel-elf"
00687228 419 run_dump_test "relax"
2bbd9c25 420 run_dump_test "gotpc"
13ae64f3
JJ
421 run_dump_test "tlsd"
422 run_dump_test "tlspic"
423 run_dump_test "tlsnopic"
8a75718c 424 run_dump_test "bss"
3956db08
JB
425 run_dump_test "reloc32"
426 run_list_test "reloc32" "--defsym _bad_=1"
4fa24527 427 run_dump_test "mixed-mode-reloc32"
192dc9c6 428 run_dump_test "att-regs"
4261360e 429 run_dump_test "intel-got32"
192dc9c6 430 run_dump_test "intel-regs"
8325cc63 431 run_dump_test "intel-movs32"
d0548f34
L
432 run_list_test "inval-equ-1" "-al"
433 run_list_test "inval-equ-2" "-al"
915bcca5 434 run_dump_test "ifunc"
c969da64
RS
435 run_list_test "ifunc-2"
436 run_dump_test "ifunc-3"
8a9036a4 437 run_list_test "l1om-inval" "-march=l1om --32"
7a9068fe 438 run_list_test "k1om-inval" "-march=k1om --32"
2a86604a 439 run_dump_test "localpic"
df1c40a7 440 run_dump_test "debug1"
502abbdf 441
089b8992 442 run_dump_test "dw2-compress-2"
151411f8 443 run_dump_test "dw2-compressed-2"
21be61f5
L
444
445 run_dump_test "bad-size"
8fd4256d
L
446
447 run_dump_test "size-1"
448 run_dump_test "size-2"
449 run_dump_test "size-3"
450 run_dump_test "size-4"
00923338
L
451
452 run_dump_test "note"
b084df0b
L
453
454 run_dump_test "relax-3"
8dcea932 455 run_dump_test "relax-4"
81486035 456
02a86693 457 run_dump_test "got"
0cb4071e 458 run_dump_test "got-no-relax"
02a86693 459
4e21640f
L
460 run_dump_test "addend"
461
81486035
L
462 if {![istarget "*-*-nacl*"]} then {
463 run_dump_test "iamcu-1"
464 run_dump_test "iamcu-2"
465 run_dump_test "iamcu-3"
5b64d091
L
466 run_dump_test "iamcu-4"
467 run_dump_test "iamcu-5"
81486035 468 run_list_test "iamcu-inval-1" "-march=iamcu -al"
81486035 469 }
00687228
L
470 }
471
6482c264
NC
472 # This is a PE specific test.
473 if { [istarget "*-*-cygwin*"] || [istarget "*-*-pe"]
474 || [istarget "*-*-mingw*"]
475 } then {
476 run_dump_test "secrel"
477 }
478
a5f21126
L
479 # Miscellaneous tests.
480 run_dump_test "pr12589-1"
481
b96d3a20
JH
482 set ASFLAGS "$old_ASFLAGS"
483}
6e0b89ee 484
cdcf9467 485# Common tests
fc0763e6 486if [expr [istarget "i*86-*-*"] || [istarget "x86_64-*-*"]] then {
81486035
L
487 if {![istarget "i*86-*-elfiamcu"]} then {
488 run_dump_test "intel-expr"
489 run_dump_test "string-ok"
490 }
fc0763e6 491 run_list_test "string-bad" ""
f76bf5e0 492 run_list_test "reg-bad" ""
cdcf9467 493 run_list_test "space1" "-al"
c22faadb 494 run_dump_test rept
df41fdf4 495 run_dump_test pr19498
4f9adf89
L
496 if [is_elf_format] then {
497 run_list_test_stdin "list-1" "-al"
498 run_list_test_stdin "list-2" "-al"
499 run_list_test_stdin "list-3" "-al"
12a8b92e 500 run_dump_test "dw2-compress-1"
b8871f35
L
501 run_dump_test "dw2-compress-3a"
502 run_dump_test "dw2-compress-3b"
151411f8 503 run_dump_test "dw2-compressed-1"
b8871f35
L
504 run_dump_test "dw2-compressed-3a"
505 run_dump_test "dw2-compressed-3b"
12a8b92e 506 }
fc0763e6
JB
507}
508
fc847f15 509if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {
b96d3a20
JH
510
511 global ASFLAGS
512 set old_ASFLAGS "$ASFLAGS"
8325cc63 513 set ASFLAGS "$ASFLAGS --64 --defsym x86_64=1 --strip-local-absolute"
b96d3a20
JH
514
515 run_dump_test "x86_64"
a8484f96 516 run_dump_test "x86_64-intel"
20f0a1fc 517 run_dump_test "x86-64-addr32"
185b1163 518 run_dump_test "x86-64-addr32-intel"
831b02f6 519 run_dump_test "x86-64-opcode"
dfb07592 520 run_dump_test "x86-64-intel64"
3ee6e4fb 521 if { ! [istarget "*-*-*cygwin*"] && ![istarget "*-*-mingw*"] } then {
0cd63f3d 522 run_dump_test "x86-64-pcrel"
fa8761a3 523 run_dump_test "x86-64-disassem"
0cd63f3d
KT
524 } else {
525 run_dump_test "x86-64-w64-pcrel"
526 }
20f0a1fc 527 run_dump_test "x86-64-rip"
185b1163 528 run_dump_test "x86-64-rip-intel"
1a114b12
JB
529 run_dump_test "x86-64-stack"
530 run_dump_test "x86-64-stack-intel"
531 run_dump_test "x86-64-stack-suffix"
831b02f6 532 run_list_test "x86-64-inval" "-al"
4cc91dba 533 run_list_test "x86-64-segment" "-al"
848930b2 534 run_dump_test "x86-64-segovr"
4cc91dba 535 run_list_test "x86-64-inval-seg" "-al"
003519a7 536 run_dump_test "x86-64-branch"
c07315e0 537 run_dump_test "movz64"
7898a2b1 538 run_dump_test "x86-64-relax-1"
30123838 539 run_dump_test "svme64"
050dfa73 540 run_dump_test "x86-64-amdfam10"
90700ea2 541 run_dump_test "x86-64-vmx"
8729a6f6 542 run_dump_test "x86-64-vmfunc"
9cd96992 543 run_dump_test "immed64"
bc2ae10b 544 run_dump_test "x86-64-sse3"
6dd5059a
L
545 run_dump_test "x86-64-crx"
546 run_dump_test "x86-64-crx-suffix"
a1cfb73e
L
547 run_dump_test "x86-64-drx"
548 run_dump_test "x86-64-drx-suffix"
68f34464 549 run_dump_test "x86-64-cdr"
bc2ae10b 550 run_dump_test "x86-64-ssse3"
35c52694
L
551 run_dump_test "x86-64-rep"
552 run_dump_test "x86-64-rep-suffix"
d5de92cf 553 run_list_test "x86-64-inval-rep" "-al"
c32fa91d
L
554 run_dump_test "x86-64-lock-1"
555 run_dump_test "x86-64-lock-1-intel"
556 run_list_test "x86-64-lockbad-1" "-al"
f16cd0d5
L
557 run_dump_test "x86-64-long-1"
558 run_dump_test "x86-64-long-1-intel"
a35ca55a
JB
559 run_dump_test "x86-64-cbw"
560 run_dump_test "x86-64-cbw-intel"
52fd6d94
JB
561 run_dump_test "x86-64-io"
562 run_dump_test "x86-64-io-intel"
563 run_dump_test "x86-64-io-suffix"
cb6d3433 564 run_dump_test "x86-64-gidt"
15965411 565 run_dump_test "x86-64-nops"
872ce6ff 566 run_dump_test "x86-64-nops-1"
da98bb4c 567 run_dump_test "x86-64-nops-1-g64"
ccc9c027 568 run_dump_test "x86-64-nops-1-k8"
bc2ae10b 569 run_dump_test "x86-64-nops-1-core2"
711eedef 570 run_dump_test "x86-64-nops-1-pentium"
76bc74dc
L
571 run_dump_test "x86-64-nops-2"
572 run_dump_test "x86-64-nops-3"
573 run_dump_test "x86-64-nops-4"
574 run_dump_test "x86-64-nops-4-core2"
575 run_dump_test "x86-64-nops-4-k8"
fbf3f584
L
576 run_dump_test "x86-64-nops-5"
577 run_dump_test "x86-64-nops-5-k8"
42903f7f 578 run_dump_test "x86-64-sse4_1"
c3ad16c0 579 run_dump_test "x86-64-sse4_1-intel"
381d071f 580 run_dump_test "x86-64-sse4_2"
c3ad16c0 581 run_dump_test "x86-64-sse4_2-intel"
9344ff29
L
582 run_dump_test "x86-64-crc32"
583 run_dump_test "x86-64-crc32-intel"
20592a94 584 run_list_test "x86-64-inval-crc32" "-al"
09a2c6cf
L
585 run_dump_test "x86-64-simd"
586 run_dump_test "x86-64-simd-intel"
8a72226a 587 run_dump_test "x86-64-simd-suffix"
d9a5e5e5
L
588 run_dump_test "x86-64-mem"
589 run_dump_test "x86-64-mem-intel"
5cee3fe6
L
590 run_dump_test "x86-64-reg"
591 run_dump_test "x86-64-reg-intel"
db51cc60
L
592 run_dump_test "x86-64-sib"
593 run_dump_test "x86-64-sib-intel"
0e1147d9 594 run_dump_test "x86-64-disp"
6cee4cda 595 run_dump_test "x86-64-disp-intel"
8325cc63 596 run_dump_test "intel-movs64"
f8a5c266 597 run_dump_test "x86-64-disp32"
c6add537 598 run_dump_test "rexw"
4c692bc7 599 run_list_test "x86-64-specific-reg"
83b16ac6 600 run_list_test "suffix-bad"
e4630f71 601 run_list_test "x86-64-suffix-bad"
eacc9c89
L
602 run_dump_test "x86-64-fxsave"
603 run_dump_test "x86-64-fxsave-intel"
599121aa 604 run_dump_test "x86-64-arch-1"
e8efc4d9 605 run_dump_test "x86-64-arch-2"
029f3522 606 run_dump_test "x86-64-arch-3"
6c30d220 607 run_dump_test "x86-64-arch-2-lzcnt"
e2e1fcde 608 run_dump_test "x86-64-arch-2-prefetchw"
160a30bb 609 run_dump_test "x86-64-arch-2-bdver1"
5c5acbbd 610 run_dump_test "x86-64-arch-2-bdver2"
5e5c50d3 611 run_dump_test "x86-64-arch-2-bdver3"
c7b0bd56 612 run_dump_test "x86-64-arch-2-bdver4"
029f3522 613 run_dump_test "x86-64-arch-3-znver1"
7b458c12
L
614 run_dump_test "x86-64-arch-2-btver1"
615 run_dump_test "x86-64-arch-2-btver2"
6788fa52
L
616 run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al"
617 run_list_test "x86-64-arch-2-2" "-march=generic64+cx16 -I${srcdir}/$subdir -al"
475a2301
L
618 run_dump_test "x86-64-xsave"
619 run_dump_test "x86-64-xsave-intel"
c0f3af97
L
620 run_dump_test "x86-64-aes"
621 run_dump_test "x86-64-aes-intel"
622 run_dump_test "x86-64-clmul"
623 run_dump_test "x86-64-clmul-intel"
624 run_dump_test "x86-64-avx"
625 run_dump_test "x86-64-avx-intel"
539f890d
L
626 run_dump_test "x86-64-avx-scalar"
627 run_dump_test "x86-64-avx-scalar-intel"
6c30d220
L
628 run_dump_test "x86-64-avx256int"
629 run_dump_test "x86-64-avx256int-intel"
630 run_dump_test "x86-64-avx2"
631 run_dump_test "x86-64-avx2-intel"
632 run_dump_test "x86-64-avx-gather"
633 run_dump_test "x86-64-avx-gather-intel"
43234a1e
L
634 run_dump_test "x86-64-avx512f"
635 run_dump_test "x86-64-avx512f-intel"
636 run_dump_test "x86-64-avx512f-opts"
637 run_dump_test "x86-64-avx512f-opts-intel"
638 run_dump_test "x86-64-avx512f-nondef"
639 run_dump_test "x86-64-avx512cd"
640 run_dump_test "x86-64-avx512cd-intel"
641 run_dump_test "x86-64-avx512er"
642 run_dump_test "x86-64-avx512er-intel"
643 run_dump_test "x86-64-avx512pf"
644 run_dump_test "x86-64-avx512pf-intel"
645 run_dump_test "x86-64-evex-lig256"
646 run_dump_test "x86-64-evex-lig512"
647 run_dump_test "x86-64-evex-lig256-intel"
648 run_dump_test "x86-64-evex-lig512-intel"
649 run_dump_test "x86-64-evex-wig1"
650 run_dump_test "x86-64-evex-wig1-intel"
c0f3af97
L
651 run_dump_test "x86-64-sse2avx"
652 run_list_test "x86-64-inval-avx" "-al"
43234a1e 653 run_list_test "x86-64-inval-avx512f" "-al"
daf50ae7 654 run_dump_test "x86-64-sse-check"
cb19c032 655 run_dump_test "x86-64-sse-check-none"
daf50ae7
L
656 run_dump_test "x86-64-sse-check-warn"
657 run_list_test "x86-64-sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
7bab8ab5
JB
658 run_dump_test "x86-64-vgather-check"
659 run_dump_test "x86-64-vgather-check-none"
660 run_dump_test "x86-64-vgather-check-warn"
661 run_list_test "x86-64-vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
9ba52a26 662 run_dump_test "x86-64-sse-noavx"
f1f8f695
L
663 run_dump_test "x86-64-movbe"
664 run_dump_test "x86-64-movbe-intel"
665 run_list_test "x86-64-inval-movbe" "-al"
666 run_dump_test "x86-64-ept"
667 run_dump_test "x86-64-ept-intel"
668 run_list_test "x86-64-inval-ept" "-al"
6c30d220
L
669 run_dump_test "x86-64-invpcid"
670 run_dump_test "x86-64-invpcid-intel"
671 run_list_test "x86-64-inval-invpcid" "-al"
b6169b20
L
672 run_dump_test "x86-64-opts"
673 run_dump_test "x86-64-opts-intel"
674 run_dump_test "x86-64-sse2avx-opts"
675 run_dump_test "x86-64-sse2avx-opts-intel"
fa99fab2
L
676 run_dump_test "x86-64-avx-swap"
677 run_dump_test "x86-64-avx-swap-intel"
6c30d220
L
678 run_dump_test "x86-64-bmi2"
679 run_dump_test "x86-64-bmi2-intel"
0bfee649
L
680 run_dump_test "x86-64-fma"
681 run_dump_test "x86-64-fma-intel"
1c480963
L
682 run_dump_test "x86-64-fma-scalar"
683 run_dump_test "x86-64-fma-scalar-intel"
42164a71
L
684 run_dump_test "x86-64-hle"
685 run_dump_test "x86-64-hle-intel"
686 run_list_test "x86-64-hlebad" "-al"
687 run_dump_test "x86-64-rtm"
688 run_dump_test "x86-64-rtm-intel"
922d8de8 689 run_dump_test "x86-64-fma4"
f88c9eb0 690 run_dump_test "x86-64-lwp"
5dd85c99 691 run_dump_test "x86-64-xop"
f12dc422
L
692 run_dump_test "x86-64-bmi"
693 run_dump_test "x86-64-bmi-intel"
2a2a0f38
QN
694 run_dump_test "x86-64-tbm"
695 run_dump_test "x86-64-tbm-intel"
c7b8aa3a
L
696 run_dump_test "x86-64-f16c"
697 run_dump_test "x86-64-f16c-intel"
698 run_dump_test "x86-64-fsgs"
699 run_dump_test "x86-64-fsgs-intel"
700 run_dump_test "x86-64-rdrnd"
701 run_dump_test "x86-64-rdrnd-intel"
fa94de6b 702 run_dump_test "x86-64-bundle"
e2e1fcde
L
703 run_dump_test "x86-64-adx"
704 run_dump_test "x86-64-adx-intel"
705 run_dump_test "x86-64-rdseed"
706 run_dump_test "x86-64-rdseed-intel"
d7189fa5
RM
707 run_dump_test "x86-64-prefetch"
708 run_dump_test "x86-64-prefetch-intel"
5c111e37 709 run_dump_test "x86-64-smap"
7e8b059b
L
710 run_dump_test "x86-64-mpx"
711 run_list_test "x86-64-mpx-inval-1" "-al"
712 run_list_test "x86-64-mpx-inval-2" "-al"
713 run_dump_test "x86-64-mpx-addr32"
714 run_dump_test "x86-64-mpx-add-bnd-prefix"
a0046408 715 run_dump_test "x86-64-sha"
963f3586
IT
716 run_dump_test "x86-64-clflushopt"
717 run_dump_test "x86-64-clflushopt-intel"
718 run_dump_test "x86-64-xsavec"
719 run_dump_test "x86-64-xsavec-intel"
720 run_dump_test "x86-64-xsaves"
721 run_dump_test "x86-64-xsaves-intel"
dcf893b5
IT
722 run_dump_test "x86-64-prefetchwt1"
723 run_dump_test "x86-64-prefetchwt1-intel"
2cf200a4 724 run_dump_test "x86-64-se1"
d3bb6b49 725 run_dump_test "x86-64-equ"
b28d1bda
IT
726 run_dump_test "x86-64-avx512f_vl-intel"
727 run_dump_test "x86-64-avx512f_vl-opts-intel"
728 run_dump_test "x86-64-avx512f_vl-opts"
729 run_dump_test "x86-64-avx512f_vl-wig1-intel"
730 run_dump_test "x86-64-avx512f_vl-wig1"
731 run_dump_test "x86-64-avx512f_vl"
99282af6
IT
732 run_dump_test "x86-64-avx512cd_vl-intel"
733 run_dump_test "x86-64-avx512cd_vl"
1ba585e8
IT
734 run_dump_test "x86-64-avx512bw-intel"
735 run_dump_test "x86-64-avx512bw-opts-intel"
736 run_dump_test "x86-64-avx512bw-opts"
737 run_dump_test "x86-64-avx512bw-wig1-intel"
738 run_dump_test "x86-64-avx512bw-wig1"
739 run_dump_test "x86-64-avx512bw"
740 run_dump_test "x86-64-avx512bw_vl-intel"
741 run_dump_test "x86-64-avx512bw_vl-opts-intel"
742 run_dump_test "x86-64-avx512bw_vl-opts"
743 run_dump_test "x86-64-avx512bw_vl-wig1-intel"
744 run_dump_test "x86-64-avx512bw_vl-wig1"
745 run_dump_test "x86-64-avx512bw_vl"
90a915bf
IT
746 run_dump_test "x86-64-avx512dq-intel"
747 run_dump_test "x86-64-avx512dq"
748 run_dump_test "x86-64-avx512dq_vl-intel"
749 run_dump_test "x86-64-avx512dq_vl"
4b4c407a
L
750 run_dump_test "x86-64-suffix"
751 run_dump_test "x86-64-suffix-intel"
d3d3c6db
IT
752 run_dump_test "x86-64-avx512dq-rcigrd-intel"
753 run_dump_test "x86-64-avx512dq-rcigrd"
754 run_dump_test "x86-64-avx512dq-rcigrne-intel"
755 run_dump_test "x86-64-avx512dq-rcigrne"
756 run_dump_test "x86-64-avx512dq-rcigru-intel"
757 run_dump_test "x86-64-avx512dq-rcigru"
758 run_dump_test "x86-64-avx512dq-rcigrz-intel"
759 run_dump_test "x86-64-avx512dq-rcigrz"
760 run_dump_test "x86-64-avx512er-rcigrd-intel"
761 run_dump_test "x86-64-avx512er-rcigrd"
762 run_dump_test "x86-64-avx512er-rcigrne-intel"
763 run_dump_test "x86-64-avx512er-rcigrne"
764 run_dump_test "x86-64-avx512er-rcigru-intel"
765 run_dump_test "x86-64-avx512er-rcigru"
766 run_dump_test "x86-64-avx512er-rcigrz-intel"
767 run_dump_test "x86-64-avx512er-rcigrz"
768 run_dump_test "x86-64-avx512f-rcigrd-intel"
769 run_dump_test "x86-64-avx512f-rcigrd"
770 run_dump_test "x86-64-avx512f-rcigrne-intel"
771 run_dump_test "x86-64-avx512f-rcigrne"
772 run_dump_test "x86-64-avx512f-rcigru-intel"
773 run_dump_test "x86-64-avx512f-rcigru"
774 run_dump_test "x86-64-avx512f-rcigrz-intel"
775 run_dump_test "x86-64-avx512f-rcigrz"
c5e7287a
IT
776 run_dump_test "x86-64-clwb"
777 run_dump_test "x86-64-clwb-intel"
2cc1b5aa
IT
778 run_dump_test "x86-64-avx512ifma"
779 run_dump_test "x86-64-avx512ifma-intel"
780 run_dump_test "x86-64-avx512ifma_vl"
781 run_dump_test "x86-64-avx512ifma_vl-intel"
14f195c9
IT
782 run_dump_test "x86-64-avx512vbmi"
783 run_dump_test "x86-64-avx512vbmi-intel"
784 run_dump_test "x86-64-avx512vbmi_vl"
785 run_dump_test "x86-64-avx512vbmi_vl-intel"
920d2ddc
IT
786 run_dump_test "x86-64-avx512_4fmaps"
787 run_dump_test "x86-64-avx512_4fmaps-intel"
788 run_dump_test "x86-64-avx512_4fmaps_vl"
789 run_dump_test "x86-64-avx512_4fmaps_vl-intel"
790 run_list_test "x86-64-avx512_4fmaps-warn"
791 run_list_test "x86-64-avx512_4fmaps_vl-warn"
47acf0bd
IT
792 run_dump_test "x86-64-avx512_4vnniw"
793 run_dump_test "x86-64-avx512_4vnniw-intel"
794 run_dump_test "x86-64-avx512_4vnniw_vl"
795 run_dump_test "x86-64-avx512_4vnniw_vl-intel"
620214f7
IT
796 run_dump_test "x86-64-avx512_vpopcntdq"
797 run_dump_test "x86-64-avx512_vpopcntdq-intel"
53467f57
IT
798 run_dump_test "x86-64-avx512vbmi2"
799 run_dump_test "x86-64-avx512vbmi2-intel"
800 run_dump_test "x86-64-avx512vbmi2_vl"
801 run_dump_test "x86-64-avx512vbmi2_vl-intel"
029f3522 802 run_dump_test "x86-64-clzero"
9916071f
AP
803 run_dump_test "x86-64-mwaitx-bdver4"
804 run_list_test "x86-64-mwaitx-reg"
8eab4136 805 run_dump_test "x86-64-ospke"
8bc52696
AF
806 run_dump_test "x86-64-rdpid"
807 run_dump_test "x86-64-rdpid-intel"
6b40c462
L
808 run_dump_test "x86-64-ptwrite"
809 run_dump_test "x86-64-ptwrite-intel"
e4e00185
AS
810 run_dump_test "x86-64-fence-as-lock-add-yes"
811 run_dump_test "x86-64-fence-as-lock-add-no"
f1360d58 812 run_dump_test "x86-64-pr20141"
73b090a9
L
813 run_list_test "x86-64-avx512vl-1" "-al"
814 run_list_test "x86-64-avx512vl-2" "-al"
9889cbb1 815 run_dump_test "x86-64-opcode-bad"
603555e5
L
816 run_dump_test "x86-64-cet"
817 run_dump_test "x86-64-cet-intel"
86fa6981 818 run_dump_test "x86-64-pseudos"
04ef582a
L
819 run_dump_test "x86-64-notrack"
820 run_dump_test "x86-64-notrack-intel"
821 run_list_test "x86-64-notrackbad" "-al"
b96d3a20 822
b1905489
JB
823 if { ![istarget "*-*-aix*"]
824 && ![istarget "*-*-beos*"]
825 && ![istarget "*-*-*bsd*"]
826 && ![istarget "*-*-chaos*"]
827 && ![istarget "*-*-kaos*"]
828 && ![istarget "*-*-lynx*"]
829 && ![istarget "*-*-moss*"]
830 && ![istarget "*-*-nto-qnx*"]
831 && ![istarget "*-*-rtems*"]
832 && ![istarget "*-*-sco*"]
833 && ![istarget "*-*-solaris*"]
834 && ![istarget "*-*-sysv*"] } then {
835 run_dump_test "rex"
836 }
837
3956db08
JB
838 # ELF specific tests
839 if [is_elf_format] then {
f5d9e816
L
840 # Verify that @unwind works.
841 run_dump_test "x86-64-unwind"
842
3956db08
JB
843 run_dump_test "reloc64"
844 run_list_test "reloc64" "--defsym _bad_=1"
4fa24527 845 run_dump_test "mixed-mode-reloc64"
915bcca5 846 run_dump_test "x86-64-ifunc"
4261360e
AM
847 run_dump_test "x86-64-opcode-inval"
848 run_dump_test "x86-64-opcode-inval-intel"
849 run_dump_test "intel-got64"
8a9036a4 850 run_dump_test "l1om"
7a9068fe 851 run_dump_test "k1om"
f5d9e816 852 run_dump_test "x86-64-localpic"
df1c40a7 853 run_dump_test "debug1"
c3320543
L
854 run_dump_test "x86-64-mpx-branch-1"
855 run_dump_test "x86-64-mpx-branch-2"
368886ac 856
089b8992 857 run_dump_test "x86-64-dw2-compress-2"
151411f8 858 run_dump_test "x86-64-dw2-compressed-2"
8fd4256d
L
859
860 run_dump_test "x86-64-size-1"
861 run_dump_test "x86-64-size-2"
862 run_dump_test "x86-64-size-3"
863 run_dump_test "x86-64-size-4"
864 run_dump_test "x86-64-size-5"
865 run_list_test "x86-64-size-inval-1" "-al"
b084df0b
L
866
867 run_dump_test "x86-64-relax-2"
8dcea932 868 run_dump_test "x86-64-relax-3"
a72d2af2
L
869
870 run_dump_test "x86-64-jump"
5db04b09
L
871 run_dump_test "x86-64-branch-2"
872 run_list_test "x86-64-branch-3" "-al -mintel64"
07f5af7d 873 run_list_test "x86-64-branch-4" "-al -mintel64"
56ceb5b5
L
874
875 run_dump_test "x86-64-gotpcrel"
0cb4071e 876 run_dump_test "x86-64-gotpcrel-no-relax"
4e21640f
L
877
878 run_dump_test "x86-64-addend"
3956db08
JB
879 }
880
b96d3a20 881 set ASFLAGS "$old_ASFLAGS"
252b5132 882}
This page took 1.097453 seconds and 4 git commands to generate.