OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [i386/] [i386.exp] - Rev 856

Go to most recent revision | Compare with Previous | Blame | View Log

#
# 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 "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 "ssemmx2"
    run_dump_test "sse2"
    run_dump_test "sub"
    run_dump_test "prescott"
    run_dump_test "sib"
    run_dump_test "sib-intel"
    run_dump_test "vmx"
    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 "merom"
    run_dump_test "rep"
    run_dump_test "rep-suffix"
    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-merom"
    run_dump_test "nops-2"
    run_dump_test "nops-2-i386"
    run_dump_test "nops-2-merom"
    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 "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-8"
    run_dump_test "arch-9"
    run_dump_test "arch-10"
    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 "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 "sse2avx"
    run_list_test "inval-avx" "-al"
    run_dump_test "sse-check"
    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"

    # 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-regs"
        run_list_test "inval-equ-1" "-al"
        run_list_test "inval-equ-2" "-al"
    }

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

    set ASFLAGS "$old_ASFLAGS"
}

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-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 "svme64"
    run_dump_test "x86-64-amdfam10"
    run_dump_test "x86-64-vmx"
    run_dump_test "immed64"
    run_dump_test "x86-64-prescott"
    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-merom"
    run_dump_test "x86-64-rep"
    run_dump_test "x86-64-rep-suffix"
    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-k8"
    run_dump_test "x86-64-nops-1-nocona"
    run_dump_test "x86-64-nops-1-merom"
    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-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-sse5"
    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-opcode-inval"
    run_dump_test "x86-64-opcode-inval-intel"
    run_dump_test "rexw"
    run_dump_test "x86-64-arch-1"
    run_dump_test "x86-64-arch-2"
    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-sse2avx"
    run_list_test "x86-64-inval-avx" "-al"
    run_dump_test "x86-64-sse-check"
    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"

    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"
    }

    # For ELF targets verify that @unwind works.
    if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"]
          || [istarget "*-*-solaris2.*"])
         && ![istarget *-*-linux*aout*]
         && ![istarget *-*-linux*oldld*] } then {
        run_dump_test "x86-64-unwind"
    }

    # ELF specific tests
    if [is_elf_format] then {
        run_dump_test "reloc64"
        run_list_test "reloc64" "--defsym _bad_=1"
        run_dump_test "mixed-mode-reloc64"
    }

    set ASFLAGS "$old_ASFLAGS"
}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.