gas/testsuite/

* gas/mips/mips.exp (run_dump_test_arch): Add an opts parameter.
	(run_dump_test_arches): Allow additional options to be passed.
	(run_list_test_arch): Add opts to the name.
	(run_list_test_arches): Allow the options to be elided.
	(mips4-fp, mips5-fp): Run twice, one with -32 and once with -mabi=o64.
	(mips64r2-ill, octeon-ill): Remove empty options string.
This commit is contained in:
Richard Sandiford
2011-12-03 10:29:53 +00:00
parent be7b303d27
commit 725fc8eddf
2 changed files with 56 additions and 25 deletions

View File

@ -1,3 +1,12 @@
2011-12-03 Richard Sandiford <rdsandiford@googlemail.com>
* gas/mips/mips.exp (run_dump_test_arch): Add an opts parameter.
(run_dump_test_arches): Allow additional options to be passed.
(run_list_test_arch): Add opts to the name.
(run_list_test_arches): Allow the options to be elided.
(mips4-fp, mips5-fp): Run twice, one with -32 and once with -mabi=o64.
(mips64r2-ill, octeon-ill): Remove empty options string.
2011-11-29 Andrew Pinski <apinski@cavium.com> 2011-11-29 Andrew Pinski <apinski@cavium.com>
* gas/mips/mips.exp: Add octeon+ for an architecture. * gas/mips/mips.exp: Add octeon+ for an architecture.

View File

