* gdb.disasm/sh3.s: Source for sh3 disassembler tests.

* gdb.disasm/sh3.exp: Run the sh3 disassembler tests.
	* gdb.disasm/configure.in (sh-*-*): Use sh3.mt makefile fragment.
	* gdb.disasm/sh3.mt: Makefile fragment for sh3 ests.

sh3e disassembler tests.  Sanitized out for now.
This commit is contained in:
Jeff Law 1995-08-07 08:48:22 +00:00
parent 1ca31557f5
commit 98395eafc9
7 changed files with 241 additions and 1 deletions

View File

@ -45,5 +45,25 @@ Things-to-lose:
# done.
Do-last:
sh3e_files="ChangeLog"
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

View File

@ -1,3 +1,12 @@
start-sanitize-sh3e
Mon Aug 7 02:43:28 1995 Jeff Law (law@snake.cs.utah.edu)
* gdb.disasm/sh3.s: Source for sh3 disassembler tests.
* gdb.disasm/sh3.exp: Run the sh3 disassembler tests.
* gdb.disasm/configure.in (sh-*-*): Use sh3.mt makefile fragment.
* gdb.disasm/sh3.mt: Makefile fragment for sh3 ests.
end-sanitize-sh3e
Sun Aug 6 16:52:29 1995 Fred Fish <fnf@cygnus.com>
* gdb.base/corefile.exp: Change xfail for backtrace in

View File

@ -30,11 +30,35 @@ hppa.mt
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

View File

@ -13,5 +13,8 @@ srcname="gdb.disasm"
case "${target}" in
hppa*-*-*) target_makefile_frag=hppa.mt ;;
# start-sanitize-sh3e
sh*-*-*) target_makefile_frag=sh3.mt ;;
# end-sanitize-sh3e
esac

View File

@ -0,0 +1,125 @@
# 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
}

View File

@ -0,0 +1,5 @@
EXECUTABLES = sh3
sh3: sh3.s
$(CC) -c $(srcdir)/sh3.s
$(CC) -o sh3 sh3.o

View File

@ -0,0 +1,54 @@
.file "test.c"
.data
! Hitachi SH cc1 (cygnus-2.7.1-950728) arguments: -O -fpeephole
! -ffunction-cse -freg-struct-return -fdelayed-branch -fcommon -fgnu-linker
gcc2_compiled.:
___gnu_compiled_c:
.text
.align 2
.global _fp_move_and_load_tests
.global _fp_arithmetic_tests
.global _fp_misc_tests
.global _main
_main:
_fp_move_and_load_tests:
fmov.s @r0,fr0
fmov.s fr0,@r0
fmov.s @r0+,fr0
fmov.s fr0,@-r0
fmov.s @(r0,r0),fr0
fmov.s fr0,@(r0,r0)
fmov fr0,fr1
fldi0 fr0
fldi1 fr0
_fp_arithmetic_tests:
fadd fr0,fr1
fsub fr0,fr1
fmul fr0,fr1
fdiv fr0,fr1
fmac fr0,fr1
fcmp/eq fr0,fr1
fcmp/gt fr0,fr1
ftst/nan fr0
fneg fr0
fabs fr0
fsqrt fr0
float fpul,fr0
ftrc fr0,fpul
_fp_misc_tests:
fsts fpul,fr0
flds fr0,fpul
lds r3,fpul
lds.l @r3+,fpul
lds r3,fpscr
lds.l @r3+,fpscr
sts fpul,r3
sts.l fpul,@-r3
sts fpscr,r3
sts.l fpscr,@-r3