#
# i386 tests
#
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]];
}

if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [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 -mold-gcc"
    run_list_test "inval" "-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 "intel16"
    run_list_test "intelbad" ""
    run_dump_test "intelok"
    run_dump_test "prefix"
    run_dump_test "amd"
    run_dump_test "katmai"
    run_dump_test "jump"
    run_dump_test "relax-1"
    run_dump_test "relax-2"
    run_dump_test "ssemmx2"
    run_dump_test "sse2"
    run_dump_test "sub"
    run_dump_test "sse3"
    run_dump_test "sib"
    run_dump_test "sib-intel"
    run_dump_test "disp"
    run_dump_test "disp-intel"
    run_dump_test "disp32"
    run_dump_test "vmx"
    run_dump_test "vmfunc"
    run_dump_test "smx"
    run_dump_test "suffix"
    run_dump_test "immed32"
    run_dump_test "equ"
    run_dump_test "divide"
    run_dump_test "padlock"
    run_dump_test "crx"
    run_list_test "cr-err" ""
    run_dump_test "svme"
    run_dump_test "amdfam10"
    run_dump_test "ssse3"
    run_dump_test "rep"
    run_dump_test "rep-suffix"
    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 "fp"
    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-1-bdver1"
    run_dump_test "nops-1-bdver2"
    run_dump_test "nops-1-bdver3"
    run_dump_test "nops-1-btver1"
    run_dump_test "nops-1-btver2"
    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 "addr16"
    run_dump_test "addr32"
    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_list_test "inval-crc32" "-al"
    run_dump_test "simd"
    run_dump_test "simd-intel"
    run_dump_test "simd-suffix"
    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 "compat"
    run_dump_test "compat-intel"
    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-bdver2"
    run_dump_test "arch-10-bdver3"
    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+sse4.2 -I${srcdir}/$subdir -al"
    run_list_test "arch-10-4" "-march=i686+sse4+vmx+smx -I${srcdir}/$subdir -al"
    run_dump_test "arch-11"
    run_dump_test "arch-12"
    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_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 "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 "sse2avx"
    run_list_test "inval-avx" "-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 "sse-noavx"
    run_dump_test "movbe"
    run_dump_test "movbe-intel"
    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_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 "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 "lwp"
    run_dump_test "xop"
    run_dump_test "bmi"
    run_dump_test "bmi-intel"
    run_dump_test "tbm"
    run_dump_test "tbm-intel"
    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"

    # 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 "*-*-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 "pcrel"
	run_dump_test "absrel"
    }

    # ELF specific tests
    if [is_elf_format] then {
	# PIC is only supported on ELF targets.
	run_dump_test "intelpic"

	run_dump_test "relax"
	run_dump_test "gotpc"
	run_dump_test "tlsd"
	run_dump_test "tlspic"
	run_dump_test "tlsnopic"
	run_dump_test "bss"
	run_dump_test "reloc32"
	run_list_test "reloc32" "--defsym _bad_=1"
	run_dump_test "mixed-mode-reloc32"
	run_dump_test "att-regs"
	run_dump_test "intel-got32"
	run_dump_test "intel-regs"
	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_list_test "l1om-inval" "-march=l1om --32"
	run_list_test "k1om-inval" "-march=k1om --32"
	run_dump_test "localpic"
	run_dump_test "debug1"

	run_dump_test "dw2-compress-2"

	run_dump_test "bad-size"
    }

    # This is a PE specific test.
    if { [istarget "*-*-cygwin*"] || [istarget "*-*-pe"]
	 || [istarget "*-*-mingw*"]
    } then {
	run_dump_test "secrel"
    }

    # Miscellaneous tests.
    run_dump_test "pr12589-1"

    set ASFLAGS "$old_ASFLAGS"
}

# Common tests
if [expr [istarget "i*86-*-*"] || [istarget "x86_64-*-*"]] then {
    run_dump_test "intel-expr"
    run_dump_test "string-ok"
    run_list_test "string-bad" ""
    run_list_test "space1" "-al"
    run_dump_test rept
    if [is_elf_format] 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"
    }
}

