blob: 9276a4368f341f9b2e51fcd24e662e28df88c86c [file] [log] [blame]
# Copyright (C) 2012-2024 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
#
# i386 tests
#
if { ![istarget "i*86-*-*"] && ![istarget "x86_64-*-*"] } then {
return
}
proc gas_64_check { } {
global NM
global NMFLAGS
set status [gas_host_run "$NM $NMFLAGS --help" ""]
return [regexp "targets:.*x86-64" [lindex $status 1]];
}
proc gas_32_check { } {
global NM
global NMFLAGS
set status [gas_host_run "$NM $NMFLAGS --help" ""]
return [regexp "targets:.*i386" [lindex $status 1]];
}
proc gas_bfd64_check { } {
global AS
set status [gas_host_run "$AS --help" ""]
return [regexp "32bit/64bit" [lindex $status 1]];
}
if [gas_32_check] then {
global ASFLAGS
set old_ASFLAGS "$ASFLAGS"
set ASFLAGS "$ASFLAGS --32"
run_list_test "float" "-al -mmnemonic=att"
run_list_test "general" "-al --listing-lhs-width=2"
run_list_test "inval" "-aln"
run_list_test "inval-16" "-al"
run_list_test "segment" "-al"
run_list_test "inval-seg" "-al"
run_list_test "inval-reg" "-al"
run_list_test "modrm" "-al --listing-lhs-width=2"
run_dump_test "naked"
run_dump_test "opcode"
run_dump_test "opcode-intel"
run_dump_test "opcode-suffix"
run_dump_test "intel"
run_dump_test "intel-intel"
run_dump_test "intel16"
run_list_test "intelbad" ""
run_dump_test "intelok"
run_dump_test "intelok2"
run_dump_test "prefix"
run_list_test "prefix32" "-al"
run_dump_test "insn-32"
run_dump_test "lea"
run_dump_test "lea16"
run_dump_test "amd"
run_dump_test "katmai"
run_dump_test "jump"
run_dump_test "movs32"
run_dump_test "movz32"
run_dump_test "relax-1"
run_dump_test "relax-2"
run_dump_test "ssemmx2"
run_dump_test "sse2"
run_dump_test "sse2-16bit"
run_dump_test "sub"
run_dump_test "sse3"
run_dump_test "sse3-intel"
run_dump_test "sib"
run_dump_test "sib-intel"
run_dump_test "disp"
run_dump_test "disp-intel"
run_dump_test "disp32"
run_list_test "disp-imm-16"
if { [gas_bfd64_check] } {
run_dump_test "disp-imm-32"
}
run_dump_test "vmx"
run_dump_test "vmfunc"
run_dump_test "smx"
run_dump_test "suffix"
run_dump_test "suffix-intel"
run_list_test "suffix-bad"
run_dump_test "immed32"
run_list_test "cst-diag" "-al"
run_dump_test "equ"
run_list_test "equ-2" "-al"
run_list_test "equ-bad"
run_list_test "comments" "-almn"
run_dump_test "line-comment"
run_dump_test "curly"
run_dump_test "separator"
run_dump_test "divide"
run_dump_test "quoted"
run_dump_test "quoted2"
run_dump_test "unary"
run_dump_test "padlock"
run_dump_test "gmi"
run_dump_test "crx"
run_list_test "cr-err" ""
run_dump_test "cdr"
run_dump_test "svme"
run_dump_test "svme16"
run_dump_test "amdfam10"
run_dump_test "ssse3"
run_dump_test "rep"
run_dump_test "rep-suffix"
run_list_test "inval-rep" "-al"
run_dump_test "lock-1"
run_dump_test "lock-1-intel"
run_list_test "lockbad-1" "-al"
run_dump_test "long-1"
run_dump_test "long-1-intel"
run_dump_test "nops"
run_dump_test "nops16-1"
run_dump_test "nops-1"
run_dump_test "nops-1-i386"
run_dump_test "nops-1-i386-i686"
run_dump_test "nops-1-i686"
run_dump_test "nops-1-k8"
run_dump_test "nops-1-core2"
run_dump_test "nops-2"
run_dump_test "nops-2-i386"
run_dump_test "nops-2-core2"
run_dump_test "nops-3"
run_dump_test "nops-3-i386"
run_dump_test "nops-3-i686"
run_dump_test "nops-4"
run_dump_test "nops-4-i386"
run_dump_test "nops-4-i686"
run_dump_test "nops-4a-i686"
run_dump_test "nops-5"
run_dump_test "nops-5-i686"
run_dump_test "nops-6"
run_dump_test "nops-7"
run_dump_test "nops-8"
run_dump_test "nops-9"
run_dump_test "nops-10"
run_dump_test "noreg16"
run_list_test "noreg16"
run_dump_test "noreg16-data32"
run_dump_test "noreg32"
run_list_test "noreg32"
run_dump_test "noreg32-data16"
run_list_test "movx16" "-I${srcdir}/$subdir -al"
run_list_test "movx32" "-al"
run_dump_test "sizing32"
run_dump_test "addr16"
run_dump_test "addr32"
run_dump_test "code16"
run_list_test "oversized16" "-al"
run_dump_test "wrap32-text"
run_dump_test "wrap32-data"
run_dump_test "sse4_1"
run_dump_test "sse4_1-intel"
run_dump_test "sse4_2"
run_dump_test "sse4_2-intel"
run_dump_test "crc32"
run_dump_test "crc32-intel"
run_dump_test "crc32-suffix"
run_list_test "inval-crc32" "-al"
run_dump_test "simd"
run_dump_test "simd-intel"
run_dump_test "simd-suffix"
run_dump_test "simd16"
run_dump_test "mem"
run_dump_test "mem-intel"
run_dump_test "reg"
run_dump_test "reg-intel"
run_dump_test "i386"
run_dump_test "i386-intel"
run_dump_test "compat"
run_dump_test "compat-intel"
run_dump_test "compat-intel2"
run_dump_test "arch-1"
run_dump_test "arch-2"
run_dump_test "arch-3"
run_dump_test "arch-4"
run_dump_test "arch-5"
run_dump_test "arch-6"
run_dump_test "arch-7"
run_dump_test "arch-9"
run_dump_test "arch-10"
run_dump_test "arch-10-lzcnt"
run_dump_test "arch-10-prefetchw"
run_dump_test "arch-10-bdver1"
run_dump_test "arch-10-bdver2"
run_dump_test "arch-10-bdver3"
run_dump_test "arch-10-bdver4"
run_dump_test "arch-13-znver1"
run_dump_test "arch-13-znver2"
run_dump_test "arch-14-znver3"
run_dump_test "arch-14-znver4"
run_dump_test "arch-15-znver5"
run_dump_test "arch-10-btver1"
run_dump_test "arch-10-btver2"
run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
run_list_test "arch-10-2" "-march=i686 -I${srcdir}/$subdir -al"
run_list_test "arch-10-3" "-march=i686+mmx+sse4.2 -I${srcdir}/$subdir -al"
run_list_test "arch-10-4" "-march=i686+mmx+sse4+vmx+smx -I${srcdir}/$subdir -al"
run_list_test "arch-10-5" "-march=generic32+i686 -al"
run_list_test "arch-10-6" "-march=generic32+monitor -I${srcdir}/$subdir -aln"
run_dump_test "arch-11"
run_dump_test "arch-12"
run_dump_test "arch-13"
run_dump_test "arch-14"
run_dump_test "arch-14-1"
run_dump_test "arch-15"
run_list_test "arch-dflt" "-march=generic32 -al"
run_list_test "arch-stk" "-march=generic32 -al"
run_dump_test "8087"
run_dump_test "287"
run_dump_test "387"
run_list_test "no87" "-al"
run_list_test "no87-2" "-march=i686+no87 -al"
run_list_test "no87-3" "-al"
run_list_test "stN" "-al"
run_list_test "fpu"
run_list_test "nommx-1" "-al"
run_list_test "nommx-2" "-march=core+nommx -al"
run_list_test "nommx-3" "-march=+nommx -al"
run_list_test "nosse-1" "-al"
run_list_test "nosse-2" "-march=core+nosse -al"
run_list_test "nosse-3" "-march=+nosse -al"
run_list_test "nosse-4" "-al"
run_dump_test "nosse-5"
run_list_test "noavx-1" "-al"
run_list_test "noavx-2" "-march=+noavx -al"
run_list_test "noavx-3" "-al"
run_dump_test "noavx-4"
run_list_test "noavx512-1" "-almn"
run_list_test "noavx512-2" "-almn --divide"
run_dump_test "noextreg"
run_dump_test "xmmhi32"
run_dump_test "xsave"
run_dump_test "xsave-intel"
run_dump_test "aes"
run_dump_test "aes-intel"
run_dump_test "clmul"
run_dump_test "clmul-intel"
run_dump_test "avx"
run_dump_test "avx-intel"
run_dump_test "avx-scalar"
run_dump_test "avx-scalar-intel"
run_dump_test "avx-scalar-2"
run_dump_test "avx-16bit"
run_dump_test "avx256int"
run_dump_test "avx256int-intel"
run_dump_test "avx2"
run_dump_test "avx2-intel"
run_dump_test "avx-gather"
run_dump_test "avx-gather-intel"
run_dump_test "avx-wig"
run_dump_test "avx2-wig"
run_dump_test "vex-lig-2"
run_dump_test "avx512f"
run_dump_test "avx512f-intel"
run_dump_test "avx512f-opts"
run_dump_test "avx512f-opts-intel"
run_dump_test "avx512f-nondef"
run_list_test "avx512f-plain" "-al"
run_dump_test "avx512f-ymm"
run_dump_test "avx512f-16bit"
run_dump_test "avx512cd"
run_dump_test "avx512cd-intel"
run_dump_test "avx512er"
run_dump_test "avx512er-intel"
run_dump_test "avx512pf"
run_dump_test "avx512pf-intel"
run_dump_test "evex"
run_dump_test "evex-lig256"
run_dump_test "evex-lig512"
run_dump_test "evex-lig256-intel"
run_dump_test "evex-lig512-intel"
run_dump_test "evex-lig-2"
run_dump_test "evex-wig1"
run_dump_test "evex-wig1-intel"
run_dump_test "evex-no-scale-32"
run_dump_test "sse2avx"
run_dump_test "unaligned-vector-move"
run_list_test "inval-avx" "-al"
run_list_test "inval-avx512f" "-al"
run_list_test "inval-avx512vl" "-al"
run_dump_test "sse-check"
run_dump_test "sse-check-none"
run_dump_test "sse-check-warn"
run_list_test "sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
run_dump_test "vgather-check"
run_dump_test "vgather-check-none"
run_dump_test "vgather-check-warn"
run_list_test "vgather-check-error" "-moperand-check=error -I${srcdir}/$subdir"
run_dump_test "sse-noavx"
run_dump_test "movbe"
run_dump_test "movbe-intel"
run_dump_test "movbe-suffix"
run_list_test "inval-movbe" "-al"
run_dump_test "ept"
run_dump_test "ept-intel"
run_list_test "inval-ept" "-al"
run_dump_test "invpcid"
run_dump_test "invpcid-intel"
run_list_test "inval-invpcid" "-al"
run_dump_test "arch-avx-1"
run_list_test "arch-avx-1-1" "-march=generic32+avx -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-2" "-march=generic32+aes -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-3" "-march=generic32+pclmul -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-4" "-march=generic32+avx+aes -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-5" "-march=generic32+avx+pclmul -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-6" "-march=generic32+aes+pclmul -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-7" "-march=generic32+gfni -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-8" "-march=generic32+avx+gfni -I${srcdir}/$subdir -al"
run_dump_test "opts"
run_dump_test "opts-intel"
run_dump_test "sse2avx-opts"
run_dump_test "sse2avx-opts-intel"
run_dump_test "bmi2"
run_dump_test "bmi2-intel"
run_dump_test "bmi2-16bit"
run_dump_test "fma"
run_dump_test "fma-intel"
run_dump_test "fma-scalar"
run_dump_test "fma-scalar-intel"
run_dump_test "hle"
run_dump_test "hle-intel"
run_list_test "hlebad" "-al"
run_dump_test "rtm"
run_dump_test "rtm-intel"
run_dump_test "fma4"
run_dump_test "fma4-lig"
run_dump_test "lwp"
run_dump_test "lwp-16bit"
run_dump_test "xop"
run_dump_test "xop-lig"
run_dump_test "xop32reg"
run_dump_test "bmi"
run_dump_test "bmi-intel"
run_dump_test "bmi-16bit"
run_dump_test "tbm"
run_dump_test "tbm-intel"
run_dump_test "tbm-16bit"
run_dump_test "f16c"
run_dump_test "f16c-intel"
run_dump_test "fsgs"
run_dump_test "fsgs-intel"
run_dump_test "rdrnd"
run_dump_test "rdrnd-intel"
run_dump_test "bundle"
run_dump_test "bundle-lock"
run_dump_test "bundle-bad"
run_dump_test "adx"
run_dump_test "adx-intel"
run_dump_test "rdseed"
run_dump_test "rdseed-intel"
run_dump_test "prefetch"
run_dump_test "prefetch-intel"
run_dump_test "smap"
run_dump_test "mpx"
run_list_test "mpx-inval-1" "-al"
run_list_test "mpx-inval-2" "-al"
run_dump_test "mpx-add-bnd-prefix"
run_dump_test "mpx-16bit"
run_list_test "bnd" "-al"
run_dump_test "sha"
run_dump_test "clflushopt"
run_dump_test "clflushopt-intel"
run_dump_test "xsavec"
run_dump_test "xsavec-intel"
run_dump_test "xsaves"
run_dump_test "xsaves-intel"
run_dump_test "prefetchwt1"
run_dump_test "prefetchwt1-intel"
run_dump_test "se1"
run_dump_test "avx512f_vl-intel"
run_dump_test "avx512f_vl-opts-intel"
run_dump_test "avx512f_vl-opts"
run_dump_test "avx512f_vl-wig1"
run_dump_test "avx512f_vl"
run_dump_test "avx512cd_vl-intel"
run_dump_test "avx512cd_vl"
run_dump_test "avx512bw-intel"
run_dump_test "avx512bw-opts-intel"
run_dump_test "avx512bw-opts"
run_dump_test "avx512bw-wig1"
run_dump_test "avx512bw"
run_dump_test "avx512bw_vl-intel"
run_dump_test "avx512bw_vl-opts-intel"
run_dump_test "avx512bw_vl-opts"
run_dump_test "avx512bw_vl-wig1"
run_dump_test "avx512bw_vl"
run_dump_test "avx512dq-intel"
run_dump_test "avx512dq"
run_list_test "avx512dq-inval"
run_dump_test "avx512dq_vl-intel"
run_dump_test "avx512dq_vl"
run_dump_test "omit-lock-yes"
run_dump_test "omit-lock-no"
run_dump_test "fence-as-lock-add-yes"
run_dump_test "fence-as-lock-add-no"
run_dump_test "avx512dq-rcigrd"
run_dump_test "avx512dq-rcigrne"
run_dump_test "avx512dq-rcigru"
run_dump_test "avx512dq-rcigrz"
run_dump_test "avx512er-rcigrd"
run_dump_test "avx512er-rcigrne"
run_dump_test "avx512er-rcigru"
run_dump_test "avx512er-rcigrz"
run_dump_test "avx512f-rcigrd-intel"
run_dump_test "avx512f-rcigrd"
run_dump_test "avx512f-rcigrne-intel"
run_dump_test "avx512f-rcigrne"
run_dump_test "avx512f-rcigru-intel"
run_dump_test "avx512f-rcigru"
run_dump_test "avx512f-rcigrz-intel"
run_dump_test "avx512f-rcigrz"
run_dump_test "clwb"
run_dump_test "clwb-intel"
run_dump_test "avx512ifma"
run_dump_test "avx512ifma-intel"
run_dump_test "avx512ifma_vl"
run_dump_test "avx512ifma_vl-intel"
run_dump_test "avx512vbmi"
run_dump_test "avx512vbmi-intel"
run_dump_test "avx512vbmi_vl"
run_dump_test "avx512vbmi_vl-intel"
run_dump_test "avx512_4fmaps"
run_dump_test "avx512_4fmaps-intel"
run_list_test "avx512_4fmaps-warn"
run_dump_test "avx512_4vnniw"
run_dump_test "avx512_4vnniw-intel"
run_list_test "avx512_4vnniw-warn"
run_dump_test "avx512_vpopcntdq"
run_dump_test "avx512_vpopcntdq-intel"
run_dump_test "avx512_vpopcntdq_vl"
run_dump_test "avx512vbmi2"
run_dump_test "avx512vbmi2-intel"
run_dump_test "avx512vbmi2_vl"
run_dump_test "avx512vbmi2_vl-intel"
run_dump_test "avx512f_gfni"
run_dump_test "avx512f_gfni-intel"
run_dump_test "avx512vl_gfni"
run_dump_test "avx512vl_gfni-intel"
run_dump_test "avx512f_vaes"
run_dump_test "avx512f_vaes-intel"
run_dump_test "avx512f_vaes-wig1"
run_dump_test "avx512vl_vaes"
run_dump_test "avx512vl_vaes-intel"
run_dump_test "avx512vl_vaes-wig1"
run_dump_test "avx512f_vpclmulqdq"
run_dump_test "avx512f_vpclmulqdq-intel"
run_dump_test "avx512f_vpclmulqdq-wig1"
run_dump_test "avx512vl_vpclmulqdq"
run_dump_test "avx512vl_vpclmulqdq-intel"
run_dump_test "avx512vl_vpclmulqdq-wig1"
run_dump_test "avx512vnni"
run_dump_test "avx512vnni-intel"
run_dump_test "avx512vnni_vl"
run_dump_test "avx512vnni_vl-intel"
run_dump_test "avx512bitalg"
run_dump_test "avx512bitalg-intel"
run_dump_test "avx512bitalg_vl"
run_dump_test "avx512bitalg_vl-intel"
run_dump_test "avx512_bf16"
run_dump_test "avx512_bf16_vl"
run_list_test "avx512_bf16_vl-inval"
run_dump_test "avx-vnni"
run_list_test "avx-vnni-inval"
run_dump_test "avx-ifma"
run_dump_test "avx-ifma-intel"
run_list_test "avx-ifma-inval"
run_dump_test "avx-vnni-int8"
run_dump_test "avx-vnni-int8-intel"
run_list_test "cmpccxadd-inval"
run_dump_test "wrmsrns"
run_dump_test "wrmsrns-intel"
run_list_test "msrlist-inval"
run_dump_test "avx-ne-convert"
run_dump_test "avx-ne-convert-intel"
run_list_test "avx-vex" "-almn"
run_dump_test "raoint"
run_dump_test "raoint-intel"
run_list_test "amx-complex-inval"
run_dump_test "avx-vnni-int16"
run_dump_test "avx-vnni-int16-intel"
run_dump_test "sha512"
run_dump_test "sha512-intel"
run_list_test "sha512-inval"
run_dump_test "sm3"
run_dump_test "sm3-intel"
run_dump_test "sm4"
run_dump_test "sm4-intel"
run_list_test "pbndkb-inval"
run_list_test "user_msr-inval"
run_list_test "msr_imm-inval"
run_list_test "apx-push2pop2-inval"
run_dump_test "avx10_2-rounding"
run_dump_test "avx10_2-rounding-intel"
run_list_test "avx10_2-rounding-inval"
run_dump_test "avx10_2-evex-promote"
run_dump_test "avx10_2-512-media"
run_dump_test "avx10_2-512-media-intel"
run_dump_test "avx10_2-256-media"
run_dump_test "avx10_2-256-media-intel"
run_dump_test "avx10_2-512-cvt"
run_dump_test "avx10_2-512-cvt-intel"
run_dump_test "avx10_2-256-cvt"
run_dump_test "avx10_2-256-cvt-intel"
run_list_test "sg"
run_dump_test "clzero"
run_dump_test "invlpgb"
run_dump_test "tlbsync"
run_dump_test "snp"
run_dump_test "disassem"
run_dump_test "mwaitx-bdver4"
run_list_test "mwaitx-reg"
run_dump_test "ospke"
run_dump_test "rdpid"
run_dump_test "rdpid-intel"
run_dump_test "ptwrite"
run_dump_test "ptwrite-intel"
run_dump_test "gfni"
run_dump_test "gfni-intel"
run_dump_test "vaes"
run_dump_test "vaes-intel"
run_dump_test "vaes-wig1"
run_dump_test "vpclmulqdq"
run_dump_test "vpclmulqdq-intel"
run_dump_test "vpclmulqdq-wig1"
run_dump_test "wbnoinvd"
run_dump_test "wbnoinvd-intel"
run_dump_test "pconfig"
run_dump_test "pconfig-intel"
run_dump_test "waitpkg"
run_dump_test "waitpkg-intel"
run_dump_test "cldemote"
run_dump_test "cldemote-intel"
run_dump_test "movdir"
run_dump_test "movdir-intel"
run_dump_test "movdir-16bit"
run_list_test "movdir64b-reg"
run_dump_test "enqcmd"
run_dump_test "enqcmd-intel"
run_dump_test "enqcmd-16bit"
run_list_test "enqcmd-inval"
run_dump_test "serialize"
run_dump_test "tdx"
run_dump_test "tsxldtrk"
run_dump_test "hreset"
run_dump_test "vp2intersect"
run_dump_test "vp2intersect-intel"
run_list_test "vp2intersect-inval-bcast"
run_list_test "vp2intersect-warn" "-aln"
run_dump_test "keylocker"
run_dump_test "keylocker-intel"
run_dump_test "avx512_fp16"
run_dump_test "avx512_fp16-intel"
run_dump_test "avx512_fp16_vl"
run_dump_test "avx512_fp16_vl-intel"
run_dump_test "avx512_fp16_pseudo_ops"
run_list_test "avx512_fp16-inval-bcast"
run_list_test "avx512vl-1" "-al"
run_list_test "avx512vl-2" "-al"
run_list_test "avx512vl-ambig"
run_list_test "avx512vl-plain" "-al"
run_dump_test "avx10.1-512-1"
run_dump_test "avx10.1-512-2"
run_dump_test "avx10.1-512-3"
run_dump_test "avx10.1-512-4"
run_dump_test "avx10.1-512-5"
run_dump_test "avx10.1-512-gfni"
run_dump_test "avx10.1-512-vaes"
run_dump_test "avx10.1-512-vpclmulqdq"
run_dump_test "avx10.1-256-1"
run_dump_test "avx10.1-256-2"
run_dump_test "avx10.1-256-3"
run_dump_test "avx10.1-256-4"
run_dump_test "avx10.1-256-5"
run_dump_test "avx10.1-256-gfni"
run_dump_test "avx10.1-256-vaes"
run_dump_test "avx10.1-256-vpclmulqdq"
run_list_test "avx10-vsz" "-almn --divide --listing-lhs-width=2"
run_dump_test "fpu-bad"
run_dump_test "cet"
run_dump_test "cet-intel"
run_list_test "cet-ibt-inval"
run_list_test "cet-shstk-inval"
run_dump_test "pseudos"
run_list_test "pseudos-bad"
run_dump_test "notrack"
run_dump_test "notrack-intel"
run_list_test "notrackbad" "-al"
run_dump_test "align-1a"
run_dump_test "align-1b"
run_list_test "inval-pseudo" "-al"
run_dump_test "nop-1"
run_dump_test "nop-1-suffix"
run_list_test "nop-1" "-aln"
run_dump_test "nop-2"
run_dump_test "optimize-1"
run_dump_test "optimize-1a"
run_dump_test "optimize-2"
run_dump_test "optimize-2b"
run_dump_test "optimize-3"
run_dump_test "optimize-4"
run_dump_test "optimize-5"
run_list_test "optimize-6a" "-I${srcdir}/$subdir -march=+noavx -al"
run_dump_test "optimize-6b"
run_list_test "optimize-7" "-I${srcdir}/$subdir -march=+noavx2 -al"
run_list_test "optimize-8" "-Os"
run_dump_test "noopt"
run_dump_test "lea-optimize"
run_dump_test "lea16-optimize"
run_dump_test "lea16-optimize2"
run_dump_test "align-branch-1a"
run_dump_test "align-branch-1b"
run_dump_test "align-branch-1c"
run_dump_test "align-branch-1d"
run_dump_test "align-branch-1e"
run_dump_test "align-branch-1f"
run_dump_test "align-branch-1g"
run_dump_test "align-branch-1h"
run_dump_test "align-branch-1i"
run_dump_test "align-branch-2a"
run_dump_test "align-branch-2b"
run_dump_test "align-branch-2c"
run_dump_test "align-branch-4a"
run_dump_test "align-branch-4b"
run_dump_test "align-branch-5"
run_dump_test "align-branch-6"
run_dump_test "align-branch-7"
run_dump_test "align-branch-8"
run_dump_test "align-branch-9"
run_dump_test "lfence-load"
run_dump_test "lfence-indbr-a"
run_dump_test "lfence-indbr-b"
run_dump_test "lfence-indbr-c"
run_dump_test "lfence-ret-a"
run_dump_test "lfence-ret-b"
run_dump_test "lfence-ret-c"
run_dump_test "lfence-ret-d"
run_dump_test "lfence-byte"
# This test uses the .section directive, which only ELF and COFF/PE support.
if {[is_elf_format]
|| [istarget "*-*-vxworks*"]
|| [istarget "*-*-coff*"]
|| [istarget "*-*-pe*"]
|| [istarget "*-*-cygwin*"]
|| [istarget "*-*-mingw*"]
} then {
run_dump_test "lfence-section"
}
run_dump_test "branch"
# These tests require support for 8 and 16 bit relocs,
# so we only run them for ELF and COFF targets.
if {[is_elf_format]
|| [istarget "*-*-vxworks*"]
|| [istarget "*-*-coff*"]
} then {
run_dump_test "reloc"
run_dump_test "jump16"
run_list_test "white" "-al --listing-lhs-width=3"
# These tests should in theory work for PE targets as well,
# but the relocs we currently produce are slightly different
# from those produced for ELF/COFF based toolchains.
# So for now we ignore PE targets.
run_dump_test "absrel"
if {[istarget "*-*-coff*"]} then {
run_dump_test "pcrel"
}
}
# ELF specific tests
if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
# PIC is only supported on ELF targets.
run_dump_test "intelpic"
run_dump_test "pcrel-elf"
run_dump_test "relax"
run_dump_test "gotpc"
run_dump_test "tlsd"
run_dump_test "tlspic"
run_dump_test "tlsnopic"
run_dump_test "tls"
run_list_test "inval-tls"
run_dump_test "bss"
run_dump_test "reloc32"
run_list_test "reloc32" "--defsym _bad_=1 -mtls-check=no"
run_dump_test "intel-got32"
run_dump_test "intel-movs32"
run_dump_test "intel-movs16"
run_dump_test "intel-cmps32"
run_dump_test "intel-cmps16"
run_list_test "inval-equ-1" "-al"
run_list_test "inval-equ-2" "-al"
run_dump_test "ifunc"
run_list_test "ifunc-2"
run_dump_test "ifunc-3"
run_dump_test "localpic"
run_dump_test "debug1"
run_dump_test "dwarf2-line-1"
run_dump_test "dwarf2-line-2"
run_dump_test "dwarf2-line-3"
run_dump_test "dwarf2-line-4"
run_dump_test "dwarf4-line-1"
run_dump_test "dwarf5-line-1"
run_dump_test "dwarf5-line-2"
run_dump_test "dwarf5-line-3"
run_dump_test "dwarf5-line-4"
run_dump_test "dw2-compress-2"
run_dump_test "dw2-compressed-2"
run_dump_test "bad-bcast-intel"
run_dump_test "bad-bcast"
run_dump_test "bad-size"
run_dump_test "size-1"
run_dump_test "size-2"
run_dump_test "size-3"
run_dump_test "size-4"
run_dump_test "size-5a"
run_dump_test "size-5b"
run_dump_test "note"
run_dump_test "relax-3"
run_dump_test "relax-4"
run_dump_test "relax-5"
run_dump_test "got"
run_dump_test "got-no-relax"
run_dump_test "no-got"
run_dump_test "addend"
run_dump_test "nop-3"
run_dump_test "nop-4"
run_dump_test "nop-5"
run_dump_test "nop-6"
run_dump_test "unique"
run_dump_test "lfence-subsect"
run_dump_test "property-1"
if {[istarget "*-*-linux*"]} then {
run_dump_test "align-branch-3"
}
if { [gas_64_check] } then {
run_dump_test "att-regs"
run_dump_test "intel-regs"
run_dump_test "mixed-mode-reloc32"
run_dump_test "code64"
} elseif { ![gas_bfd64_check] } {
run_list_test "code64-inval" "-I${srcdir}/$subdir -al"
}
if {![istarget "*-*-vxworks*"]} then {
run_dump_test "iamcu-1"
run_dump_test "iamcu-2"
run_dump_test "iamcu-3"
run_dump_test "iamcu-4"
run_dump_test "iamcu-5"
run_dump_test "iamcu-6"
run_list_test "iamcu-inval-1" "-march=iamcu -al"
}
}
# These are PE specific tests.
if { [istarget "*-*-cygwin*"] || [istarget "*-*-pe"]
|| [istarget "*-*-mingw*"]
} then {
run_dump_test "secrel"
run_dump_test "secidx"
}
# Miscellaneous tests.
run_dump_test "pr12589-1"
set ASFLAGS "$old_ASFLAGS"
}
# Common tests
if {![istarget "i*86-*-elfiamcu"] && [gas_64_check]} then {
run_dump_test "intel-expr"
run_dump_test "string-ok"
}
run_list_test "string-bad" ""
run_list_test "reg-bad" ""
run_list_test "space1" "-al"
if {![istarget "i*86-*-elfiamcu"]} then {
run_list_test "xmmword"
}
# Disabled due to large memory requirement.
# run_dump_test rept
run_dump_test pr19498
run_list_test "nop-bad-1" ""
run_list_test "unspec" ""
run_dump_test "fp"
run_dump_test "cond"
run_dump_test pr30248
if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
run_list_test_stdin "list-1" "-al"
run_list_test_stdin "list-2" "-al"
run_list_test_stdin "list-3" "-al"
run_dump_test "dw2-compress-1"
run_dump_test "dw2-compress-3a"
run_dump_test "dw2-compress-3b"
run_dump_test "dw2-compressed-1"
run_dump_test "dw2-compressed-3a"
run_dump_test "dw2-compressed-3b"
if {![istarget "i*86-*-elfiamcu"]} then {
run_dump_test "property-2"
run_dump_test "property-3"
run_dump_test "property-4"
run_dump_test "property-5"
run_dump_test "property-6"
run_dump_test "property-10"
run_dump_test "property-11"
run_dump_test "property-12"
run_dump_test "property-13"
run_dump_test "property-cvtpi2pd"
run_dump_test "property-cvtpi2ps"
run_dump_test "property-ldmxcsr"
run_dump_test "property-v4fmaddps"
run_dump_test "property-vfmaddps"
run_dump_test "property-vldmxcsr"
run_dump_test "property-vpcmov"
run_dump_test "property-vzeroall"
}
run_dump_test "code16-2"
if {![istarget "*-*-dragonfly*"]
&& ![istarget "*-*-gnu*"]
&& ![istarget "*-*-freebsd*"]
&& ![istarget "*-*-linux*"]
&& ![istarget "*-*-netbsd*"]} then {
run_dump_test "svr4"
}
}