@ -286,10 +286,11 @@ proc mips_arch_list_matching {args} {
# The functions below facilitate running various types of tests. # The functions below facilitate running various types of tests.
# run_dump_test_arch NAME ARCH # run_dump_test_arch NAME OPTS ARCH
# #
# Invoke "run_dump_test" for test NAME, with extra assembler and # Invoke "run_dump_test" for test NAME with additional assembler options OPTS.
# disassembler flags to test architecture ARCH. # Add the assembler and disassembler flags that are associated with
# architecture ARCH.
# #
# You can override the expected output for particular architectures # You can override the expected output for particular architectures
# and file formats. The possible test names are, in order of preference: # and file formats. The possible test names are, in order of preference:
@ -302,7 +303,7 @@ proc mips_arch_list_matching {args} {
# where CARCH is the "canonical" name of architecture ARCH as recorded # where CARCH is the "canonical" name of architecture ARCH as recorded
# in its associated property list, and where FORMAT is the target's # in its associated property list, and where FORMAT is the target's
# file format (one of "elf", "ecoff" or "aout"). # file format (one of "elf", "ecoff" or "aout").
proc run_dump_test_arch { name arch } { proc run_dump_test_arch { name opts arch } {
upvar elf elf ecoff ecoff aout aout upvar elf elf ecoff ecoff aout aout
global subdir srcdir global subdir srcdir
@ -323,45 +324,61 @@ proc run_dump_test_arch { name arch } {
} }
if [catch {run_dump_test $name \ if [catch {run_dump_test $name \
"{name {([mips_arch_displayname $arch])}} "{name {([concat $opts [mips_arch_displayname $arch]])}}
{objdump {[mips_arch_objdump_flags $arch]}} {objdump {[mips_arch_objdump_flags $arch]}}
{as {[mips_arch_as_flags $arch]}}"} rv] { {as {[concat $opts [mips_arch_as_flags $arch]]}}"} rv] {
perror "$rv" perror "$rv"
untested "$subdir/$name ($arch)" untested "$subdir/$name ($arch)"
} }
} }
# run_dump_test_arches NAME ARCH_LIST # run_dump_test_arches NAME [OPTS] ARCH_LIST
# #
# Invoke "run_dump_test_arch" for test NAME, for each architecture # Invoke "run_dump_test_arch" for test NAME, for each architecture
# listed in ARCH_LIST. # listed in ARCH_LIST. OPTS, if specified, is a list of additional
proc run_dump_test_arches { name arch_list } { # assembler options that should be used for all architectures.
proc run_dump_test_arches { name args } {
upvar elf elf ecoff ecoff aout aout upvar elf elf ecoff ecoff aout aout
set opts ""
if { [llength $args] > 1 } {
set opts [lindex $args 0]
set args [lrange $args 1 end]
}
set arch_list [lindex $args 0]
foreach arch $arch_list { foreach arch $arch_list {
run_dump_test_arch "$name" "$arch" run_dump_test_arch $name $opts $arch
} }
} }
# run_list_test_arch NAME OPTS ARCH # run_list_test_arch NAME OPTS ARCH
# #
# Invoke "run_list_test" for test NAME with options OPTS, with extra # Invoke "run_list_test" for test NAME with additional assembler options OPTS.
# assembler flags to test architecture ARCH. # Add the assembler flags that are associated with architecture ARCH.
proc run_list_test_arch { name opts arch } { proc run_list_test_arch { name opts arch } {
global subdir global subdir
set testname "MIPS $name ([mips_arch_displayname $arch])" set testname "MIPS $name ([concat $opts [mips_arch_displayname $arch]])"
if [catch {run_list_test "$name" "$opts [mips_arch_as_flags $arch]" \ if [catch {run_list_test \
"$testname"} rv] { $name \
[concat $opts [mips_arch_as_flags $arch]] \
$testname} rv] {
perror "$rv" perror "$rv"
untested "$testname" untested "$testname"
} }
} }
# run_list_test_arches NAME OPTS ARCH_LIST # run_list_test_arches NAME [OPTS] ARCH_LIST
# #
# Invoke "run_list_test_arch" for test NAME with options OPTS, for each # Invoke "run_list_test_arch" for test NAME, for each architecture listed
# architecture listed in ARCH_LIST. # in ARCH_LIST. OPTS, if specified, is a list of additional assembler
proc run_list_test_arches { name opts arch_list } { # options that should be used for all architectures.
proc run_list_test_arches { name args } {
set opts ""
if { [llength $args] > 1 } {
set opts [lindex $args 0]
set args [lrange $args 1 end]
}
set arch_list [lindex $args 0]
foreach arch $arch_list { foreach arch $arch_list {
run_list_test_arch "$name" "$opts" "$arch" run_list_test_arch "$name" "$opts" "$arch"
} }
@ -636,14 +653,20 @@ if { [istarget mips*-*-vxworks*] } {
if $elf { run_dump_test "lif-svr4pic" } if $elf { run_dump_test "lif-svr4pic" }
if $elf { run_dump_test "lif-xgot" } if $elf { run_dump_test "lif-xgot" }
run_dump_test_arches "mips4" [mips_arch_list_matching mips4] run_dump_test_arches "mips4" [mips_arch_list_matching mips4]
run_dump_test_arches "mips4-fp" [mips_arch_list_matching fpisa4] run_dump_test_arches "mips4-fp" "-32" \
[mips_arch_list_matching fpisa4]
run_dump_test_arches "mips4-fp" "-mabi=o64" \
[mips_arch_list_matching fpisa4 gpr64]
run_list_test_arches "mips4-fp" "-32 -msoft-float" \ run_list_test_arches "mips4-fp" "-32 -msoft-float" \
[mips_arch_list_matching fpisa4] [mips_arch_list_matching fpisa4]
run_dump_test_arches "mips4-branch-likely" \ run_dump_test_arches "mips4-branch-likely" \
[mips_arch_list_matching mips4] [mips_arch_list_matching mips4]
run_list_test_arches "mips4-branch-likely" "-32 -msoft-float" \ run_list_test_arches "mips4-branch-likely" "-32 -msoft-float" \
[mips_arch_list_matching mips4] [mips_arch_list_matching mips4]
run_dump_test_arches "mips5-fp" [mips_arch_list_matching fpisa5] run_dump_test_arches "mips5-fp" "-32" \
[mips_arch_list_matching fpisa5]
run_dump_test_arches "mips5-fp" "-mabi=o64" \
[mips_arch_list_matching fpisa5 gpr64]
run_dump_test "mul" run_dump_test "mul"
run_dump_test_arches "rol" [mips_arch_list_matching mips1 !ror] run_dump_test_arches "rol" [mips_arch_list_matching mips1 !ror]
@ -739,7 +762,7 @@ if { [istarget mips*-*-vxworks*] } {
!octeon] !octeon]
run_dump_test_arches "mips64r2" [mips_arch_list_matching mips64r2] run_dump_test_arches "mips64r2" [mips_arch_list_matching mips64r2]
run_list_test_arches "mips64r2-ill" "" [mips_arch_list_matching mips64r2] run_list_test_arches "mips64r2-ill" [mips_arch_list_matching mips64r2]
run_dump_test "set-arch" run_dump_test "set-arch"
@ -991,8 +1014,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test_arches "octeon" [mips_arch_list_matching octeon] run_dump_test_arches "octeon" [mips_arch_list_matching octeon]
run_dump_test_arches "octeon-saa-saad" [mips_arch_list_matching octeonp] run_dump_test_arches "octeon-saa-saad" [mips_arch_list_matching octeonp]
run_list_test_arches "octeon-ill" "" \ run_list_test_arches "octeon-ill" [mips_arch_list_matching octeon]
[mips_arch_list_matching octeon]
run_dump_test_arches "octeon-pref" [mips_arch_list_matching octeon] run_dump_test_arches "octeon-pref" [mips_arch_list_matching octeon]
run_dump_test "smartmips" run_dump_test "smartmips"