if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {

    global ASFLAGS
    set old_ASFLAGS "$ASFLAGS"
    set ASFLAGS "$ASFLAGS --64"

    run_dump_test "x86_64"
    run_dump_test "x86-64-addr32"
    run_dump_test "x86-64-addr32-intel"
    run_dump_test "x86-64-opcode"
    run_dump_test "x86-64-intel64"
    if { ![istarget "*-*-mingw*"] } then {
      run_dump_test "x86-64-pcrel"
    } else {
      run_dump_test "x86-64-w64-pcrel"
    }
    run_dump_test "x86-64-rip"
    run_dump_test "x86-64-rip-intel"
    run_dump_test "x86-64-stack"
    run_dump_test "x86-64-stack-intel"
    run_dump_test "x86-64-stack-suffix"
    run_list_test "x86-64-inval" "-al"
    run_list_test "x86-64-segment" "-al"
    run_list_test "x86-64-inval-seg" "-al"
    run_dump_test "x86-64-branch"
    run_dump_test "x86-64-relax-1"
    run_dump_test "svme64"
    run_dump_test "x86-64-amdfam10"
    run_dump_test "x86-64-vmx"
    run_dump_test "x86-64-vmfunc"
    run_dump_test "immed64"
    run_dump_test "x86-64-sse3"
    run_dump_test "x86-64-crx"
    run_dump_test "x86-64-crx-suffix"
    run_dump_test "x86-64-drx"
    run_dump_test "x86-64-drx-suffix"
    run_dump_test "x86-64-ssse3"
    run_dump_test "x86-64-rep"
    run_dump_test "x86-64-rep-suffix"
    run_dump_test "x86-64-lock-1"
    run_dump_test "x86-64-lock-1-intel"
    run_list_test "x86-64-lockbad-1" "-al"
    run_dump_test "x86-64-long-1"
    run_dump_test "x86-64-long-1-intel"
    run_dump_test "x86-64-cbw"
    run_dump_test "x86-64-cbw-intel"
    run_dump_test "x86-64-io"
    run_dump_test "x86-64-io-intel"
    run_dump_test "x86-64-io-suffix"
    run_dump_test "x86-64-gidt"
    run_dump_test "x86-64-nops"
    run_dump_test "x86-64-nops-1"
    run_dump_test "x86-64-nops-1-g64"
    run_dump_test "x86-64-nops-1-k8"
    run_dump_test "x86-64-nops-1-nocona"
    run_dump_test "x86-64-nops-1-core2"
    run_dump_test "x86-64-nops-1-pentium"
    run_dump_test "x86-64-nops-1-bdver1"
    run_dump_test "x86-64-nops-1-bdver2"
    run_dump_test "x86-64-nops-1-bdver3"
    run_dump_test "x86-64-nops-1-btver1"
    run_dump_test "x86-64-nops-1-btver2"
    run_dump_test "x86-64-nops-2"
    run_dump_test "x86-64-nops-3"
    run_dump_test "x86-64-nops-4"
    run_dump_test "x86-64-nops-4-core2"
    run_dump_test "x86-64-nops-4-k8"
    run_dump_test "x86-64-nops-5"
    run_dump_test "x86-64-nops-5-k8"
    run_dump_test "x86-64-sse4_1"
    run_dump_test "x86-64-sse4_1-intel"
    run_dump_test "x86-64-sse4_2"
    run_dump_test "x86-64-sse4_2-intel"
    run_dump_test "x86-64-crc32"
    run_dump_test "x86-64-crc32-intel"
    run_list_test "x86-64-inval-crc32" "-al"
    run_dump_test "x86-64-simd"
    run_dump_test "x86-64-simd-intel"
    run_dump_test "x86-64-simd-suffix"
    run_dump_test "x86-64-mem"
    run_dump_test "x86-64-mem-intel"
    run_dump_test "x86-64-reg"
    run_dump_test "x86-64-reg-intel"
    run_dump_test "x86-64-sib"
    run_dump_test "x86-64-sib-intel"
    run_dump_test "x86-64-disp"
    run_dump_test "x86-64-disp-intel"
    run_dump_test "x86-64-disp32"
    run_dump_test "rexw"
    run_dump_test "x86-64-fxsave"
    run_dump_test "x86-64-fxsave-intel"
    run_dump_test "x86-64-arch-1"
    run_dump_test "x86-64-arch-2"
    run_dump_test "x86-64-arch-2-lzcnt"
    run_dump_test "x86-64-arch-2-prefetchw"
    run_dump_test "x86-64-arch-2-bdver2"
    run_dump_test "x86-64-arch-2-bdver3"
    run_dump_test "x86-64-arch-2-btver1"
    run_dump_test "x86-64-arch-2-btver2"
    run_dump_test "x86-64-xsave"
    run_dump_test "x86-64-xsave-intel"
    run_dump_test "x86-64-aes"
    run_dump_test "x86-64-aes-intel"
    run_dump_test "x86-64-clmul"
    run_dump_test "x86-64-clmul-intel"
    run_dump_test "x86-64-avx"
    run_dump_test "x86-64-avx-intel"
    run_dump_test "x86-64-avx-scalar"
    run_dump_test "x86-64-avx-scalar-intel"
    run_dump_test "x86-64-avx256int"
    run_dump_test "x86-64-avx256int-intel"
    run_dump_test "x86-64-avx2"
    run_dump_test "x86-64-avx2-intel"
    run_dump_test "x86-64-avx-gather"
    run_dump_test "x86-64-avx-gather-intel"
    run_dump_test "x86-64-sse2avx"
    run_list_test "x86-64-inval-avx" "-al"
    run_dump_test "x86-64-sse-check"
    run_dump_test "x86-64-sse-check-none"
    run_dump_test "x86-64-sse-check-warn"
    run_list_test "x86-64-sse-check-error" "-msse-check=error -I${srcdir}/$subdir -al"
    run_dump_test "x86-64-sse-noavx"
    run_dump_test "x86-64-movbe"
    run_dump_test "x86-64-movbe-intel"
    run_list_test "x86-64-inval-movbe" "-al"
    run_dump_test "x86-64-ept"
    run_dump_test "x86-64-ept-intel"
    run_list_test "x86-64-inval-ept" "-al"
    run_dump_test "x86-64-invpcid"
    run_dump_test "x86-64-invpcid-intel"
    run_list_test "x86-64-inval-invpcid" "-al"
    run_dump_test "x86-64-opts"
    run_dump_test "x86-64-opts-intel"
    run_dump_test "x86-64-sse2avx-opts"
    run_dump_test "x86-64-sse2avx-opts-intel"
    run_dump_test "x86-64-avx-swap"
    run_dump_test "x86-64-avx-swap-intel"
    run_dump_test "x86-64-bmi2"
    run_dump_test "x86-64-bmi2-intel"
    run_dump_test "x86-64-fma"
    run_dump_test "x86-64-fma-intel"
    run_dump_test "x86-64-fma-scalar"
    run_dump_test "x86-64-fma-scalar-intel"
    run_dump_test "x86-64-hle"
    run_dump_test "x86-64-hle-intel"
    run_list_test "x86-64-hlebad" "-al"
    run_dump_test "x86-64-rtm"
    run_dump_test "x86-64-rtm-intel"
    run_dump_test "x86-64-fma4"
    run_dump_test "x86-64-lwp"
    run_dump_test "x86-64-xop"
    run_dump_test "x86-64-bmi"
    run_dump_test "x86-64-bmi-intel"
    run_dump_test "x86-64-tbm"
    run_dump_test "x86-64-tbm-intel"
    run_dump_test "x86-64-f16c"
    run_dump_test "x86-64-f16c-intel"
    run_dump_test "x86-64-fsgs"
    run_dump_test "x86-64-fsgs-intel"
    run_dump_test "x86-64-rdrnd"
    run_dump_test "x86-64-rdrnd-intel"
    run_dump_test "x86-64-bundle"
    run_dump_test "x86-64-adx"
    run_dump_test "x86-64-adx-intel"
    run_dump_test "x86-64-rdseed"
    run_dump_test "x86-64-rdseed-intel"

    if { ![istarget "*-*-aix*"]
      && ![istarget "*-*-beos*"]
      && ![istarget "*-*-*bsd*"]
      && ![istarget "*-*-chaos*"]
      && ![istarget "*-*-kaos*"]
      && ![istarget "*-*-lynx*"]
      && ![istarget "*-*-moss*"]
      && ![istarget "*-*-nto-qnx*"]
      && ![istarget "*-*-rtems*"]
      && ![istarget "*-*-sco*"]
      && ![istarget "*-*-solaris*"]
      && ![istarget "*-*-sysv*"] } then {
	run_dump_test "rex"
    }

    # ELF specific tests
    if [is_elf_format] then {
	# Verify that @unwind works.
	run_dump_test "x86-64-unwind"

	run_dump_test "reloc64"
	run_list_test "reloc64" "--defsym _bad_=1"
	run_dump_test "mixed-mode-reloc64"
	run_dump_test "x86-64-ifunc"
	run_dump_test "x86-64-opcode-inval"
	run_dump_test "x86-64-opcode-inval-intel"
	run_dump_test "intel-got64"
	run_dump_test "l1om"
	run_dump_test "k1om"
	run_dump_test "x86-64-localpic"
	run_dump_test "debug1"

	run_dump_test "x86-64-dw2-compress-2"
    }

    set ASFLAGS "$old_ASFLAGS"
}
