hppa.s
Things-to-lose:
-
+sh3.exp
+sh3.mt
+sh3.s
# The lines between the "Do-last:" line and the end of the file
# are executed as a /bin/sh shell script after everything else is
# done.
Do-last:
+
+sh3e_files="configure.in"
+if ( echo $* | grep keep\-sh3e > /dev/null ) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping sh3e stuff in $sh3e_files.
+ fi
+else
+ if [ -n "${verbose}" ]; then
+ echo -n Cleaning sh3e in `pwd`:
+ fi
+ for f in $sh3e_files ; do
+ if [ -n "${verbose}" ] ; then
+ echo -n " " $f
+ fi
+ sed -e '/start\-sanitize\-sh3e/,/end\-sanitize\-sh3e/d' -e '/ xl /d' < $f > new
+ if [ -n "${safe}" ] ; then
+ mv $f .Recover
+ fi
+ mv new $f
+ done
+fi
+
# eof
--- /dev/null
+# Copyright (C) 1992 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# This file was written by Jeff Law. (law@cs.utah.edu)
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+set prms_id 0
+set bug_id 0
+
+set binfile "sh3"
+set srcfile $binfile.s
+
+proc all_fp_move_and_load_tests { } {
+ global prompt
+ global hex
+ global decimal
+
+ send "x/9i fp_move_and_load_tests\n"
+ expect {
+ -re "
+.*fmov.s\t@r0,fr0.*
+.*fmov.s\tfr0,@r0.*
+.*fmov.s\t@r0\\+,fr0.*
+.*fmov.s\tfr0,@-r0.*
+.*fmov.s\t@\\(r0,r0\\),fr0.*
+.*fmov.s\tfr0,@\\(r0,r0\\).*
+.*fmov\tfr0,fr1.*
+.*fldi0\tfr0.*
+.*fldi1\tfr0.*
+.*$prompt $" { pass "fp_move_and_load_tests" }
+ -re "$prompt $" { fail "fp_move_and_load_tests" }
+ timeout { fail "(timeout) fp_move_and_load_tests" }
+ }
+}
+
+proc all_fp_arithmetic_tests { } {
+ global prompt
+ global hex
+ global decimal
+
+ send "x/13i fp_arithmetic_tests\n"
+ expect {
+ -re "
+.*fadd\tfr0,fr1.*
+.*fsub\tfr0,fr1.*
+.*fmul\tfr0,fr1.*
+.*fdiv\tfr0,fr1.*
+.*fmac\tfr0,fr1.*
+.*fcmp/eq\tfr0,fr1.*
+.*fcmp/gt\tfr0,fr1.*
+.*ftst/nan\tfr0.*
+.*fneg\tfr0.*
+.*fabs\tfr0.*
+.*fsqrt\tfr0.*
+.*float\tfpul,fr0.*
+.*ftrc\tfr0,fpul.*
+.*$prompt $" { pass "fp_arithmetic_tests" }
+ -re "$prompt $" { fail "fp_arithmetic_tests" }
+ timeout { fail "(timeout) fp_arithmetic_tests" }
+ }
+}
+
+proc all_fp_misc_tests { } {
+ global prompt
+ global hex
+ global decimal
+
+ send "x/10i fp_misc_tests\n"
+ expect {
+ -re "
+.*fsts\tfpul,fr0.*
+.*flds\tfr0,fpul.*
+.*lds\tr3,fpul.*
+.*lds\\.l\t@r3\\+,fpul.*
+.*lds\tr3,fpscr.*
+.*lds\\.l\t@r3\\+,fpscr.*
+.*sts\tfpul,r3.*
+.*sts\\.l\tfpul,@-r3.*
+.*sts\tfpscr,r3.*
+.*sts\\.l\tfpscr,@-r3.*
+.*$prompt $" { pass "fp_misc_tests" }
+ -re "$prompt $" { fail "fp_misc_tests" }
+ timeout { fail "(timeout) fp_misc_tests" }
+ }
+}
+
+if ![file exists $objdir/$subdir/$binfile] then {
+ if $all_flag then {
+ warning "$objdir/$subdir/$binfile does not exist; tests suppressed"
+ }
+} else {
+ # Start with a fresh gdb.
+
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_load $objdir/$subdir/$binfile
+
+ all_fp_move_and_load_tests
+ all_fp_arithmetic_tests
+
+ # SH3E V1.6 manual doesn't have the right bit patterns for some of
+ # the new insns, so we don't know how to assemble them correctly.
+ setup_xfail "sh*-*-*"
+ all_fp_misc_tests
+}