* 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:
parent
1ca31557f5
commit
98395eafc9
|
@ -45,5 +45,25 @@ Things-to-lose:
|
||||||
# done.
|
# done.
|
||||||
|
|
||||||
Do-last:
|
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
|
# eof
|
||||||
|
|
|
@ -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>
|
Sun Aug 6 16:52:29 1995 Fred Fish <fnf@cygnus.com>
|
||||||
|
|
||||||
* gdb.base/corefile.exp: Change xfail for backtrace in
|
* gdb.base/corefile.exp: Change xfail for backtrace in
|
||||||
|
|
|
@ -30,11 +30,35 @@ hppa.mt
|
||||||
hppa.s
|
hppa.s
|
||||||
|
|
||||||
Things-to-lose:
|
Things-to-lose:
|
||||||
|
sh3.exp
|
||||||
|
sh3.mt
|
||||||
|
sh3.s
|
||||||
|
|
||||||
# The lines between the "Do-last:" line and the end of the file
|
# 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
|
# are executed as a /bin/sh shell script after everything else is
|
||||||
# done.
|
# done.
|
||||||
|
|
||||||
Do-last:
|
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
|
# eof
|
||||||
|
|
|
@ -13,5 +13,8 @@ srcname="gdb.disasm"
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
|
|
||||||
hppa*-*-*) target_makefile_frag=hppa.mt ;;
|
hppa*-*-*) target_makefile_frag=hppa.mt ;;
|
||||||
|
# start-sanitize-sh3e
|
||||||
|
sh*-*-*) target_makefile_frag=sh3.mt ;;
|
||||||
|
# end-sanitize-sh3e
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
EXECUTABLES = sh3
|
||||||
|
sh3: sh3.s
|
||||||
|
$(CC) -c $(srcdir)/sh3.s
|
||||||
|
$(CC) -o sh3 sh3.o
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue