+Mon Sep 1 16:48:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * configure.in (testdir): When a testsuite directory, add that to
+ the list of confdirs.
+
Tue Aug 19 11:17:46 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure.in (extra_subdirs): Enable igen ready for V850.
d30v-*-*)
sim_target=d30v
only_if_gcc=yes
- extra_subdirs="${extra_subdirs} igen testsuite"
+ extra_subdirs="${extra_subdirs} igen"
;;
# end-sanitize-d30v
h8300*-*-*) sim_target=h8300 ;;
v850eq-*-*)
# The V850 simulator can only be compiled by gcc.
sim_target=v850
- extra_subdirs="${extra_subdirs} igen"
only_if_gcc=yes
;;
# end-sanitize-v850eq
*) sim_target=none ;;
esac
+
+# Is there a testsuite directory for the target?
+testdir=`echo ${target} | sed -e 's/-.*-/-/'`
+if test -r ${srcdir}/testsuite/${testdir}/configure ; then
+ extra_subdirs="${extra_subdirs} testsuite"
+fi
+
+
case "${enable_sim}" in
no) sim_target=none ;;
yes)
d30v-*-*)
sim_target=d30v
only_if_gcc=yes
- extra_subdirs="${extra_subdirs} igen testsuite"
+ extra_subdirs="${extra_subdirs} igen"
;;
# end-sanitize-d30v
h8300*-*-*) sim_target=h8300 ;;
*) sim_target=none ;;
esac
+
+# Is there a testsuite directory for the target?
+testdir=`echo ${target} | sed -e 's/-.*-/-/'`
+if test -r ${srcdir}/testsuite/${testdir}/configure ; then
+ extra_subdirs="${extra_subdirs} testsuite"
+fi
+
+
case "${enable_sim}" in
no) sim_target=none ;;
yes)
+start-sanitize-r5900
+Mon Sep 1 18:43:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * gencode.c (build_instruction): For "pabsw" and "pabsh", check
+ for overflow due to ABS of MININT, set result to MAXINT.
+ (build_instruction): For "psrlvw", signextend bit 31.
+
+end-sanitize-r5900
Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
break;
case PSRLVW:
- printf("GPR_UD(destreg,0) = RT_UW(0) >> (RS_UB(0) & 0x1F);\n");
- printf("GPR_UD(destreg,1) = RT_UW(2) >> (RS_UB(8) & 0x1F);\n");
+ printf("GPR_UD(destreg,0) = SIGNEXTEND ( RT_UW(0) >> (RS_UB(0) & 0x1F), 31);\n");
+ printf("GPR_UD(destreg,1) = SIGNEXTEND ( RT_UW(2) >> (RS_UB(8) & 0x1F), 31);\n");
break;
case PSRAVW:
{
char* name = name_for_data_len( insn );
char* letter = letter_for_data_len( insn );
+ char* min = min_for_data_len( insn );
+ char* max = max_for_data_len( insn );
printf("int i;\n");
printf("for(i=0;i<%sS_IN_MMI_REGS;i++)\n", name );
printf(" {\n");
- printf(" if (RT_S%s(i) < 0)\n", letter );
- printf(" GPR_S%s(destreg,i) = -RT_S%s(i);\n", letter, letter );
- printf(" else\n");
+ printf(" if (RT_S%s(i) >= 0)\n", letter );
printf(" GPR_S%s(destreg,i) = RT_S%s(i);\n", letter, letter );
+ printf(" else if (RT_S%s(i) == %s)\n", letter, min );
+ printf(" GPR_S%s(destreg,i) = %s;\n", letter, max );
+ printf(" else\n");
+ printf(" GPR_S%s(destreg,i) = -RT_S%s(i);\n", letter, letter );
printf(" }\n");
break;
}
--- /dev/null
+Mon Sep 1 16:43:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * configure.in (configdirs): Test for the target directory instead
+ of matching on a target.
+
+end-sanitize-r5900
+Tue Jul 15 13:43:20 1997 Andrew Cagney <cagney@sendai.cygnus.com>
+
+ * configure.in (configdirs): Configure mipsr5900rv5900el
+ directory.
+ * configure: Regenerate.
+
+start-sanitize-r5900
dnl any existing configure script.
AC_PREREQ(2.5)
-dnl FIXME - think of a truly uniq file to this directory
-AC_INIT(d30v-elf)
+AC_INIT(common/bits-tst.c)
CC=${CC-cc}
AC_SUBST(CC)
# Directories to use in all configurations.
configdirs=""
-
# add test sub-directory for appropriate targets
-case "${target}" in
-# start-sanitize-d30v
- d30v-*-elf) configdirs="${configdirs} d30v-elf" ;;
-# end-sanitize-d30v
-# start-sanitize-r5900
- mips64vr5900el-*-elf) configdirs="${configdirs} mips64vr5900el-elf" ;;
-# end-sanitize-r5900
- *) ;;
-esac
+testdir=`echo ${target} | sed -e 's/-.*-/-/'`
+if test -r ${srcdir}/${testdir}/configure ; then
+ configdirs="${configdirs} $testdir"
+fi
# configure the subdirectories too
AC_CONFIG_SUBDIRS($configdirs)
hello.s
loop.s
t-macros.i
+
+t-mtsa.s
+t-pabsh.s
+t-pabsw.s
t-paddb.s
t-paddsb.s
t-paddsh.s
t-prot3w.s
t-psllvw.s
t-psravw.s
+t-psrlvw.s
t-psubsb.s
t-psubsh.s
t-psubsw.s
t-psubuw.s
t-psubw.s
t-qfsrv.s
+
tick.s
Things-to-lose:
+Mon Sep 1 16:58:13 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * Makefile.in (TESTS): Add t-psrlvw, t-pabsh, t-pabsw.
+ (.s.o, .o.tx59): Add -Ttext 0xa002000, to ld. Add -I <srcdir> to
+ as.
+
+ t-psrlvw.s, t-pabsh, t-pabsw: New files.
+
Tue Jul 29 10:56:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
* t-mtsa.s: Check move/from SA instructions.
fi`
RUN_FOR_TARGET = `\
- if [ -x ../../../sim/${target_cpu}/run ]; then \
- echo ../../../sim/${target_cpu}/run ; \
+ if [ -x ../../../sim/mips/run ]; then \
+ echo ../../../sim/mips/run ; \
else \
echo $(target_alias)-run ; \
fi`
exit47.ko \
\
t-mtsa.ok \
+ t-pabsh.ok \
+ t-pabsw.ok \
t-paddb.ok \
t-paddsb.ok \
t-paddsh.ok \
t-ppacw.ok \
t-prot3w.ok \
t-psllvw.ok \
+ t-psrlvw.ok \
t-psravw.ok \
t-psubsb.ok \
t-psubsh.ok \
# Rules for running the tests
-.SUFFIXES: .u .ok .tx59 .hi .ko
+.SUFFIXES: .u .uue .ok .ok .tx59 .hi .ko .ko
.tx59.ok:
rm -f tmp-$* $*.hi
ulimit -t 5 ; $(RUN_FOR_TARGET) $*.tx59 > tmp-$*
# Rules for building all the tests and packing them into
# uuencoded files.
-
-.SUFFIXES: .u .S .tx59
-.S.u:
- rm -f $*.o $*.tx59
- $(AS_FOR_TARGET) $(srcdir)/$*.S -o $*.o
- $(LD_FOR_TARGET) -o $* $*.o
- uuencode < $* $* > $*.u
- rm -f $*.o $*
-.S.tx59:
- rm -f $*.o $*.tx59
- $(AS_FOR_TARGET) $(srcdir)/$*.S -o $*.o
- $(LD_FOR_TARGET) -o $*.tx59 $*.o
- rm -f $*.o $*
-
+.tx59.u:
+ uuencode < $*.tx59 $*.tx59 > $*.u
+ @echo "Move $*.u $*.uue"
+.uue.tx59:
+ uudecode $(srcdir)/$*.uue
+.o.tx59:
+ $(LD_FOR_TARGET) -Ttext 0xa0020000 -o $*.tx59 $*.o
+.s.o:
+ $(AS_FOR_TARGET) -I $(srcdir) $(srcdir)/$*.s -o $*.o
#
.endm
.macro start
+ .text
.globl _start
.set noreorder
_start:
--- /dev/null
+.include "t-macros.i"
+
+ start
+
+ load $8 0x8000800080008000 0xffffffffffffffff
+test_pabsh:
+ pabsh $10, $8
+ check10 0x7fff7fff7fff7fff 0x0001000100010001
+
+ exit0
--- /dev/null
+.include "t-macros.i"
+
+ start
+
+ load $8 0x8000000080000000 0xffffffffffffffff
+test_pabsw:
+ pabsw $10, $8
+ check10 0x7fffffff7fffffff 0x0000000100000001
+
+ exit0
--- /dev/null
+.include "t-macros.i"
+
+ start
+
+ load $8 0x00ff0000ffff0000 0x0000ffffffff0000
+ load $9 0x00ff0000ffff0000 0x0000ffffffff0000
+test_psrlvw:
+ psrlvw $10,$8,$9 #Expectation:
+ check10 0xffffffffffff0000 0xffffffffffff0000
+
+ exit0