|
From: <sv...@va...> - 2014-02-19 11:57:34
|
Author: dejanj
Date: Wed Feb 19 11:57:22 2014
New Revision: 13817
Log:
mips32: Support for 64bit FPU on MIPS32 platforms.
Tests for 64bit FPU instructions on MIPS32 platforms.
Some mips instructions can cause SIGILL (Illegal instruction),
so we need to add SIGILL signal and a proper handler for that signal.
Added:
trunk/none/tests/mips32/round_fpu64.c
trunk/none/tests/mips32/round_fpu64.stderr.exp
trunk/none/tests/mips32/round_fpu64.stdout.exp
trunk/none/tests/mips32/round_fpu64.stdout.exp-fpu32
trunk/none/tests/mips32/round_fpu64.vgtest
Modified:
trunk/NEWS
trunk/coregrind/m_machine.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/none/tests/mips32/ (props changed)
trunk/none/tests/mips32/Makefile.am
trunk/none/tests/mips32/MoveIns.c
trunk/none/tests/mips32/round.c
trunk/none/tests/mips32/round.stdout.exp
trunk/none/tests/mips32/test_fcsr.c
trunk/none/tests/mips32/vfp.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed Feb 19 11:57:22 2014
@@ -5,6 +5,7 @@
* ================== PLATFORM CHANGES =================
* Support for Android on MIPS32.
+* Support for 64bit FPU on MIPS32 platforms.
* ==================== TOOL CHANGES ====================
Modified: trunk/coregrind/m_machine.c
==============================================================================
--- trunk/coregrind/m_machine.c (original)
+++ trunk/coregrind/m_machine.c Wed Feb 19 11:57:22 2014
@@ -1459,6 +1459,8 @@
#elif defined(VGA_mips32)
{
+ /* Define the position of F64 bit in FIR register. */
+# define FP64 22
va = VexArchMIPS32;
UInt model = VG_(get_machine_model)();
if (model == -1)
@@ -1521,6 +1523,16 @@
}
}
+ /* Check if CPU has FPU and 32 dbl. prec. FP registers */
+ int FIR = 0;
+ __asm__ __volatile__(
+ "cfc1 %0, $0" "\n\t"
+ : "=r" (FIR)
+ );
+ if (FIR & (1 << FP64)) {
+ vai.hwcaps |= VEX_PRID_CPU_32FPR;
+ }
+
VG_(convert_sigaction_fromK_to_toK)(&saved_sigill_act, &tmp_sigill_act);
VG_(sigaction)(VKI_SIGILL, &tmp_sigill_act, NULL);
VG_(sigprocmask)(VKI_SIG_SETMASK, &saved_set, NULL);
Modified: trunk/coregrind/m_scheduler/scheduler.c
==============================================================================
--- trunk/coregrind/m_scheduler/scheduler.c (original)
+++ trunk/coregrind/m_scheduler/scheduler.c Wed Feb 19 11:57:22 2014
@@ -200,6 +200,7 @@
switch (event) {
case VEX_TRC_JMP_TINVAL: return "TINVAL";
case VEX_TRC_JMP_NOREDIR: return "NOREDIR";
+ case VEX_TRC_JMP_SIGILL: return "SIGILL";
case VEX_TRC_JMP_SIGTRAP: return "SIGTRAP";
case VEX_TRC_JMP_SIGSEGV: return "SIGSEGV";
case VEX_TRC_JMP_SIGBUS: return "SIGBUS";
@@ -1434,6 +1435,10 @@
break;
}
+ case VEX_TRC_JMP_SIGILL:
+ VG_(synth_sigill)(tid, VG_(get_IP)(tid));
+ break;
+
case VEX_TRC_JMP_SIGTRAP:
VG_(synth_sigtrap)(tid);
break;
Modified: trunk/none/tests/mips32/Makefile.am
==============================================================================
--- trunk/none/tests/mips32/Makefile.am (original)
+++ trunk/none/tests/mips32/Makefile.am Wed Feb 19 11:57:22 2014
@@ -31,7 +31,9 @@
unaligned_load_store.stdout.exp-LE unaligned_load_store.stdout.exp-BE \
unaligned_load_store.stderr.exp unaligned_load_store.vgtest \
test_fcsr.stdout.exp test_fcsr.stderr.exp test_fcsr.vgtest \
- test_math.stdout.exp test_math.stderr.exp test_math.vgtest
+ test_math.stdout.exp test_math.stderr.exp test_math.vgtest \
+ round_fpu64.stdout.exp round_fpu64.stdout.exp-fpu32 \
+ round_fpu64.stderr.exp round_fpu64.vgtest
check_PROGRAMS = \
allexec \
@@ -51,7 +53,8 @@
mips32_dspr2 \
unaligned_load_store \
test_fcsr \
- test_math
+ test_math \
+ round_fpu64
AM_CFLAGS += @FLAG_M32@
AM_CXXFLAGS += @FLAG_M32@
Modified: trunk/none/tests/mips32/MoveIns.c
==============================================================================
--- trunk/none/tests/mips32/MoveIns.c (original)
+++ trunk/none/tests/mips32/MoveIns.c Wed Feb 19 11:57:22 2014
@@ -181,6 +181,32 @@
}
// movf.d fd, fs
+#if (__mips_fpr==64)
+#define TESTINSNMOVE2d(instruction, FD, FS, cc, offset) \
+{ \
+ double out; \
+ int out1; \
+ int out2; \
+ __asm__ volatile( \
+ "li $t0, 1\n\t" \
+ "mtc1 $t0, $f0\n\t" \
+ "mtc1 %3, $f2\n\t" \
+ "move $t0, %4\n\t" \
+ "ldc1 $f4, 8($t0)\n\t" \
+ "c.eq.s $f0, $f2\n\t" \
+ "ldc1 $" #FS ", "#offset"($t0)\n\t" \
+ instruction "\n\t" \
+ "mov.d %0, $" #FD"\n\t" \
+ "mfc1 %1, $f4\n\t" \
+ "mfhc1 %2, $f4\n\t" \
+ : "=&f" (out), "=&r" (out1), "=&r" (out2) \
+ : "r" (cc), "r" (mem) \
+ : "t0", "t1", "cc", "memory" \
+ ); \
+ printf("%s :: out: 0x%x 0x%x, cc: %d\n", \
+ instruction, out1, out2, cc); \
+}
+#else
#define TESTINSNMOVE2d(instruction, FD, FS, cc, offset) \
{ \
double out; \
@@ -206,6 +232,7 @@
printf("%s :: out: 0x%x 0x%x, cc: %d\n", \
instruction, out1, out2, cc); \
}
+#endif
// movn.s fd, fs, rt
#define TESTINSNMOVEN1s(instruction, offset, RTval, FD, FS, RT) \
Modified: trunk/none/tests/mips32/round.c
==============================================================================
--- trunk/none/tests/mips32/round.c (original)
+++ trunk/none/tests/mips32/round.c Wed Feb 19 11:57:22 2014
@@ -132,31 +132,19 @@
{
switch(mode) {
case TO_NEAREST:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "ctc1 $t0, $31\n\t");
+ __asm__ volatile("ctc1 $zero, $31" "\n\t");
break;
case TO_ZERO:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "addiu $t0, 1\n\t"
- "ctc1 $t0, $31\n\t");
+ __asm__ volatile("li $t0, 0x1" "\n\t"
+ "ctc1 $t0, $31" "\n\t");
break;
case TO_PLUS_INFINITY:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "addiu $t0, 2\n\t"
- "ctc1 $t0, $31\n\t");
+ __asm__ volatile("li $t0, 0x2" "\n\t"
+ "ctc1 $t0, $31" "\n\t");
break;
case TO_MINUS_INFINITY:
- __asm__ volatile("cfc1 $t0, $31\n\t"
- "srl $t0, 2\n\t"
- "sll $t0, 2\n\t"
- "addiu $t0, 3\n\t"
- "ctc1 $t0, $31\n\t");
+ __asm__ volatile("li $t0, 0x3" "\n\t"
+ "ctc1 $t0, $31" "\n\t");
break;
}
}
Modified: trunk/none/tests/mips32/round.stdout.exp
==============================================================================
--- trunk/none/tests/mips32/round.stdout.exp (original)
+++ trunk/none/tests/mips32/round.stdout.exp Wed Feb 19 11:57:22 2014
@@ -4,19 +4,19 @@
ceil.w.s 457 456.250000
fcsr: 0x1004
ceil.w.s 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s 1385 1384.500000
fcsr: 0x1004
ceil.w.s -7 -7.250000
fcsr: 0x1004
ceil.w.s 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s -5786 -5786.250000
fcsr: 0x1004
ceil.w.s 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s 1 0.015625
fcsr: 0x1004
ceil.w.s 1 0.031250
@@ -26,45 +26,45 @@
ceil.w.s -45786 -45786.500000
fcsr: 0x1004
ceil.w.s 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s 35 34.031250
fcsr: 0x1004
ceil.w.s 45787 45786.750000
fcsr: 0x1004
ceil.w.s 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s -45667 -45667.250000
fcsr: 0x1004
ceil.w.s -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s -347856 -347856.500000
fcsr: 0x1004
ceil.w.s 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.s -1 -1.250000
fcsr: 0x1004
ceil.w.s 24 23.062500
fcsr: 0x1004
ceil.w.d 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d 457 456.250000
fcsr: 0x1004
ceil.w.d 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d 1385 1384.500000
fcsr: 0x1004
ceil.w.d -7 -7.250000
fcsr: 0x1004
ceil.w.d 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d -5786 -5786.250000
fcsr: 0x1004
ceil.w.d 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d 1 0.015625
fcsr: 0x1004
ceil.w.d 1 0.031250
@@ -74,45 +74,45 @@
ceil.w.d -45786 -45786.500000
fcsr: 0x1004
ceil.w.d 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d 35 34.031250
fcsr: 0x1004
ceil.w.d 45787 45786.750000
fcsr: 0x1004
ceil.w.d 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d -45667 -45667.250000
fcsr: 0x1004
ceil.w.d -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d -347856 -347856.500000
fcsr: 0x1004
ceil.w.d 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
ceil.w.d -1 -1.250000
fcsr: 0x1004
ceil.w.d 24 23.062500
fcsr: 0x1004
floor.w.s 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s 456 456.250000
fcsr: 0x1004
floor.w.s 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s 1384 1384.500000
fcsr: 0x1004
floor.w.s -8 -7.250000
fcsr: 0x1004
floor.w.s 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s -5787 -5786.250000
fcsr: 0x1004
floor.w.s 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s 0 0.015625
fcsr: 0x1004
floor.w.s 0 0.031250
@@ -122,45 +122,45 @@
floor.w.s -45787 -45786.500000
fcsr: 0x1004
floor.w.s 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s 34 34.031250
fcsr: 0x1004
floor.w.s 45786 45786.750000
fcsr: 0x1004
floor.w.s 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s -45668 -45667.250000
fcsr: 0x1004
floor.w.s -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s -347857 -347856.500000
fcsr: 0x1004
floor.w.s 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.s -2 -1.250000
fcsr: 0x1004
floor.w.s 23 23.062500
fcsr: 0x1004
floor.w.d 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d 456 456.250000
fcsr: 0x1004
floor.w.d 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d 1384 1384.500000
fcsr: 0x1004
floor.w.d -8 -7.250000
fcsr: 0x1004
floor.w.d 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d -5787 -5786.250000
fcsr: 0x1004
floor.w.d 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d 0 0.015625
fcsr: 0x1004
floor.w.d 0 0.031250
@@ -170,45 +170,45 @@
floor.w.d -45787 -45786.500000
fcsr: 0x1004
floor.w.d 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d 34 34.031250
fcsr: 0x1004
floor.w.d 45786 45786.750000
fcsr: 0x1004
floor.w.d 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d -45668 -45667.250000
fcsr: 0x1004
floor.w.d -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d -347857 -347856.500000
fcsr: 0x1004
floor.w.d 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
floor.w.d -2 -1.250000
fcsr: 0x1004
floor.w.d 23 23.062500
fcsr: 0x1004
round.w.s 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s 456 456.250000
fcsr: 0x1004
round.w.s 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s 1384 1384.500000
fcsr: 0x1004
round.w.s -7 -7.250000
fcsr: 0x1004
round.w.s 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s -5786 -5786.250000
fcsr: 0x1004
round.w.s 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s 0 0.015625
fcsr: 0x1004
round.w.s 0 0.031250
@@ -218,45 +218,45 @@
round.w.s -45786 -45786.500000
fcsr: 0x1004
round.w.s 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s 34 34.031250
fcsr: 0x1004
round.w.s 45787 45786.750000
fcsr: 0x1004
round.w.s 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s -45667 -45667.250000
fcsr: 0x1004
round.w.s -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s -347856 -347856.500000
fcsr: 0x1004
round.w.s 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.s -1 -1.250000
fcsr: 0x1004
round.w.s 23 23.062500
fcsr: 0x1004
round.w.d 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d 456 456.250000
fcsr: 0x1004
round.w.d 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d 1384 1384.500000
fcsr: 0x1004
round.w.d -7 -7.250000
fcsr: 0x1004
round.w.d 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d -5786 -5786.250000
fcsr: 0x1004
round.w.d 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d 0 0.015625
fcsr: 0x1004
round.w.d 0 0.031250
@@ -266,45 +266,45 @@
round.w.d -45786 -45786.500000
fcsr: 0x1004
round.w.d 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d 34 34.031250
fcsr: 0x1004
round.w.d 45787 45786.750000
fcsr: 0x1004
round.w.d 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d -45667 -45667.250000
fcsr: 0x1004
round.w.d -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d -347856 -347856.500000
fcsr: 0x1004
round.w.d 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
round.w.d -1 -1.250000
fcsr: 0x1004
round.w.d 23 23.062500
fcsr: 0x1004
trunc.w.s 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s 456 456.250000
fcsr: 0x1004
trunc.w.s 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s 1384 1384.500000
fcsr: 0x1004
trunc.w.s -7 -7.250000
fcsr: 0x1004
trunc.w.s 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s -5786 -5786.250000
fcsr: 0x1004
trunc.w.s 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s 0 0.015625
fcsr: 0x1004
trunc.w.s 0 0.031250
@@ -314,45 +314,45 @@
trunc.w.s -45786 -45786.500000
fcsr: 0x1004
trunc.w.s 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s 34 34.031250
fcsr: 0x1004
trunc.w.s 45786 45786.750000
fcsr: 0x1004
trunc.w.s 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s -45667 -45667.250000
fcsr: 0x1004
trunc.w.s -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s -347856 -347856.500000
fcsr: 0x1004
trunc.w.s 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.s -1 -1.250000
fcsr: 0x1004
trunc.w.s 23 23.062500
fcsr: 0x1004
trunc.w.d 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d 456 456.250000
fcsr: 0x1004
trunc.w.d 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d 1384 1384.500000
fcsr: 0x1004
trunc.w.d -7 -7.250000
fcsr: 0x1004
trunc.w.d 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d -5786 -5786.250000
fcsr: 0x1004
trunc.w.d 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d 0 0.015625
fcsr: 0x1004
trunc.w.d 0 0.031250
@@ -362,23 +362,23 @@
trunc.w.d -45786 -45786.500000
fcsr: 0x1004
trunc.w.d 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d 34 34.031250
fcsr: 0x1004
trunc.w.d 45786 45786.750000
fcsr: 0x1004
trunc.w.d 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d -45667 -45667.250000
fcsr: 0x1004
trunc.w.d -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d -347856 -347856.500000
fcsr: 0x1004
trunc.w.d 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
trunc.w.d -1 -1.250000
fcsr: 0x1004
trunc.w.d 23 23.062500
@@ -386,807 +386,807 @@
-------------------------- test FPU Conversion Operations Using the FCSR Rounding Mode --------------------------
roundig mode: near
cvt.d.s 0.000000 0.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 456.250000 456.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 3.000000 3.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -1.000000 -1.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 1384.500000 1384.500000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -7.250000 -7.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 1000000000.000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -5786.250000 -5786.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 1752.000000 1752.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 0.015625 0.015625
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 0.031250 0.031250
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -248562.750000 -248562.750000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -45786.500000 -45786.500000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 456.000000 456.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 34.031250 34.031250
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 45786.750000 45786.750000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 1752065.000000 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 107.000000 107.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -45667.250000 -45667.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -7.000000 -7.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -347856.500000 -347856.500000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 356047.000000 356047.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s -1.250000 -1.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.s 23.062500 23.062500
-fcsr: 0x4
+fcsr: 0x0
roundig mode: zero
cvt.d.s 0.000000 0.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 456.250000 456.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 3.000000 3.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -1.000000 -1.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 1384.500000 1384.500000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -7.250000 -7.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 1000000000.000000 1000000000.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -5786.250000 -5786.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 1752.000000 1752.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 0.015625 0.015625
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 0.031250 0.031250
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -248562.750000 -248562.750000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -45786.500000 -45786.500000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 456.000000 456.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 34.031250 34.031250
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 45786.750000 45786.750000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 1752065.000000 1752065.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 107.000000 107.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -45667.250000 -45667.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -7.000000 -7.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -347856.500000 -347856.500000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 356047.000000 356047.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s -1.250000 -1.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.s 23.062500 23.062500
-fcsr: 0x5
+fcsr: 0x1
roundig mode: +inf
cvt.d.s 0.000000 0.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 456.250000 456.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 3.000000 3.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -1.000000 -1.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 1384.500000 1384.500000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -7.250000 -7.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 1000000000.000000 1000000000.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -5786.250000 -5786.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 1752.000000 1752.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 0.015625 0.015625
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 0.031250 0.031250
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -248562.750000 -248562.750000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -45786.500000 -45786.500000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 456.000000 456.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 34.031250 34.031250
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 45786.750000 45786.750000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 1752065.000000 1752065.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 107.000000 107.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -45667.250000 -45667.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -7.000000 -7.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -347856.500000 -347856.500000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 356047.000000 356047.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s -1.250000 -1.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.s 23.062500 23.062500
-fcsr: 0x6
+fcsr: 0x2
roundig mode: -inf
cvt.d.s 0.000000 0.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 456.250000 456.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 3.000000 3.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -1.000000 -1.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 1384.500000 1384.500000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -7.250000 -7.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 1000000000.000000 1000000000.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -5786.250000 -5786.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 1752.000000 1752.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 0.015625 0.015625
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 0.031250 0.031250
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -248562.750000 -248562.750000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -45786.500000 -45786.500000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 456.000000 456.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 34.031250 34.031250
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 45786.750000 45786.750000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 1752065.000000 1752065.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 107.000000 107.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -45667.250000 -45667.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -7.000000 -7.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -347856.500000 -347856.500000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 356047.000000 356047.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s -1.250000 -1.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.s 23.062500 23.062500
-fcsr: 0x7
+fcsr: 0x3
roundig mode: near
cvt.d.w 0.000000 0
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 456.000000 456
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 3.000000 3
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -1.000000 -1
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -1.000000 -1
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 356.000000 356
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 1000000000.000000 1000000000
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -5786.000000 -5786
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 1752.000000 1752
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 24575.000000 24575
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 10.000000 10
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -248562.000000 -248562
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -45786.000000 -45786
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 456.000000 456
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 34.000000 34
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 45786.000000 45786
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 1752065.000000 1752065
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 107.000000 107
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -45667.000000 -45667
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -7.000000 -7
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -347856.000000 -347856
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w -2147483648.000000 -2147483648
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 268435455.000000 268435455
-fcsr: 0x4
+fcsr: 0x0
cvt.d.w 23.000000 23
-fcsr: 0x4
+fcsr: 0x0
roundig mode: zero
cvt.d.w 0.000000 0
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 456.000000 456
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 3.000000 3
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -1.000000 -1
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -1.000000 -1
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 356.000000 356
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 1000000000.000000 1000000000
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -5786.000000 -5786
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 1752.000000 1752
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 24575.000000 24575
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 10.000000 10
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -248562.000000 -248562
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -45786.000000 -45786
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 456.000000 456
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 34.000000 34
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 45786.000000 45786
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 1752065.000000 1752065
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 107.000000 107
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -45667.000000 -45667
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -7.000000 -7
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -347856.000000 -347856
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w -2147483648.000000 -2147483648
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 268435455.000000 268435455
-fcsr: 0x5
+fcsr: 0x1
cvt.d.w 23.000000 23
-fcsr: 0x5
+fcsr: 0x1
roundig mode: +inf
cvt.d.w 0.000000 0
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 456.000000 456
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 3.000000 3
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -1.000000 -1
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -1.000000 -1
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 356.000000 356
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 1000000000.000000 1000000000
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -5786.000000 -5786
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 1752.000000 1752
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 24575.000000 24575
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 10.000000 10
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -248562.000000 -248562
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -45786.000000 -45786
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 456.000000 456
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 34.000000 34
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 45786.000000 45786
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 1752065.000000 1752065
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 107.000000 107
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -45667.000000 -45667
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -7.000000 -7
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -347856.000000 -347856
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w -2147483648.000000 -2147483648
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 268435455.000000 268435455
-fcsr: 0x6
+fcsr: 0x2
cvt.d.w 23.000000 23
-fcsr: 0x6
+fcsr: 0x2
roundig mode: -inf
cvt.d.w 0.000000 0
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 456.000000 456
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 3.000000 3
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -1.000000 -1
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -1.000000 -1
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 356.000000 356
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 1000000000.000000 1000000000
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -5786.000000 -5786
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 1752.000000 1752
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 24575.000000 24575
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 10.000000 10
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -248562.000000 -248562
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -45786.000000 -45786
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 456.000000 456
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 34.000000 34
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 45786.000000 45786
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 1752065.000000 1752065
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 107.000000 107
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -45667.000000 -45667
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -7.000000 -7
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -347856.000000 -347856
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w -2147483648.000000 -2147483648
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 268435455.000000 268435455
-fcsr: 0x7
+fcsr: 0x3
cvt.d.w 23.000000 23
-fcsr: 0x7
+fcsr: 0x3
roundig mode: near
cvt.s.d 0.000000 0.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 456.250000 456.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 3.000000 3.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -1.000000 -1.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 1384.500000 1384.500000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -7.250000 -7.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 1000000000.000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -5786.250000 -5786.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 1752.000000 1752.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 0.015625 0.015625
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 0.031250 0.031250
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -248562.750000 -248562.750000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -45786.500000 -45786.500000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 456.000000 456.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 34.031250 34.031250
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 45786.750000 45786.750000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 1752065.000000 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 107.000000 107.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -45667.250000 -45667.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -7.000000 -7.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -347856.500000 -347856.500000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 356047.000000 356047.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d -1.250000 -1.250000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.d 23.062500 23.062500
-fcsr: 0x4
+fcsr: 0x0
roundig mode: zero
cvt.s.d 0.000000 0.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 456.250000 456.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 3.000000 3.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -1.000000 -1.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 1384.500000 1384.500000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -7.250000 -7.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 1000000000.000000 1000000000.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -5786.250000 -5786.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 1752.000000 1752.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 0.015625 0.015625
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 0.031250 0.031250
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -248562.750000 -248562.750000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -45786.500000 -45786.500000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 456.000000 456.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 34.031250 34.031250
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 45786.750000 45786.750000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 1752065.000000 1752065.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 107.000000 107.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -45667.250000 -45667.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -7.000000 -7.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -347856.500000 -347856.500000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 356047.000000 356047.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d -1.250000 -1.250000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.d 23.062500 23.062500
-fcsr: 0x5
+fcsr: 0x1
roundig mode: +inf
cvt.s.d 0.000000 0.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 456.250000 456.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 3.000000 3.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -1.000000 -1.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 1384.500000 1384.500000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -7.250000 -7.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 1000000000.000000 1000000000.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -5786.250000 -5786.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 1752.000000 1752.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 0.015625 0.015625
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 0.031250 0.031250
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -248562.750000 -248562.750000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -45786.500000 -45786.500000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 456.000000 456.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 34.031250 34.031250
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 45786.750000 45786.750000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 1752065.000000 1752065.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 107.000000 107.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -45667.250000 -45667.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -7.000000 -7.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -347856.500000 -347856.500000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 356047.000000 356047.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d -1.250000 -1.250000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.d 23.062500 23.062500
-fcsr: 0x6
+fcsr: 0x2
roundig mode: -inf
cvt.s.d 0.000000 0.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 456.250000 456.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 3.000000 3.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -1.000000 -1.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 1384.500000 1384.500000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -7.250000 -7.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 1000000000.000000 1000000000.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -5786.250000 -5786.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 1752.000000 1752.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 0.015625 0.015625
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 0.031250 0.031250
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -248562.750000 -248562.750000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -45786.500000 -45786.500000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 456.000000 456.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 34.031250 34.031250
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 45786.750000 45786.750000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 1752065.000000 1752065.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 107.000000 107.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -45667.250000 -45667.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -7.000000 -7.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -347856.500000 -347856.500000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 356047.000000 356047.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d -1.250000 -1.250000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.d 23.062500 23.062500
-fcsr: 0x7
+fcsr: 0x3
roundig mode: near
cvt.s.w 0.000000 0
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 456.000000 456
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 3.000000 3
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -1.000000 -1
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -1.000000 -1
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 356.000000 356
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 1000000000.000000 1000000000
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -5786.000000 -5786
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 1752.000000 1752
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 24575.000000 24575
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 10.000000 10
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -248562.000000 -248562
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -45786.000000 -45786
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 456.000000 456
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 34.000000 34
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 45786.000000 45786
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 1752065.000000 1752065
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 107.000000 107
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -45667.000000 -45667
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -7.000000 -7
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -347856.000000 -347856
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w -2147483648.000000 -2147483648
-fcsr: 0x4
+fcsr: 0x0
cvt.s.w 268435456.000000 268435455
fcsr: 0x1004
cvt.s.w 23.000000 23
-fcsr: 0x4
+fcsr: 0x0
roundig mode: zero
cvt.s.w 0.000000 0
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 456.000000 456
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 3.000000 3
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -1.000000 -1
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -1.000000 -1
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 356.000000 356
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 1000000000.000000 1000000000
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -5786.000000 -5786
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 1752.000000 1752
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 24575.000000 24575
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 10.000000 10
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -248562.000000 -248562
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -45786.000000 -45786
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 456.000000 456
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 34.000000 34
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 45786.000000 45786
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 1752065.000000 1752065
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 107.000000 107
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -45667.000000 -45667
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -7.000000 -7
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -347856.000000 -347856
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w -2147483648.000000 -2147483648
-fcsr: 0x5
+fcsr: 0x1
cvt.s.w 268435440.000000 268435455
fcsr: 0x1005
cvt.s.w 23.000000 23
-fcsr: 0x5
+fcsr: 0x1
roundig mode: +inf
cvt.s.w 0.000000 0
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 456.000000 456
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 3.000000 3
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -1.000000 -1
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -1.000000 -1
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 356.000000 356
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 1000000000.000000 1000000000
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -5786.000000 -5786
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 1752.000000 1752
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 24575.000000 24575
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 10.000000 10
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -248562.000000 -248562
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -45786.000000 -45786
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 456.000000 456
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 34.000000 34
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 45786.000000 45786
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 1752065.000000 1752065
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 107.000000 107
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -45667.000000 -45667
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -7.000000 -7
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -347856.000000 -347856
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w -2147483648.000000 -2147483648
-fcsr: 0x6
+fcsr: 0x2
cvt.s.w 268435456.000000 268435455
fcsr: 0x1006
cvt.s.w 23.000000 23
-fcsr: 0x6
+fcsr: 0x2
roundig mode: -inf
cvt.s.w 0.000000 0
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 456.000000 456
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 3.000000 3
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -1.000000 -1
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -1.000000 -1
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 356.000000 356
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 1000000000.000000 1000000000
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -5786.000000 -5786
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 1752.000000 1752
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 24575.000000 24575
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 10.000000 10
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -248562.000000 -248562
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -45786.000000 -45786
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 456.000000 456
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 34.000000 34
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 45786.000000 45786
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 1752065.000000 1752065
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 107.000000 107
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -45667.000000 -45667
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -7.000000 -7
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -347856.000000 -347856
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w -2147483648.000000 -2147483648
-fcsr: 0x7
+fcsr: 0x3
cvt.s.w 268435440.000000 268435455
fcsr: 0x1007
cvt.s.w 23.000000 23
-fcsr: 0x7
+fcsr: 0x3
roundig mode: near
cvt.w.s 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s 456 456.250000
fcsr: 0x1004
cvt.w.s 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s 1384 1384.500000
fcsr: 0x1004
cvt.w.s -7 -7.250000
fcsr: 0x1004
cvt.w.s 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s -5786 -5786.250000
fcsr: 0x1004
cvt.w.s 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s 0 0.015625
fcsr: 0x1004
cvt.w.s 0 0.031250
@@ -1196,46 +1196,46 @@
cvt.w.s -45786 -45786.500000
fcsr: 0x1004
cvt.w.s 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s 34 34.031250
fcsr: 0x1004
cvt.w.s 45787 45786.750000
fcsr: 0x1004
cvt.w.s 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s -45667 -45667.250000
fcsr: 0x1004
cvt.w.s -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s -347856 -347856.500000
fcsr: 0x1004
cvt.w.s 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.s -1 -1.250000
fcsr: 0x1004
cvt.w.s 23 23.062500
fcsr: 0x1004
roundig mode: zero
cvt.w.s 0 0.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s 456 456.250000
fcsr: 0x1005
cvt.w.s 3 3.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s -1 -1.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s 1384 1384.500000
fcsr: 0x1005
cvt.w.s -7 -7.250000
fcsr: 0x1005
cvt.w.s 1000000000 1000000000.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s -5786 -5786.250000
fcsr: 0x1005
cvt.w.s 1752 1752.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s 0 0.015625
fcsr: 0x1005
cvt.w.s 0 0.031250
@@ -1245,46 +1245,46 @@
cvt.w.s -45786 -45786.500000
fcsr: 0x1005
cvt.w.s 456 456.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s 34 34.031250
fcsr: 0x1005
cvt.w.s 45786 45786.750000
fcsr: 0x1005
cvt.w.s 1752065 1752065.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s 107 107.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s -45667 -45667.250000
fcsr: 0x1005
cvt.w.s -7 -7.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s -347856 -347856.500000
fcsr: 0x1005
cvt.w.s 356047 356047.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.s -1 -1.250000
fcsr: 0x1005
cvt.w.s 23 23.062500
fcsr: 0x1005
roundig mode: +inf
cvt.w.s 0 0.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s 457 456.250000
fcsr: 0x1006
cvt.w.s 3 3.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s -1 -1.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s 1385 1384.500000
fcsr: 0x1006
cvt.w.s -7 -7.250000
fcsr: 0x1006
cvt.w.s 1000000000 1000000000.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s -5786 -5786.250000
fcsr: 0x1006
cvt.w.s 1752 1752.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s 1 0.015625
fcsr: 0x1006
cvt.w.s 1 0.031250
@@ -1294,46 +1294,46 @@
cvt.w.s -45786 -45786.500000
fcsr: 0x1006
cvt.w.s 456 456.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s 35 34.031250
fcsr: 0x1006
cvt.w.s 45787 45786.750000
fcsr: 0x1006
cvt.w.s 1752065 1752065.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s 107 107.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s -45667 -45667.250000
fcsr: 0x1006
cvt.w.s -7 -7.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s -347856 -347856.500000
fcsr: 0x1006
cvt.w.s 356047 356047.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.s -1 -1.250000
fcsr: 0x1006
cvt.w.s 24 23.062500
fcsr: 0x1006
roundig mode: -inf
cvt.w.s 0 0.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s 456 456.250000
fcsr: 0x1007
cvt.w.s 3 3.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s -1 -1.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s 1384 1384.500000
fcsr: 0x1007
cvt.w.s -8 -7.250000
fcsr: 0x1007
cvt.w.s 1000000000 1000000000.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s -5787 -5786.250000
fcsr: 0x1007
cvt.w.s 1752 1752.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s 0 0.015625
fcsr: 0x1007
cvt.w.s 0 0.031250
@@ -1343,46 +1343,46 @@
cvt.w.s -45787 -45786.500000
fcsr: 0x1007
cvt.w.s 456 456.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s 34 34.031250
fcsr: 0x1007
cvt.w.s 45786 45786.750000
fcsr: 0x1007
cvt.w.s 1752065 1752065.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s 107 107.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s -45668 -45667.250000
fcsr: 0x1007
cvt.w.s -7 -7.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s -347857 -347856.500000
fcsr: 0x1007
cvt.w.s 356047 356047.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.s -2 -1.250000
fcsr: 0x1007
cvt.w.s 23 23.062500
fcsr: 0x1007
roundig mode: near
cvt.w.d 0 0.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d 456 456.250000
fcsr: 0x1004
cvt.w.d 3 3.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d -1 -1.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d 1384 1384.500000
fcsr: 0x1004
cvt.w.d -7 -7.250000
fcsr: 0x1004
cvt.w.d 1000000000 1000000000.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d -5786 -5786.250000
fcsr: 0x1004
cvt.w.d 1752 1752.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d 0 0.015625
fcsr: 0x1004
cvt.w.d 0 0.031250
@@ -1392,46 +1392,46 @@
cvt.w.d -45786 -45786.500000
fcsr: 0x1004
cvt.w.d 456 456.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d 34 34.031250
fcsr: 0x1004
cvt.w.d 45787 45786.750000
fcsr: 0x1004
cvt.w.d 1752065 1752065.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d 107 107.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d -45667 -45667.250000
fcsr: 0x1004
cvt.w.d -7 -7.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d -347856 -347856.500000
fcsr: 0x1004
cvt.w.d 356047 356047.000000
-fcsr: 0x4
+fcsr: 0x0
cvt.w.d -1 -1.250000
fcsr: 0x1004
cvt.w.d 23 23.062500
fcsr: 0x1004
roundig mode: zero
cvt.w.d 0 0.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d 456 456.250000
fcsr: 0x1005
cvt.w.d 3 3.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d -1 -1.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d 1384 1384.500000
fcsr: 0x1005
cvt.w.d -7 -7.250000
fcsr: 0x1005
cvt.w.d 1000000000 1000000000.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d -5786 -5786.250000
fcsr: 0x1005
cvt.w.d 1752 1752.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d 0 0.015625
fcsr: 0x1005
cvt.w.d 0 0.031250
@@ -1441,46 +1441,46 @@
cvt.w.d -45786 -45786.500000
fcsr: 0x1005
cvt.w.d 456 456.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d 34 34.031250
fcsr: 0x1005
cvt.w.d 45786 45786.750000
fcsr: 0x1005
cvt.w.d 1752065 1752065.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d 107 107.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d -45667 -45667.250000
fcsr: 0x1005
cvt.w.d -7 -7.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d -347856 -347856.500000
fcsr: 0x1005
cvt.w.d 356047 356047.000000
-fcsr: 0x5
+fcsr: 0x1
cvt.w.d -1 -1.250000
fcsr: 0x1005
cvt.w.d 23 23.062500
fcsr: 0x1005
roundig mode: +inf
cvt.w.d 0 0.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d 457 456.250000
fcsr: 0x1006
cvt.w.d 3 3.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d -1 -1.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d 1385 1384.500000
fcsr: 0x1006
cvt.w.d -7 -7.250000
fcsr: 0x1006
cvt.w.d 1000000000 1000000000.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d -5786 -5786.250000
fcsr: 0x1006
cvt.w.d 1752 1752.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d 1 0.015625
fcsr: 0x1006
cvt.w.d 1 0.031250
@@ -1490,46 +1490,46 @@
cvt.w.d -45786 -45786.500000
fcsr: 0x1006
cvt.w.d 456 456.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d 35 34.031250
fcsr: 0x1006
cvt.w.d 45787 45786.750000
fcsr: 0x1006
cvt.w.d 1752065 1752065.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d 107 107.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d -45667 -45667.250000
fcsr: 0x1006
cvt.w.d -7 -7.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d -347856 -347856.500000
fcsr: 0x1006
cvt.w.d 356047 356047.000000
-fcsr: 0x6
+fcsr: 0x2
cvt.w.d -1 -1.250000
fcsr: 0x1006
cvt.w.d 24 23.062500
fcsr: 0x1006
roundig mode: -inf
cvt.w.d 0 0.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d 456 456.250000
fcsr: 0x1007
cvt.w.d 3 3.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d -1 -1.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d 1384 1384.500000
fcsr: 0x1007
cvt.w.d -8 -7.250000
fcsr: 0x1007
cvt.w.d 1000000000 1000000000.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d -5787 -5786.250000
fcsr: 0x1007
cvt.w.d 1752 1752.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d 0 0.015625
fcsr: 0x1007
cvt.w.d 0 0.031250
@@ -1539,23 +1539,23 @@
cvt.w.d -45787 -45786.500000
fcsr: 0x1007
cvt.w.d 456 456.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d 34 34.031250
fcsr: 0x1007
cvt.w.d 45786 45786.750000
fcsr: 0x1007
cvt.w.d 1752065 1752065.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d 107 107.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d -45668 -45667.250000
fcsr: 0x1007
cvt.w.d -7 -7.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d -347857 -347856.500000
fcsr: 0x1007
cvt.w.d 356047 356047.000000
-fcsr: 0x7
+fcsr: 0x3
cvt.w.d -2 -1.250000
fcsr: 0x1007
cvt.w.d 23 23.062500
Added: trunk/none/tests/mips32/round_fpu64.c
==============================================================================
--- trunk/none/tests/mips32/round_fpu64.c (added)
+++ trunk/none/tests/mips32/round_fpu64.c Wed Feb 19 11:57:22 2014
@@ -0,0 +1,204 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <setjmp.h>
+
+#define MAX_ARR 24
+#define PERROR \
+ printf("This test is testing mips32r2 instructions in fpu64 mode.\n");
+#define FLAGS_RM_MASK 0xFFFFFFFF
+
+typedef enum {
+ CVTLS, CVTLD, ROUNDLS, ROUNDLD,
+ TRUNCLS, TRUNCLD, FLOORLS, FLOORLD,
+ CEILLS, CEILLD
+} flt_round_op_t;
+
+const char *flt_round_op_names[] = {
+ "cvt.l.s", "cvt.l.d", "round.l.s", "round.l.d",
+ "trunc.l.s", "trunc.l.d", "floor.l.s", "floor.l.d"
+ "ceil.l.s", "ceil.l.d"
+};
+
+typedef enum {
+ TO_NEAREST=0, TO_ZERO, TO_PLUS_INFINITY, TO_MINUS_INFINITY } round_mode_t;
+char *round_mode_name[] = { "near", "zero", "+inf", "-inf" };
+
+const float fs_f[] = {
+ 0, 456.25, 3, -1,
+ 1384.5, -7.25, 1000000000, -5786.25,
+ 1752, 0.015625, 0.03125, -248562.75,
+ -45786.5, 456, 34.03125, 45786.75,
+ 1752065, 107, -45667.25, -7,
+ -347856.5, 356047, -1.25, 23.0625
+};
+
+const double fs_d[] = {
+ 0, 456.25, 3, -1,
+ 1384.5, -7.25, 1000000000, -5786.25,
+ 1752, 0.015625, 0.03125, -24856226678933.75,
+ -45786.5, 456, 34.03125, 45786.75,
+ 1752065, 107, -45667.25, -7,
+ -347856.5, 356047, -1.25, 23.0625
+};
+
+#define UNOPsl(op) \
+ __asm__ __volatile__( \
+ op" $f0, %2" "\n\t" \
+ "sdc1 $f0, 0(%1)" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr) \
+ : "r"(&fd_l), "f"(fs_f[i]) \
+ : "$f0" \
+ );
+
+#define UNOPdl(op) \
+ __asm__ __volatile__( \
+ op" $f0, %2" "\n\t" \
+ "sdc1 $f0, 0(%1)" "\n\t" \
+ "cfc1 %0, $31" "\n\t" \
+ : "=r" (fcsr) \
+ : "r"(&fd_l), "f"(fs_d[i]) \
+ : "$f0" \
+ );
+
+#define TEST_FPU64 \
+ __asm__ __volatile__( \
+ "cvt.l.s $f0, $f0" "\n\t" \
+ : \
+ : \
+ : "$f0" \
+ );
+
+#if (__mips==32) && (__mips_isa_rev>=2) && (__mips_fpr==64)
+void set_rounding_mode(round_mode_t mode)
+{
+ switch(mode) {
+ case TO_NEAREST:
+ __asm__ volatile("ctc1 $zero, $31" "\n\t");
+ break;
+ case TO_ZERO:
+ __asm__ volatile("li $t0, 0x1" "\n\t"
+ "ctc1 $t0, $31" "\n\t");
+ break;
+ case TO_PLUS_INFINITY:
+ __asm__ volatile("li $t0, 0x2" "\n\t"
+ "ctc1 $t0, $31" "\n\t");
+ break;
+ case TO_MINUS_INFINITY:
+ __asm__ volatile("li $t0, 0x3" "\n\t"
+ "ctc1 $t0, $31" "\n\t");
+ break;
+ }
+}
+
+struct test {
+ void (*test)(void);
+ int sig;
+ int code;
+};
+
+static void handler(int sig)
+{
+ PERROR;
+ exit(0);
+}
+
+int FCSRRoundingMode(flt_round_op_t op)
+{
+ long long int fd_l;
+ int i;
+ int fcsr = 0;
+ round_mode_t rm;
+ for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++) {
+ printf("roundig mode: %s\n", round_mode_name[rm]);
+ for (i = 0; i < MAX_ARR; i++) {
+ set_rounding_mode(rm);
+ switch(op) {
+ case CVTLS:
+ UNOPsl("cvt.l.s");
+ printf("%s %lld %f\n",
+ flt_round_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case CVTLD:
+ UNOPdl("cvt.l.d");
+ printf("%s %lld %lf\n",
+ flt_round_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case ROUNDLS:
+ UNOPsl("round.l.s");
+ printf("%s %lld %f\n",
+ flt_round_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case ROUNDLD:
+ UNOPdl("round.l.d");
+ printf("%s %lld %lf\n",
+ flt_round_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case TRUNCLS:
+ UNOPsl("trunc.l.s");
+ printf("%s %lld %f\n",
+ flt_round_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case TRUNCLD:
+ UNOPdl("trunc.l.d");
+ printf("%s %lld %lf\n",
+ flt_round_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case FLOORLS:
+ UNOPsl("floor.l.s");
+ printf("%s %lld %f\n",
+ flt_round_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case FLOORLD:
+ UNOPdl("floor.l.d");
+ printf("%s %lld %lf\n",
+ flt_round_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case CEILLS:
+ UNOPsl("ceil.l.s");
+ printf("%s %lld %f\n",
+ flt_round_op_names[op], fd_l, fs_f[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ case CEILLD:
+ UNOPdl("ceil.l.d");
+ printf("%s %lld %lf\n",
+ flt_round_op_names[op], fd_l, fs_d[i]);
+ printf("fcsr: 0x%x\n", fcsr & FLAGS_RM_MASK);
+ break;
+ default:
+ printf("error\n");
+ break;
+ }
+ }
+ }
+ return 0;
+}
+#endif
+
+
+int main()
+{
+#if (__mips==32) && (__mips_isa_rev>=2) && (__mips_fpr==64)
+ flt_round_op_t op;
+ signal(SIGILL, handler);
+ /* Test fpu64 mode. */
+ TEST_FPU64;
+ printf("-------------------------- %s --------------------------\n",
+ "test FPU Conversion Operations Using the FCSR Rounding Mode");
+ for (op = CVTLS; op <= CEILLD; op++)
+ FCSRRoundingMode(op);
+#else
+ PERROR;
+#endif
+ return 0;
+}
Added: trunk/none/tests/mips32/round_fpu64.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/mips32/round_fpu64.stdout.exp
==============================================================================
--- trunk/none/tests/mips32/round_fpu64.stdout.exp (added)
+++ trunk/none/tests/mips32/round_fpu64.stdout.exp Wed Feb 19 11:57:22 2014
@@ -0,0 +1,1961 @@
+-------------------------- test FPU Conversion Operations Using the FCSR Rounding Mode --------------------------
+roundig mode: near
+cvt.l.s 0 0.000000
+fcsr: 0x0
+cvt.l.s 456 456.250000
+fcsr: 0x1004
+cvt.l.s 3 3.000000
+fcsr: 0x0
+cvt.l.s -1 -1.000000
+fcsr: 0x0
+cvt.l.s 1384 1384.500000
+fcsr: 0x1004
+cvt.l.s -7 -7.250000
+fcsr: 0x1004
+cvt.l.s 1000000000 1000000000.000000
+fcsr: 0x0
+cvt.l.s -5786 -5786.250000
+fcsr: 0x1004
+cvt.l.s 1752 1752.000000
+fcsr: 0x0
+cvt.l.s 0 0.015625
+fcsr: 0x1004
+cvt.l.s 0 0.031250
+fcsr: 0x1004
+cvt.l.s -248563 -248562.750000
+fcsr: 0x1004
+cvt.l.s -45786 -45786.500000
+fcsr: 0x1004
+cvt.l.s 456 456.000000
+fcsr: 0x0
+cvt.l.s 34 34.031250
+fcsr: 0x1004
+cvt.l.s 45787 45786.750000
+fcsr: 0x1004
+cvt.l.s 1752065 1752065.000000
+fcsr: 0x0
+cvt.l.s 107 107.000000
+fcsr: 0x0
+cvt.l.s -45667 -45667.250000
+fcsr: 0x1004
+cvt.l.s -7 -7.000000
+fcsr: 0x0
+cvt.l.s -347856 -347856.500000
+fcsr: 0x1004
+cvt.l.s 356047 356047.000000
+fcsr: 0x0
+cvt.l.s -1 -1.250000
+fcsr: 0x1004
+cvt.l.s 23 23.062500
+fcsr: 0x1004
+roundig mode: zero
+cvt.l.s 0 0.000000
+fcsr: 0x1
+cvt.l.s 456 456.250000
+fcsr: 0x1005
+cvt.l.s 3 3.000000
+fcsr: 0x1
+cvt.l.s -1 -1.000000
+fcsr: 0x1
+cvt.l.s 1384 1384.500000
+fcsr: 0x1005
+cvt.l.s -7 -7.250000
+fcsr: 0x1005
+cvt.l.s 1000000000 1000000000.000000
+fcsr: 0x1
+cvt.l.s -5786 -5786.250000
+fcsr: 0x1005
+cvt.l.s 1752 1752.000000
+fcsr: 0x1
+cvt.l.s 0 0.015625
+fcsr: 0x1005
+cvt.l.s 0 0.031250
+fcsr: 0x1005
+cvt.l.s -248562 -248562.750000
+fcsr: 0x1005
+cvt.l.s -45786 -45786.500000
+fcsr: 0x1005
+cvt.l.s 456 456.000000
+fcsr: 0x1
+cvt.l.s 34 34.031250
+fcsr: 0x1005
+cvt.l.s 45786 45786.750000
+fcsr: 0x1005
+cvt.l.s 1752065 1752065.000000
+fcsr: 0x1
+cvt.l.s 107 107.000000
+fcsr: 0x1
+cvt.l.s -45667 -45667.250000
+fcsr: 0x1005
+cvt.l.s -7 -7.000000
+fcsr: 0x1
+cvt.l.s -347856 -347856.500000
+fcsr: 0x1005
+cvt.l.s 356047 356047.000000
+fcsr: 0x1
+cvt.l.s -1 -1.250000
+fcsr: 0x1005
+cvt.l.s 23 23.062500
+fcsr: 0x1005
+roundig mode: +inf
+cvt.l.s 0 0.000000
+fcsr: 0x2
+cvt.l.s 457 456.250000
+fcsr: 0x1006
+cvt.l.s 3 3.000000
+fcsr: 0x2
+cvt.l.s -1 -1.000000
+fcsr: 0x2
+cvt.l.s 1385 1384.500000
+fcsr: 0x1006
+cvt.l.s -7 -7.250000
+fcsr: 0x1006
+cvt.l.s 1000000000 1000000000.000000
+fcsr: 0x2
+cvt.l.s -5786 -5786.250000
+fcsr: 0x1006
+cvt.l.s 1752 1752.000000
+fcsr: 0x2
+cvt.l.s 1 0.015625
+fcsr: 0x1006
+cvt.l.s 1 0.031250
+fcsr: 0x1006
+cvt.l.s -248562 -248562.750000
+fcsr: 0x1006
+cvt.l.s -45786 -45786.500000
+fcsr: 0x1006
+cvt.l.s 456 456.000000
+fcsr: 0x2
+cvt.l.s 35 34.031250
+fcsr: 0x1006
+cvt.l.s 45787 45786.750000
+fcsr: 0x1006
+cvt.l.s 1752065 1752065.000000
+fcsr: 0x2
+cvt.l.s 107 107.000000
+fcsr: 0x2
+cvt.l.s -45667 -45667.250000
+fcsr: 0x1006
+cvt.l.s -7 -7.000000
+fcsr: 0x2
+cvt.l.s -347856 -347856.500000
+fcsr: 0x1006
+cvt.l.s 356047 356047.000000
+fcsr: 0x2
+cvt.l.s -1 -1.250000
+fcsr: 0x1006
+cvt.l.s 24 23.062500
+fcsr: 0x1006
+roundig mode: -inf
+cvt.l.s 0 0.000000
+fcsr: 0x3
+cvt.l.s 456 456.250000
+fcsr: 0x1007
+cvt.l.s 3 3.000000
+fcsr: 0x3
+cvt.l.s -1 -1.000000
+fcsr: 0x3
+cvt.l.s 1384 1384.500000
+fcsr: 0x1007
+cvt.l.s -8 -7.250000
+fcsr: 0x1007
+cvt.l.s 1000000000 1000000000.000000
+fcsr: 0x3
+cvt.l.s -5787 -5786.250000
+fcsr: 0x1007
+cvt.l.s 1752 1752.000000
+fcsr: 0x3
+cvt.l.s 0 0.015625
+fcsr: 0x1007
+cvt.l.s 0 0.031250
+fcsr: 0x1007
+cvt.l.s -248563 -248562.750000
+fcsr: 0x1007
+cvt.l.s -45787 -45786.500000
+fcsr: 0x1007
+cvt.l.s 456 456.000000
+fcsr: 0x3
+cvt.l.s 34 34.031250
+fcsr: 0x1007
+cvt.l.s 45786 45786.750000
+fcsr: 0x1007
+cvt.l.s 1752065 1752065.000000
+fcsr: 0x3
+cvt.l.s 107 107.000000
+fcsr: 0x3
+cvt.l.s -45668 -45667.250000
+fcsr: 0x1007
+cvt.l.s -7 -7.000000
+fcsr: 0x3
+cvt.l.s -347857 -347856.500000
+fcsr: 0x1007
+cvt.l.s 356047 356047.000000
+fcsr: 0x3
+cvt.l.s -2 -1.250000
+fcsr: 0x1007
+cvt.l.s 23 23.062500
+fcsr: 0x1007
+roundig mode: near
+cvt.l.d 0 0.000000
+fcsr: 0x0
+cvt.l.d 456 456.250000
+fcsr: 0x1004
+cvt.l.d 3 3.000000
+fcsr: 0x0
+cvt.l.d -1 -1.000000
+fcsr: 0x0
+cvt.l.d 1384 1384.500000
+fcsr: 0x1004
+cvt.l.d -7 -7.250000
+fcsr: 0x1004
+cvt.l.d 1000000000 1000000000.000000
+fcsr: 0x0
+cvt.l.d -5786 -5786.250000
+fcsr: 0x1004
+cvt.l.d 1752 1752.000000
+fcsr: 0x0
+cvt.l.d 0 0.015625
+fcsr: 0x1004
+cvt.l.d 0 0.031250
+fcsr: 0x1004
+cvt.l.d -24856226678934 -24856226678933.750000
+fcsr: 0x1004
+cvt.l.d -45786 -45786.500000
+fcsr: 0x1004
+cvt.l.d 456 456.000000
+fcsr: 0x0
+cvt.l.d 34 34.031250
+fcsr: 0x1004
+cvt.l.d 45787 45786.750000
+fcsr: 0x1004
+cvt.l.d 1752065 1752065.000000
+fcsr: 0x0
+cvt.l.d 107 107.000000
+fcsr: 0x0
+cvt.l.d -45667 -45667.250000
+fcsr: 0x1004
+cvt.l.d -7 -7.000000
+fcsr: 0x0
+cvt.l.d -347856 -347856.500000
+fcsr: 0x1004
+cvt.l.d 356047 356047.000000
+fcsr: 0x0
+cvt.l.d -1 -1.250000
+fcsr: 0x1004
+cvt.l.d 23 23.062500
+fcsr: 0x1004
+roundig mode: zero
+cvt.l.d 0 0.000000
+fcsr: 0x1
+cvt.l.d 456 456.250000
+fcsr: 0x1005
+cvt.l.d 3 3.000000
+fcsr: 0x1
+cvt.l.d -1 -1.000000
+fcsr: 0x1
+cvt.l.d 1384 1384.500000
+fcsr: 0x1005
+cvt.l.d -7 -7.250000
+fcsr: 0x1005
+cvt.l.d 1000000000 1000000000.000000
+fcsr: 0x1
+cvt.l.d -5786 -5786.250000
+fcsr: 0x1005
+cvt.l.d 1752 1752.000000
+fcsr: 0x1
+cvt.l.d 0 0.015625
+fcsr: 0x1005
+cvt.l.d 0 0.031250
+fcsr: 0x1005
+cvt.l.d -24856226678933 -24856226678933.750000
+fcsr: 0x1005
+cvt.l.d -45786 -45786.500000
+fcsr: 0x1005
+cvt.l.d 456 456.000000
+fcsr: 0x1
+cvt.l.d 34 34.031250
+fcsr: 0x1005
+cvt.l.d 45786 45786.750000
+fcsr: 0x1005
+cvt.l.d 1752065 1752065.000000
+fcsr: 0x1
+cvt.l.d 107 107.000000
+fcsr: 0x1
+cvt.l.d -45667 -45667.250000
+fcsr: 0x1005
+cvt.l.d -7 -7.000000
+fcsr: 0x1
+cvt.l.d -347856 -347856.500000
+fcsr: 0x1005
+cvt.l.d 356047 356047.000000
+fcsr: 0x1
+cvt.l.d -1 -1.250000
+fcsr: 0x1005
+cvt.l.d 23 23.062500
+fcsr: 0x1005
+roundig mode: +inf
+cvt.l.d 0 0.000000
+fcsr: 0x2
+cvt.l.d 457 456.250000
+fcsr: 0x1006
+cvt.l.d 3 3.000000
+fcsr: 0x2
+cvt.l.d -1 -1.000000
+fcsr: 0x2
+cvt.l.d 1385 1384.500000
+fcsr: 0x1006
+cvt.l.d -7 -7.250000
+fcsr: 0x1006
+cvt.l.d 1000000000 1000000000.000000
+fcsr: 0x2
+cvt.l.d -5786 -5786.250000
+fcsr: 0x1006
+cvt.l.d 1752 1752.000000
+fcsr: 0x2
+cvt.l.d 1 0.015625
+fcsr: 0x1006
+cvt.l.d 1 0.031250
+fcsr: 0x1006
+cvt.l.d -24856226678933 -24856226678933.750000
+fcsr: 0x1006
+cvt.l.d -45786 -45786.500000
+fcsr: 0x1006
+cvt.l.d 456 456.000000
+fcsr: 0x2
+cvt.l.d 35 34.031250
+fcsr: 0x1006
+cvt.l.d 45787 45786.750000
+fcsr: 0x1006
+cvt.l.d 1752065 1752065.000000
+fcsr: 0x2
+cvt.l.d 107 107.000000
+fcsr: 0x2
+cvt.l.d -45667 -45667.250000
+fcsr: 0x1006
+cvt.l.d -7 -7.000000
+fcsr: 0x2
+cvt.l.d -347856 -347856.500000
+fcsr: 0x1006
+cvt.l.d 356047 356047.000000
+fcsr: 0x2
+cvt.l.d -1 -1.250000
+fcsr: 0x1006
+cvt.l.d 24 23.062500
+fcsr: 0x1006
+roundig mode: -inf
+cvt.l.d 0 0.000000
+fcsr: 0x3
+cvt.l.d 456 456.250000
+fcsr: 0x1007
+cvt.l.d 3 3.000000
+fcsr: 0x3
+cvt.l.d -1 -1.000000
+fcsr: 0x3
+cvt.l.d 1384 1384.500000
+fcsr: 0x1007
+cvt.l.d -8 -7.250000
+fcsr: 0x1007
+cvt.l.d 1000000000 1000000000.000000
+fcsr: 0x3
+cvt.l.d -5787 -5786.250000
+fcsr: 0x1007
+cvt.l.d 1752 1752.000000
+fcsr: 0x3
+cvt.l.d 0 0.015625
+fcsr: 0x1007
+cvt.l.d 0 0.031250
+fcsr: 0x1007
+cvt.l.d -24856226678934 -24856226678933.750000
+fcsr: 0x1007
+cvt.l.d -45787 -45786.500000
+fcsr: 0x1007
+cvt.l.d 456 456.000000
+fcsr: 0x3
+cvt.l.d 34 34.031250
+fcsr: 0x1007
+cvt.l.d 45786 45786.750000
+fcsr: 0x1007
+cvt.l.d 1752065 1752065.000000
+fcsr: 0x3
+cvt.l.d 107 107.000000
+fcsr: 0x3
+cvt.l.d -45668 -45667.250000
+fcsr: 0x1007
+cvt.l.d -7 -7.000000
+fcsr: 0x3
+cvt.l.d -347857 -347856.500000
+fcsr: 0x1007
+cvt.l.d 356047 356047.000000
+fcsr: 0x3
+cvt.l.d -2 -1.250000
+fcsr: 0x1007
+cvt.l.d 23 23.062500
+fcsr: 0x1007
+roundig mode: near
+round.l.s 0 0.000000
+fcsr: 0x0
+round.l.s 456 456.250000
+fcsr: 0x1004
+round.l.s 3 3.000000
+fcsr: 0x0
+round.l.s -1 -1.000000
+fcsr: 0x0
+round.l.s 1384 1384.500000
+fcsr: 0x1004
+round.l.s -7 -7.250000
+fcsr: 0x1004
+round.l.s 1000000000 1000000000.000000
+fcsr: 0x0
+round.l.s -5786 -5786.250000
+fcsr: 0x1004
+round.l.s 1752 1752.000000
+fcsr: 0x0
+round.l.s 0 0.015625
+fcsr: 0x1004
+round.l.s 0 0.031250
+fcsr: 0x1004
+round.l.s -248563 -248562.750000
+fcsr: 0x1004
+round.l.s -45786 -45786.500000
+fcsr: 0x1004
+round.l.s 456 456.000000
+fcsr: 0x0
+round.l.s 34 34.031250
+fcsr: 0x1004
+round.l.s 45787 45786.750000
+fcsr: 0x1004
+round.l.s 1752065 1752065.000000
+fcsr: 0x0
+round.l.s 107 107.000000
+fcsr: 0x0
+round.l.s -45667 -45667.250000
+fcsr: 0x1004
+round.l.s -7 -7.000000
+fcsr: 0x0
+round.l.s -347856 -347856.500000
+fcsr: 0x1004
+round.l.s 356047 356047.000000
+fcsr: 0x0
+round.l.s -1 -1.250000
+fcsr: 0x1004
+round.l.s 23 23.062500
+fcsr: 0x1004
+roundig mode: zero
+round.l.s 0 0.000000
+fcsr: 0x1
+round.l.s 456 456.250000
+fcsr: 0x1005
+round.l.s 3 3.000000
+fcsr: 0x1
+round.l.s -1 -1.000000
+fcsr: 0x1
+round.l.s 1384 1384.500000
+fcsr: 0x1005
+round.l.s -7 -7.250000
+fcsr: 0x1005
+round.l.s 1000000000 1000000000.000000
+fcsr: 0x1
+round.l.s -5786 -5786.250000
+fcsr: 0x1005
+round.l.s 1752 1752.000000
+fcsr: 0x1
+round.l.s 0 0.015625
+fcsr: 0x1005
+round.l.s 0 0.031250
+fcsr: 0x1005
+round.l.s -248563 -248562.750000
+fcsr: 0x1005
+round.l.s -45786 -45786.500000
+fcsr: 0x1005
+round.l.s 456 456.000000
+fcsr: 0x1
+round.l.s 34 34.031250
+fcsr: 0x1005
+round.l.s 45787 45786.750000
+fcsr: 0x1005
+round.l.s 1752065 1752065.000000
+fcsr: 0x1
+round.l.s 107 107.000000
+fcsr: 0x1
+round.l.s -45667 -45667.250000
+fcsr: 0x1005
+round.l.s -7 -7.000000
+fcsr: 0x1
+round.l.s -347856 -347856.500000
+fcsr: 0x1005
+round.l.s 356047 356047.000000
+fcsr: 0x1
+round.l.s -1 -1.250000
+fcsr: 0x1005
+round...
[truncated message content] |