aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/mips64r5900-elf/f-rsqrt.s
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/mips64r5900-elf/f-rsqrt.s')
-rw-r--r--sim/testsuite/mips64r5900-elf/f-rsqrt.s179
1 files changed, 0 insertions, 179 deletions
diff --git a/sim/testsuite/mips64r5900-elf/f-rsqrt.s b/sim/testsuite/mips64r5900-elf/f-rsqrt.s
deleted file mode 100644
index feb3454..0000000
--- a/sim/testsuite/mips64r5900-elf/f-rsqrt.s
+++ /dev/null
@@ -1,179 +0,0 @@
-.include "t-macros.i"
-
- start
-
- ### $f3 = $f2 / sqrt ($f1)
-
-test_rsqrt:
- loadfp $f1 4.0
- loadfp $f2 1.0
- rsqrt.s $f3, $f2, $f1
- checkfp 0 $f3 0.5
-
- ################
-
-
-## +1.0 / sqrt (+0.0)
-## -> 0x7fffffff (+Max) D+SD
-test_rsqrt_1:
- clearfcsr
- loadfp $f1, +1.0
- loadfp $f2, +0.0
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00010021 $f3 0x7fffffff
-
-
-## -1.0 / sqrt (+0.0)
-## -> 0xffffffff (-Max) D+SD
-test_rsqrt_2:
- clearfcsr
- loadfp $f1, -1.0
- loadfp $f2, +0.0
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00010021 $f3 0xffffffff
-
-
-## 0 / sqrt (-0)
-##and 0 / sqrt (0)
-## ->0x7fffffff I + SI
-test_rsqrt_3a:
- clearfcsr
- loadfp $f1, +0.0
- loadfp $f2, -0.0
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0x7fffffff
-
-test_rsqrt_3b:
- clearfcsr
- loadfp $f1, +0.0
- loadfp $f2, +0.0
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0x7fffffff
-
-
-## Correctly:
-## (-0) / sqrt (-0)
-## ->FFFFFFFF (I + SI)
-test_rsqrt_4a:
- clearfcsr
- loadfp $f1, -0.0
- loadfp $f2, -0.0
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0xffffffff
-
-test_rsqrt_4b:
- clearfcsr
- loadfp $f1, -0.0
- loadfp $f2, +0.0
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0xffffffff
-
-
-## (max) / sqrt (min*2) -> no O+SO
-##
-test_rsqrt_5aa:
- clearfcsr
- loadfpx $f1, 0x7fffffff
- loadfpx $f2, 0x00800001
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00000001 $f3 0x7fffffff
-
-test_rsqrt_5ab:
- clearfcsr
- loadfpx $f1, 0x7fffffff
- loadfpx $f2, 0x80800001
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0x7fffffff
-
-test_rsqrt_5ba:
- clearfcsr
- loadfpx $f1, 0xffffffff
- loadfpx $f2, 0x00800001
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00000001 $f3 0xffffffff
-
-test_rsqrt_5bb:
- clearfcsr
- loadfpx $f1, 0xffffffff
- loadfpx $f2, 0x80800001
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0xffffffff
-
-
-## (max) / sqrt (min*2) -> no U+SU
-##
-test_rsqrt_6aa:
- clearfcsr
- loadfpx $f1, 0x00800001
- loadfpx $f2, 0x7fffffff
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00000001 $f3 0x00000000
-
-test_rsqrt_6ab:
- clearfcsr
- loadfpx $f1, 0x00800001
- loadfpx $f2, 0xffffffff
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0x00000000
-
-test_rsqrt_6ba:
- clearfcsr
- loadfpx $f1, 0x80800001
- loadfpx $f2, 0x7fffffff
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00000001 $f3 0x80000000
-
-test_rsqrt_6bb:
- clearfcsr
- loadfpx $f1, 0x80800001
- loadfpx $f2, 0xffffffff
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020041 $f3 0x80000000
-
-
-## Correctly:
-## (max/min) / sqrt ([+-]0)
-## ->MAX/MIN (D + SD)
-test_rsqrt_7aa:
- clearfcsr
- loadfpx $f1, 0x7fffffff
- loadfpx $f2, 0x00000000
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00010021 $f3 0x7fffffff
-
-test_rsqrt_7ab:
- clearfcsr
- loadfpx $f1, 0x7fffffff
- loadfpx $f2, 0x80000000
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00010021 $f3 0x7fffffff
-
-test_rsqrt_7ba:
- clearfcsr
- loadfpx $f1, 0xffffffff
- loadfpx $f2, 0x00000000
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00010021 $f3 0xffffffff
-
-test_rsqrt_7bb:
- clearfcsr
- loadfpx $f1, 0xffffffff
- loadfpx $f2, 0x80000000
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00010021 $f3 0xffffffff
-
-
-## Like max/sqrt but check that bits are set/cleared
-##
-test_rsqrt_9aa:
- clearfcsr
- loadfpx $f1, 0x7fffffff
- loadfpx $f2, 0x00000000
- rsqrt.s $f3, $f1, $f2
- loadfpx $f1, 0x00800001
- loadfpx $f2, 0xffffffff
- rsqrt.s $f3, $f1, $f2
- checkfpx 1 0x00020061 $f3 0x00000000
-
-
- exit0