aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1998-04-30 10:56:49 +0000
committerAndrew Cagney <cagney@redhat.com>1998-04-30 10:56:49 +0000
commitad14e4d1766fd89388ae55f9a02780a494e8f878 (patch)
treee3b1fe58776410edc2460200ea373542dff0cef7
parente7439596fca23301f7dac9823a00f5a305529b80 (diff)
downloadgdb-ad14e4d1766fd89388ae55f9a02780a494e8f878.zip
gdb-ad14e4d1766fd89388ae55f9a02780a494e8f878.tar.gz
gdb-ad14e4d1766fd89388ae55f9a02780a494e8f878.tar.bz2
For multiply->add, loose underflow status, overflow when acc is
to-the-max, product can overflow result.
-rw-r--r--sim/testsuite/mips64r5900-elf/f-adda.s40
1 files changed, 40 insertions, 0 deletions
diff --git a/sim/testsuite/mips64r5900-elf/f-adda.s b/sim/testsuite/mips64r5900-elf/f-adda.s
new file mode 100644
index 0000000..ecffa1a
--- /dev/null
+++ b/sim/testsuite/mips64r5900-elf/f-adda.s
@@ -0,0 +1,40 @@
+.include "t-macros.i"
+
+ start
+
+test_adda1:
+ clearfcsr
+ loadfp $f1 4.0
+ loadfp $f2 0.1
+ adda.s $f1, $f2
+ checkacc 0 4.1
+
+test_add2:
+ clearfcsr
+ loadfp $f1 , -4.0
+ loadfp $f2 8.0
+ adda.s $f2, $f1
+ checkacc 0 4.0
+
+test_add3:
+ clearfcsr
+ loadfpmax $f1
+ loadfpmax $f2
+ adda.s $f2, $f1
+ checkaccmax FCSR_O
+
+test_add4:
+ clearfcsr
+ loadfpmax $f1
+ neg.s $f1, $f1
+ loadfpmax $f2
+ neg.s $f2, $f2
+ adda.s $f1, $f2
+ checkfcsr FCSR_O
+ clearfcsr
+ msub.s $f3, $f0, $f0
+ neg.s $f3, $f3
+ clearfcsr
+ checkfpmax 0 $f3
+
+ exit0