diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index bbbbfbe8adaeb2337f997d15e226fc28f0eb83c1..8c6f7ff0193fce23bd8bea8b6b2978865ec637d2 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -523,6 +523,8 @@ if ![string length [info proc prune_warnings]] { # When assembling, pass FLAGS to the assembler. # If assembling several files, you can pass different assembler # options in the "source" directives. See below. +# Multiple instances of this directive tells run_dump_test to run the test +# multiple times -- one time with each set of flags provided. # # ld: FLAGS # Link assembled files using FLAGS, in the order of the "source" @@ -690,6 +692,8 @@ proc run_dump_test { name {extra_options {}} } { set opts(anyskip) {} set opts(ar) {} set opts(as) {} + set as_final_flags {} + set as_additional_flags {} set opts(dump) {} set opts(elfedit) {} set opts(error) {} @@ -781,7 +785,9 @@ proc run_dump_test { name {extra_options {}} } { lappend objfile_names $new_objfile } default { - if { !$in_extra && [string length $opts($opt_name)] } { + if { !$in_extra + && [string length $opts($opt_name)] + && $opt_name != "as" } { perror "option $opt_name multiply set in $file.d" unresolved $subdir/$name return @@ -805,16 +811,35 @@ proc run_dump_test { name {extra_options {}} } { error { append opts($opt_name) $opt_val } + as { + if { $in_extra } { + set as_additional_flags $opt_val + } else { + lappend opts(as) $opt_val + } + } default { set opts($opt_name) [concat $opts($opt_name) $opt_val] } } } - foreach opt { as ld } { - regsub {\[big_or_little_endian\]} $opts($opt) \ - [big_or_little_endian] opts($opt) + # Ensure there is something in $opts(as) for the lmap below. + if { [llength $opts(as)] == 0 } { + set opts(as) [list " "] } + set as_final_flags [lmap x $opts(as) { + if { [string length $x] && [string length $as_additional_flags] } { + append x " " + } + append x $as_additional_flags + regsub {\[big_or_little_endian\]} $x \ + [big_or_little_endian] x + expr {$x} + }] + + regsub {\[big_or_little_endian\]} $opts(ld) \ + [big_or_little_endian] opts(ld) if { $opts(name) == "" } { set testname "$subdir/$name" @@ -947,334 +972,336 @@ proc run_dump_test { name {extra_options {}} } { setup_xfail $targ } - # Assemble each file. - set objfiles {} - for { set i 0 } { $i < [llength $sourcefiles] } { incr i } { - set sourcefile [lindex $sourcefiles $i] - set sourceasflags [lindex $asflags $i] - set run_objcopy_objects 0 - - if { [string match "*RUN_OBJCOPY*" $sourceasflags] } { - set run_objcopy_objects 1 - } - regsub "RUN_OBJCOPY" $sourceasflags "" sourceasflags - - set objfile [lindex $objfile_names $i] - catch "exec rm -f $objfile" exec_output - lappend objfiles $objfile - - if { $opts(as) == "binary" } { - while {[file type $sourcefile] eq "link"} { - set newfile [file readlink $sourcefile] - if {[string index $newfile 0] ne "/"} { - set newfile [file dirname $sourcefile]/$newfile - } - set sourcefile $newfile - } - set newfile [remote_download host $sourcefile $objfile] - set cmdret 0 - if { $newfile == "" } { - set cmdret 1 - } - } else { - if { [istarget "hppa*-*-*"] \ - && ![istarget "*-*-linux*"] \ - && ![istarget "*-*-netbsd*" ] } { - set cmd "sed -e 's/^\[ \]*\.comm \\(\[^,\]*\\),\\(.*\\)/\\1 .comm \\2/' < $sourcefile > tmpdir/asm.s" - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd"]]] - set cmdret [lindex $cmdret 0] - if { $cmdret != 0 } { - perror "sed failure" - unresolved $testname - return - } - set sourcefile tmpdir/asm.s - } - set cmd "$AS $ASFLAGS $opts(as) $sourceasflags -o $objfile $sourcefile" - - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "dump.tmp"] - remote_upload host "dump.tmp" - set comp_output [prune_warnings [file_contents "dump.tmp"]] - remote_file host delete "dump.tmp" - remote_file build delete "dump.tmp" - set cmdret [lindex $cmdret 0] - } - if { $cmdret == 0 && $run_objcopy_objects } { - set cmd "$OBJCOPY $opts(objcopy_objects) $objfile" - - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] \ - "" "/dev/null" "dump.tmp"] - remote_upload host "dump.tmp" - append comp_output [prune_warnings [file_contents "dump.tmp"]] - remote_file host delete "dump.tmp" - remote_file build delete "dump.tmp" - set cmdret [lindex $cmdret 0] - } - } - - # Perhaps link the file(s). - if { $cmdret == 0 && $run_ld } { - set objfile "tmpdir/dump" - catch "exec rm -f $objfile" exec_output - - set ld_extra_opt "" - global ld - set ld "$LD" - if { [is_elf_format] && [check_shared_lib_support] } { - set ld_extra_opt "$ld_elf_shared_opt" - } - - # Add -L$srcdir/$subdir so that the linker command can use - # linker scripts in the source directory. - set cmd "$LD $ld_extra_opt $LDFLAGS -L$srcdir/$subdir \ + foreach as_flags $as_final_flags { + # Assemble each file. + set objfiles {} + for { set i 0 } { $i < [llength $sourcefiles] } { incr i } { + set sourcefile [lindex $sourcefiles $i] + set sourceasflags [lindex $asflags $i] + set run_objcopy_objects 0 + + if { [string match "*RUN_OBJCOPY*" $sourceasflags] } { + set run_objcopy_objects 1 + } + regsub "RUN_OBJCOPY" $sourceasflags "" sourceasflags + + set objfile [lindex $objfile_names $i] + catch "exec rm -f $objfile" exec_output + lappend objfiles $objfile + + if { $as_flags == "binary" } { + while {[file type $sourcefile] eq "link"} { + set newfile [file readlink $sourcefile] + if {[string index $newfile 0] ne "/"} { + set newfile [file dirname $sourcefile]/$newfile + } + set sourcefile $newfile + } + set newfile [remote_download host $sourcefile $objfile] + set cmdret 0 + if { $newfile == "" } { + set cmdret 1 + } + } else { + if { [istarget "hppa*-*-*"] \ + && ![istarget "*-*-linux*"] \ + && ![istarget "*-*-netbsd*" ] } { + set cmd "sed -e 's/^\[ \]*\.comm \\(\[^,\]*\\),\\(.*\\)/\\1 .comm \\2/' < $sourcefile > tmpdir/asm.s" + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd"]]] + set cmdret [lindex $cmdret 0] + if { $cmdret != 0 } { + perror "sed failure" + unresolved $testname + continue + } + set sourcefile tmpdir/asm.s + } + set cmd "$AS $ASFLAGS $as_flags $sourceasflags -o $objfile $sourcefile" + + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "dump.tmp"] + remote_upload host "dump.tmp" + set comp_output [prune_warnings [file_contents "dump.tmp"]] + remote_file host delete "dump.tmp" + remote_file build delete "dump.tmp" + set cmdret [lindex $cmdret 0] + } + if { $cmdret == 0 && $run_objcopy_objects } { + set cmd "$OBJCOPY $opts(objcopy_objects) $objfile" + + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] \ + "" "/dev/null" "dump.tmp"] + remote_upload host "dump.tmp" + append comp_output [prune_warnings [file_contents "dump.tmp"]] + remote_file host delete "dump.tmp" + remote_file build delete "dump.tmp" + set cmdret [lindex $cmdret 0] + } + } + + # Perhaps link the file(s). + if { $cmdret == 0 && $run_ld } { + set objfile "tmpdir/dump" + catch "exec rm -f $objfile" exec_output + + set ld_extra_opt "" + global ld + set ld "$LD" + if { [is_elf_format] && [check_shared_lib_support] } { + set ld_extra_opt "$ld_elf_shared_opt" + } + + # Add -L$srcdir/$subdir so that the linker command can use + # linker scripts in the source directory. + set cmd "$LD $ld_extra_opt $LDFLAGS -L$srcdir/$subdir \ $opts(ld) -o $objfile $objfiles $opts(ld_after_inputfiles)" - # If needed then check for, or add a -Map option. - set mapfile "" - if { $opts(map) != "" } then { - if { [regexp -- "-Map=(\[^ \]+)" $cmd all mapfile] } then { - # Found existing mapfile option - verbose -log "Existing mapfile '$mapfile' found" - } else { - # No mapfile option. - set mapfile "tmpdir/dump.map" - verbose -log "Adding mapfile '$mapfile'" - set cmd "$cmd -Map=$mapfile" - } - } - - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "dump.tmp"] - remote_upload host "dump.tmp" - append comp_output [file_contents "dump.tmp"] - remote_file host delete "dump.tmp" - remote_file build delete "dump.tmp" - set cmdret [lindex $cmdret 0] - - if { $cmdret == 0 && $run_objcopy } { - set infile $objfile - set objfile "tmpdir/dump1" - remote_file host delete $objfile - - # Note that we don't use OBJCOPYFLAGS here; any flags must be - # explicitly specified. - set cmd "$OBJCOPY $opts(objcopy_linked_file) $infile $objfile" - - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "dump.tmp"] - remote_upload host "dump.tmp" - append comp_output [file_contents "dump.tmp"] - remote_file host delete "dump.tmp" - remote_file build delete "dump.tmp" - set cmdret [lindex $cmdret 0] - } - } else { - set objfile [lindex $objfiles 0] - } - - if { $cmdret == 0 && $opts(PROG) != "" } { - set destopt ${copyfile}.o - switch -- $opts(PROG) { - ar { set program ar } - elfedit { - set program elfedit - set destopt "" - } - nm { set program nm } - objcopy { set program objcopy } - ranlib { set program ranlib } - strings { set program strings } - strip { - set program strip - set destopt "-o $destopt" - } - default { - perror "unrecognized PROG option $opts(PROG) in $file.d" - unresolved $testname - return - } - } - - set progopts1 $opts($program) - eval set progopts \$[string toupper $program]FLAGS - eval set binary \$[string toupper $program] - - if { ![is_remote host] && [which $binary] == 0 } { - untested $testname - return - } - - verbose "running $binary $progopts $progopts1" 3 - set cmd "$binary $progopts $progopts1 $objfile $destopt" - - # Ensure consistent sorting of symbols - if {[info exists env(LC_ALL)]} { - set old_lc_all $env(LC_ALL) - } - set env(LC_ALL) "C" - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd 2>dump.tmp"]] "" "/dev/null"] - set cmdret [lindex $cmdret 0] - remote_upload host "dump.tmp" - append comp_output [prune_warnings [file_contents "dump.tmp"]] - remote_file host delete "dump.tmp" - remote_file build delete "dump.tmp" - if {[info exists old_lc_all]} { - set env(LC_ALL) $old_lc_all - } else { - unset env(LC_ALL) - } - if { $destopt != "" } { - set objfile ${copyfile}.o - } + # If needed then check for, or add a -Map option. + set mapfile "" + if { $opts(map) != "" } then { + if { [regexp -- "-Map=(\[^ \]+)" $cmd all mapfile] } then { + # Found existing mapfile option + verbose -log "Existing mapfile '$mapfile' found" + } else { + # No mapfile option. + set mapfile "tmpdir/dump.map" + verbose -log "Adding mapfile '$mapfile'" + set cmd "$cmd -Map=$mapfile" + } + } + + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "dump.tmp"] + remote_upload host "dump.tmp" + append comp_output [file_contents "dump.tmp"] + remote_file host delete "dump.tmp" + remote_file build delete "dump.tmp" + set cmdret [lindex $cmdret 0] + + if { $cmdret == 0 && $run_objcopy } { + set infile $objfile + set objfile "tmpdir/dump1" + remote_file host delete $objfile + + # Note that we don't use OBJCOPYFLAGS here; any flags must be + # explicitly specified. + set cmd "$OBJCOPY $opts(objcopy_linked_file) $infile $objfile" + + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "dump.tmp"] + remote_upload host "dump.tmp" + append comp_output [file_contents "dump.tmp"] + remote_file host delete "dump.tmp" + remote_file build delete "dump.tmp" + set cmdret [lindex $cmdret 0] + } + } else { + set objfile [lindex $objfiles 0] + } + + if { $cmdret == 0 && $opts(PROG) != "" } { + set destopt ${copyfile}.o + switch -- $opts(PROG) { + ar { set program ar } + elfedit { + set program elfedit + set destopt "" + } + nm { set program nm } + objcopy { set program objcopy } + ranlib { set program ranlib } + strings { set program strings } + strip { + set program strip + set destopt "-o $destopt" + } + default { + perror "unrecognized PROG option $opts(PROG) in $file.d" + unresolved $testname + continue + } + } + + set progopts1 $opts($program) + eval set progopts \$[string toupper $program]FLAGS + eval set binary \$[string toupper $program] + + if { ![is_remote host] && [which $binary] == 0 } { + untested $testname + continue + } + + verbose "running $binary $progopts $progopts1" 3 + set cmd "$binary $progopts $progopts1 $objfile $destopt" + + # Ensure consistent sorting of symbols + if {[info exists env(LC_ALL)]} { + set old_lc_all $env(LC_ALL) + } + set env(LC_ALL) "C" + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd 2>dump.tmp"]] "" "/dev/null"] + set cmdret [lindex $cmdret 0] + remote_upload host "dump.tmp" + append comp_output [prune_warnings [file_contents "dump.tmp"]] + remote_file host delete "dump.tmp" + remote_file build delete "dump.tmp" + if {[info exists old_lc_all]} { + set env(LC_ALL) $old_lc_all + } else { + unset env(LC_ALL) + } + if { $destopt != "" } { + set objfile ${copyfile}.o + } + } + + set want_out(source) "" + set want_out(terminal) 0 + if { $err_warn } { + if { $opts(error) != "" || $opts(error_output) != "" } { + set want_out(terminal) 1 + } + + if { $opts(error) != "" || $opts(warning) != "" } { + set want_out(source) "regex" + if { $opts(error) != "" } { + set want_out(regex) $opts(error) + } else { + set want_out(regex) $opts(warning) + } + } else { + set want_out(source) "file" + if { $opts(error_output) != "" } { + set want_out(file) $opts(error_output) + } else { + set want_out(file) $opts(warning_output) + } + } + } + + regsub "\n$" $comp_output "" comp_output + if { $cmdret != 0 || $comp_output != "" || $want_out(source) != "" } { + set exitstat "succeeded" + if { $cmdret != 0 } { set exitstat "failed" } + + if { $want_out(source) == "regex" } { + verbose -log "$exitstat with: <$comp_output>, expected: <$want_out(regex)>" + } elseif { $want_out(source) == "file" } { + verbose -log "$exitstat with: <$comp_output>, expected in file $want_out(file)" + set_file_contents "tmpdir/ld.messages" "$comp_output" + } else { + verbose -log "$exitstat with: <$comp_output>, no expected output" + } + + if { (($want_out(source) == "") == ($comp_output == "")) \ + && (($cmdret == 0) == ($want_out(terminal) == 0)) \ + && ((($want_out(source) == "regex") \ + && [regexp -- $want_out(regex) $comp_output]) \ + || (($want_out(source) == "file") \ + && (![regexp_diff "tmpdir/ld.messages" "$srcdir/$subdir/$want_out(file)"]))) } { + # We have the expected output. + if { $want_out(terminal) || $dumpprogram == "" } { + pass $testname + continue + } + } else { + fail $testname + continue + } + } + + # We must not have expected failure if we get here. + if { $opts(error) != "" } { + fail $testname + continue + } + + if { $opts(map) != "" } then { + # Check the map file matches. + set map_pattern_file $srcdir/$subdir/$opts(map) + verbose -log "Compare '$mapfile' against '$map_pattern_file'" + if { [regexp_diff $mapfile $map_pattern_file] } then { + fail "$testname (map file check)" + } else { + pass "$testname (map file check)" + } + + if { $dumpprogram == "" } then { + continue + } + } + + set progopts1 $opts($dumpprogram) + eval set progopts \$[string toupper $dumpprogram]FLAGS + eval set binary \$[string toupper $dumpprogram] + + if { ![is_remote host] && [which $binary] == 0 } { + untested $testname + continue + } + + # For objdump of gas output, automatically translate standard section names + set sect_names "" + if { !$run_ld && $dumpprogram == "objdump" \ + && $opts(section_subst) != "no" \ + && ![string match "*-b binary*" $progopts1] } { + set sect_names [get_standard_section_names] + if { $sect_names != ""} { + regsub -- "\\.text" $progopts1 "[lindex $sect_names 0]" progopts1 + regsub -- "\\.data" $progopts1 "[lindex $sect_names 1]" progopts1 + regsub -- "\\.bss" $progopts1 "[lindex $sect_names 2]" progopts1 + } + } + + if { $progopts1 == "" } { set $progopts1 "-r" } + verbose "running $binary $progopts $progopts1" 3 + + set cmd "$binary $progopts $progopts1 $objfile > $dumpfile" + + # Ensure consistent sorting of symbols + if {[info exists env(LC_ALL)]} { + set old_lc_all $env(LC_ALL) + } + set env(LC_ALL) "C" + send_log "$cmd\n" + set cmdret [remote_exec host [concat sh -c [list "$cmd 2>dump.tmp"]] "" "/dev/null"] + set cmdret [lindex $cmdret 0] + remote_upload host "dump.tmp" + set comp_output [prune_warnings [file_contents "dump.tmp"]] + remote_file host delete "dump.tmp" + remote_file build delete "dump.tmp" + if {[info exists old_lc_all]} { + set env(LC_ALL) $old_lc_all + } else { + unset env(LC_ALL) + } + if { $cmdret != 0 || $comp_output != "" } { + send_log "exited abnormally with $cmdret, output:$comp_output\n" + fail $testname + continue + } + + if { $verbose > 2 } then { verbose "output is [file_contents $dumpfile]" 3 } + + # Create the substition list for objdump output. + set regexp_subst "" + if { $sect_names != "" } { + set regexp_subst [list "\\\\?\\.text" [lindex $sect_names 0] \ + "\\\\?\\.data" [lindex $sect_names 1] \ + "\\\\?\\.bss" [lindex $sect_names 2] ] + } + + if { [regexp_diff $dumpfile "${dfile}" $regexp_subst] } then { + fail $testname + if { $verbose == 2 } then { verbose "output is [file_contents $dumpfile]" 2 } + continue + } + + pass $testname } - - set want_out(source) "" - set want_out(terminal) 0 - if { $err_warn } { - if { $opts(error) != "" || $opts(error_output) != "" } { - set want_out(terminal) 1 - } - - if { $opts(error) != "" || $opts(warning) != "" } { - set want_out(source) "regex" - if { $opts(error) != "" } { - set want_out(regex) $opts(error) - } else { - set want_out(regex) $opts(warning) - } - } else { - set want_out(source) "file" - if { $opts(error_output) != "" } { - set want_out(file) $opts(error_output) - } else { - set want_out(file) $opts(warning_output) - } - } - } - - regsub "\n$" $comp_output "" comp_output - if { $cmdret != 0 || $comp_output != "" || $want_out(source) != "" } { - set exitstat "succeeded" - if { $cmdret != 0 } { set exitstat "failed" } - - if { $want_out(source) == "regex" } { - verbose -log "$exitstat with: <$comp_output>, expected: <$want_out(regex)>" - } elseif { $want_out(source) == "file" } { - verbose -log "$exitstat with: <$comp_output>, expected in file $want_out(file)" - set_file_contents "tmpdir/ld.messages" "$comp_output" - } else { - verbose -log "$exitstat with: <$comp_output>, no expected output" - } - - if { (($want_out(source) == "") == ($comp_output == "")) \ - && (($cmdret == 0) == ($want_out(terminal) == 0)) \ - && ((($want_out(source) == "regex") \ - && [regexp -- $want_out(regex) $comp_output]) \ - || (($want_out(source) == "file") \ - && (![regexp_diff "tmpdir/ld.messages" "$srcdir/$subdir/$want_out(file)"]))) } { - # We have the expected output. - if { $want_out(terminal) || $dumpprogram == "" } { - pass $testname - return - } - } else { - fail $testname - return - } - } - - # We must not have expected failure if we get here. - if { $opts(error) != "" } { - fail $testname - return - } - - if { $opts(map) != "" } then { - # Check the map file matches. - set map_pattern_file $srcdir/$subdir/$opts(map) - verbose -log "Compare '$mapfile' against '$map_pattern_file'" - if { [regexp_diff $mapfile $map_pattern_file] } then { - fail "$testname (map file check)" - } else { - pass "$testname (map file check)" - } - - if { $dumpprogram == "" } then { - return - } - } - - set progopts1 $opts($dumpprogram) - eval set progopts \$[string toupper $dumpprogram]FLAGS - eval set binary \$[string toupper $dumpprogram] - - if { ![is_remote host] && [which $binary] == 0 } { - untested $testname - return - } - - # For objdump of gas output, automatically translate standard section names - set sect_names "" - if { !$run_ld && $dumpprogram == "objdump" \ - && $opts(section_subst) != "no" \ - && ![string match "*-b binary*" $progopts1] } { - set sect_names [get_standard_section_names] - if { $sect_names != ""} { - regsub -- "\\.text" $progopts1 "[lindex $sect_names 0]" progopts1 - regsub -- "\\.data" $progopts1 "[lindex $sect_names 1]" progopts1 - regsub -- "\\.bss" $progopts1 "[lindex $sect_names 2]" progopts1 - } - } - - if { $progopts1 == "" } { set $progopts1 "-r" } - verbose "running $binary $progopts $progopts1" 3 - - set cmd "$binary $progopts $progopts1 $objfile > $dumpfile" - - # Ensure consistent sorting of symbols - if {[info exists env(LC_ALL)]} { - set old_lc_all $env(LC_ALL) - } - set env(LC_ALL) "C" - send_log "$cmd\n" - set cmdret [remote_exec host [concat sh -c [list "$cmd 2>dump.tmp"]] "" "/dev/null"] - set cmdret [lindex $cmdret 0] - remote_upload host "dump.tmp" - set comp_output [prune_warnings [file_contents "dump.tmp"]] - remote_file host delete "dump.tmp" - remote_file build delete "dump.tmp" - if {[info exists old_lc_all]} { - set env(LC_ALL) $old_lc_all - } else { - unset env(LC_ALL) - } - if { $cmdret != 0 || $comp_output != "" } { - send_log "exited abnormally with $cmdret, output:$comp_output\n" - fail $testname - return - } - - if { $verbose > 2 } then { verbose "output is [file_contents $dumpfile]" 3 } - - # Create the substition list for objdump output. - set regexp_subst "" - if { $sect_names != "" } { - set regexp_subst [list "\\\\?\\.text" [lindex $sect_names 0] \ - "\\\\?\\.data" [lindex $sect_names 1] \ - "\\\\?\\.bss" [lindex $sect_names 2] ] - } - - if { [regexp_diff $dumpfile "${dfile}" $regexp_subst] } then { - fail $testname - if { $verbose == 2 } then { verbose "output is [file_contents $dumpfile]" 2 } - return - } - - pass $testname } proc slurp_options { file } { diff --git a/gas/testsuite/gas/aarch64/dotproduct.d b/gas/testsuite/gas/aarch64/dotproduct.d index 54ac62be634890f57d6c1d84d57db42629359ca9..fd2f0ebf4c66de3e9bd3e831c8cb9828cae932aa 100644 --- a/gas/testsuite/gas/aarch64/dotproduct.d +++ b/gas/testsuite/gas/aarch64/dotproduct.d @@ -1,4 +1,5 @@ #as: -march=armv8.2-a+dotprod +#as: -march=armv8.4-a #objdump: -dr .*: file format .* diff --git a/gas/testsuite/gas/aarch64/dotproduct_armv8_4.d b/gas/testsuite/gas/aarch64/dotproduct_armv8_4.d deleted file mode 100644 index 121eb11bb40a12b57ebf1f52beaeade1bdb29e16..0000000000000000000000000000000000000000 --- a/gas/testsuite/gas/aarch64/dotproduct_armv8_4.d +++ /dev/null @@ -1,10 +0,0 @@ -#as: -march=armv8.4-a -#objdump: -dr - -.*: file format .* - -Disassembly of section \.text: - -0+ <.*>: -[^:]+:\s+2e809400 udot v0.2s, v0.8b, v0.8b -[^:]+:\s+2e8b9400 udot v0.2s, v0.8b, v11.8b diff --git a/gas/testsuite/gas/aarch64/dotproduct_armv8_4.s b/gas/testsuite/gas/aarch64/dotproduct_armv8_4.s deleted file mode 100644 index 37538d9bb8270832a003a27e89e3f2d0e6ab44c0..0000000000000000000000000000000000000000 --- a/gas/testsuite/gas/aarch64/dotproduct_armv8_4.s +++ /dev/null @@ -1,2 +0,0 @@ -UDOT V0.2S, V0.8B, V0.8B -UDOT V0.2S, V0.8B, V11.8B diff --git a/gas/testsuite/gas/aarch64/illegal-dotproduct.d b/gas/testsuite/gas/aarch64/illegal-dotproduct.d index 3f8928da83bb64891528cf5860236f4b73c184b8..0e15b9fbed4f90dd9d68c1923f73239e73dcde20 100644 --- a/gas/testsuite/gas/aarch64/illegal-dotproduct.d +++ b/gas/testsuite/gas/aarch64/illegal-dotproduct.d @@ -1,4 +1,5 @@ #as: -march=armv8.2-a+dotprod +#as: -march=armv8.4-a #name: Invalid dotproduct instructions. #source: illegal-dotproduct.s #error_output: illegal-dotproduct.l diff --git a/gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d b/gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d deleted file mode 100644 index ac8938fc086c6d55170d1de2900420fbe70881d3..0000000000000000000000000000000000000000 --- a/gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d +++ /dev/null @@ -1,21 +0,0 @@ -#objdump: -dr -#as: -march=armv8.2-a+rcpc -#source: ldst-rcpc.s - -.*: file format .* - -Disassembly of section \.text: - -0+ <.*>: - 0: 38bfc0e1 ldaprb w1, \[x7\] - 4: 38bfc0e1 ldaprb w1, \[x7\] - 8: 38bfc0e1 ldaprb w1, \[x7\] - c: 78bfc0e1 ldaprh w1, \[x7\] - 10: 78bfc0e1 ldaprh w1, \[x7\] - 14: 78bfc0e1 ldaprh w1, \[x7\] - 18: b8bfc0e1 ldapr w1, \[x7\] - 1c: b8bfc0e1 ldapr w1, \[x7\] - 20: b8bfc0e1 ldapr w1, \[x7\] - 24: f8bfc0e1 ldapr x1, \[x7\] - 28: f8bfc0e1 ldapr x1, \[x7\] - 2c: f8bfc0e1 ldapr x1, \[x7\] diff --git a/gas/testsuite/gas/aarch64/ldst-rcpc.d b/gas/testsuite/gas/aarch64/ldst-rcpc.d index 73a0c9f6960126b7cf04f84aaaa4d6ecb4933bc7..f9e951bdcb49ce1e7e1be57f37cf0e1938a2fc8a 100644 --- a/gas/testsuite/gas/aarch64/ldst-rcpc.d +++ b/gas/testsuite/gas/aarch64/ldst-rcpc.d @@ -1,5 +1,7 @@ #objdump: -dr #as: -march=armv8.3-a +#as: -march=armv8.2-a+rcpc +#source: ldst-rcpc.s .*: file format .*