|
From: <sv...@va...> - 2012-06-07 09:32:58
|
sewardj 2012-06-07 10:32:40 +0100 (Thu, 07 Jun 2012)
New Revision: 12618
Log:
Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,
mip...@rt..., Bug 270777.
Valgrind: new non-test files for mips32-linux.
Added directories:
trunk/none/tests/mips32/
trunk/none/tests/mips32/.deps/
Added files:
trunk/none/tests/mips32/.deps/FPUarithmetic.Po
trunk/none/tests/mips32/.deps/LoadStore.Po
trunk/none/tests/mips32/.deps/LoadStore1.Po
trunk/none/tests/mips32/.deps/MIPS32int.Po
trunk/none/tests/mips32/.deps/MemCpyTest.Po
trunk/none/tests/mips32/.deps/MoveIns.Po
trunk/none/tests/mips32/.deps/allexec-allexec.Po
trunk/none/tests/mips32/.deps/branches.Po
trunk/none/tests/mips32/.deps/round.Po
trunk/none/tests/mips32/.deps/vfp.Po
trunk/none/tests/mips32/FPUarithmetic.c
trunk/none/tests/mips32/FPUarithmetic.stdout.exp
trunk/none/tests/mips32/FPUarithmetic.vgtest
trunk/none/tests/mips32/LoadStore.c
trunk/none/tests/mips32/LoadStore.stdout.exp
trunk/none/tests/mips32/LoadStore.stdout.exp-BE
trunk/none/tests/mips32/LoadStore.vgtest
trunk/none/tests/mips32/LoadStore1.c
trunk/none/tests/mips32/LoadStore1.stdout.exp
trunk/none/tests/mips32/LoadStore1.stdout.exp-LE
trunk/none/tests/mips32/LoadStore1.vgtest
trunk/none/tests/mips32/MIPS32int.c
trunk/none/tests/mips32/MIPS32int.stdout.exp
trunk/none/tests/mips32/MIPS32int.stdout.exp-BE
trunk/none/tests/mips32/MIPS32int.vgtest
trunk/none/tests/mips32/Makefile.am
trunk/none/tests/mips32/MemCpyTest.c
trunk/none/tests/mips32/MemCpyTest.stdout.exp
trunk/none/tests/mips32/MemCpyTest.vgtest
trunk/none/tests/mips32/MoveIns.c
trunk/none/tests/mips32/MoveIns.stdout.exp
trunk/none/tests/mips32/MoveIns.stdout.exp-BE
trunk/none/tests/mips32/MoveIns.vgtest
trunk/none/tests/mips32/allexec.c
trunk/none/tests/mips32/branches.c
trunk/none/tests/mips32/branches.stdout.exp
trunk/none/tests/mips32/branches.vgtest
trunk/none/tests/mips32/filter_stderr
trunk/none/tests/mips32/round.c
trunk/none/tests/mips32/round.stdout.exp
trunk/none/tests/mips32/round.vgtest
trunk/none/tests/mips32/vfp.c
trunk/none/tests/mips32/vfp.stdout.exp
trunk/none/tests/mips32/vfp.stdout.exp-BE
trunk/none/tests/mips32/vfp.vgtest
Added: trunk/none/tests/mips32/
Added: trunk/none/tests/mips32/.deps/
Added: trunk/none/tests/mips32/vfp.stdout.exp (+182 -0)
===================================================================
--- trunk/none/tests/mips32/vfp.stdout.exp 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/vfp.stdout.exp 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,182 @@
+LDC1
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+LWC1
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 4($t1) :: ft 0x66666666
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 12($t1) :: ft 0x0
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 20($t1) :: ft 0x0
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 28($t1) :: ft 0x262d2d2a
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 36($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 44($t1) :: ft 0xb487e5c9
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 52($t1) :: ft 0xb750e388
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 60($t1) :: ft 0xe2308c3a
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+LWXC1
+lwxc1 $f0, $a3($v0) :: ft 0x4095a266
+lwxc1 $f0, $a3($v0) :: ft 0x66666666
+lwxc1 $f0, $a3($v0) :: ft 0xbff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x3ff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+lwxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0x41d26580
+lwxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+lwxc1 $f0, $a3($v0) :: ft 0x42026580
+lwxc1 $f0, $a3($v0) :: ft 0xb750e388
+lwxc1 $f0, $a3($v0) :: ft 0x3e45798e
+lwxc1 $f0, $a3($v0) :: ft 0xe2308c3a
+lwxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+lwxc1 $f0, $a3($v0) :: ft 0x4095a266
+lwxc1 $f0, $a3($v0) :: ft 0x66666666
+lwxc1 $f0, $a3($v0) :: ft 0xbff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x3ff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+lwxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0x41d26580
+lwxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+lwxc1 $f0, $a3($v0) :: ft 0x42026580
+lwxc1 $f0, $a3($v0) :: ft 0xb750e388
+lwxc1 $f0, $a3($v0) :: ft 0x3e45798e
+LDXC1
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0x41d26580
+ldxc1 $f0, $a3($v0) :: ft 0x42026580
+ldxc1 $f0, $a3($v0) :: ft 0x3e45798e
+ldxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0x41d26580
+ldxc1 $f0, $a3($v0) :: ft 0x42026580
+ldxc1 $f0, $a3($v0) :: ft 0x3e45798e
+ldxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0x41d26580
+ldxc1 $f0, $a3($v0) :: ft 0x42026580
+ldxc1 $f0, $a3($v0) :: ft 0x3e45798e
+ldxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+SDC1
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0xb97f122f
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x66666666
+sdc1 $f0, 0($t0) :: out: 0x2101d847
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x51eb851f
+sdc1 $f0, 0($t0) :: out: 0x0
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SDXC1
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x0
+sdc1 $f0, #t2($t0) :: out: 0xb97f122f : out1: 0x407c83fb
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x40080000
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0xbff00000
+sdc1 $f0, #t2($t0) :: out: 0x66666666 : out1: 0x4095a266
+sdc1 $f0, #t2($t0) :: out: 0x2101d847 : out1: 0xc01d2da3
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x41cdcd65
+sdc1 $f0, #t2($t0) :: out: 0x51eb851f : out1: 0xc0b69a78
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x409b6000
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SWC1
+swc1 $f0, 0($t0) :: out: 0x0
+swc1 $f0, 0($t0) :: out: 0x40400000
+swc1 $f0, 0($t0) :: out: 0x44ad1333
+swc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swc1 $f0, 0($t0) :: out: 0x44db0000
+swc1 $f0, 0($t0) :: out: 0x322bcc77
+swc1 $f0, 0($t0) :: out: 0xc732da7a
+swc1 $f0, 0($t0) :: out: 0x42080079
+swc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
+SWXC1
+swxc1 $f0, 0($t0) :: out: 0x0
+swxc1 $f0, 0($t0) :: out: 0x40400000
+swxc1 $f0, 0($t0) :: out: 0x44ad1333
+swxc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swxc1 $f0, 0($t0) :: out: 0x44db0000
+swxc1 $f0, 0($t0) :: out: 0x322bcc77
+swxc1 $f0, 0($t0) :: out: 0xc732da7a
+swxc1 $f0, 0($t0) :: out: 0x42080079
+swxc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
Added: trunk/none/tests/mips32/vfp.c (+404 -0)
===================================================================
--- trunk/none/tests/mips32/vfp.c 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/vfp.c 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,404 @@
+#include <stdio.h>
+
+unsigned int mem[] = {
+ 0x4095A266, 0x66666666,
+ 0xBFF00000, 0x00000000,
+ 0x3FF00000, 0x00000000,
+ 0x252a2e2b, 0x262d2d2a,
+ 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x41D26580, 0xB487E5C9,
+ 0x42026580, 0xB750E388,
+ 0x3E45798E, 0xE2308C3A,
+ 0x3FBF9ADD, 0x3746F65F
+};
+
+float fs_f[] = {
+ 0, 456.2489562, 3, -1,
+ 1384.6, -7.2945676, 1000000000, -5786.47,
+ 1752, 0.0024575, 0.00000001, -248562.76,
+ -45786.476, 456.2489562, 34.00046, 45786.476,
+ 1752065, 107, -45667.24, -7.2945676,
+ -347856.475, 356047.56, -1.0, 23.04
+};
+
+double fs_d[] = {
+ 0, 456.2489562, 3, -1,
+ 1384.6, -7.2945676, 1000000000, -5786.47,
+ 1752, 0.0024575, 0.00000001, -248562.76,
+ -45786.476, 456.2489562, 34.00046, 45786.476,
+ 1752065, 107, -45667.24, -7.2945676,
+ -347856.475, 356047.56, -1.0, 23.04
+};
+
+double mem1[] = {
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0
+};
+
+float mem1f[] = {
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0
+};
+// ldc1 $f0, 0($t1)
+#define TESTINSN5LOAD(instruction, RTval, offset, RT) \
+{ \
+ double out; \
+ int out1; \
+ int out2; \
+ __asm__ volatile( \
+ "move $t1, %3\n\t" \
+ "li $t0, " #RTval"\n\t" \
+ instruction "\n\t" \
+ "mov.d %0, $" #RT "\n\t" \
+ "mfc1 %1, $" #RT "\n\t" \
+ "mfc1 %2, $f1\n\t" \
+ : "=&f" (out), "=&r" (out1), "=&r" (out2) \
+ : "r" (mem), "r" (RTval) \
+ : "cc", "memory" \
+ ); \
+ printf("%s :: ft 0x%x%x\n", \
+ instruction, out1, out2); \
+}
+
+// lwc1 $f0, 0($t1)
+#define TESTINSN5LOADw(instruction, RTval, offset, RT) \
+{ \
+ double out; \
+ int out1; \
+ __asm__ volatile( \
+ "move $t1, %2\n\t" \
+ "li $t0, " #RTval"\n\t" \
+ instruction "\n\t" \
+ "mov.d %0, $" #RT "\n\t" \
+ "mfc1 %1, $" #RT "\n\t" \
+ : "=&f" (out), "=&r" (out1) \
+ : "r" (mem), "r" (RTval) \
+ : "cc", "memory" \
+ ); \
+ printf("%s :: ft 0x%x\n", \
+ instruction, out1); \
+}
+
+// lwxc1 $f0, $a3($v0)
+#define TESTINSN6LOADw(instruction, indexVal, fd, index, base) \
+{ \
+ int out; \
+ __asm__ volatile( \
+ "move $" #base ", %1\n\t" \
+ "li $" #index ", " #indexVal"\n\t" \
+ instruction "\n\t" \
+ "mfc1 %0, $" #fd "\n\t" \
+ : "=&r" (out) \
+ : "r" (mem) \
+ : "cc", "memory" \
+ ); \
+ printf("%s :: ft 0x%x\n", \
+ instruction, out); \
+}
+
+// ldxc1 $f0, $a3($v0)
+#define TESTINSN6LOADd(instruction, indexVal, fd, index, base) \
+{ \
+ int out; \
+ int out1; \
+ int out2; \
+ __asm__ volatile( \
+ "move $" #base ", %3\n\t" \
+ "li $" #index ", " #indexVal"\n\t" \
+ instruction "\n\t" \
+ "mov.d %0, $" #fd "\n\t" \
+ "mfc1 %1, $" #fd "\n\t" \
+ "mfc1 %2, $f1\n\t" \
+ : "=&f" (out), "=&r" (out1), "=&r" (out2) \
+ : "r" (mem) \
+ : "cc", "memory" \
+ ); \
+ printf("%s :: ft 0x%x\n", \
+ instruction, out); \
+}
+// sdc1 $f0, 0($t0)
+#define TESTINST1(offset) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $t0, %1\n\t" \
+ "move $t1, %2\n\t" \
+ "ldc1 $f0, "#offset"($t1)\n\t" \
+ "sdc1 $f0, "#offset"($t0) \n\t" \
+ "lw %0, "#offset"($t0)\n\t" \
+ : "=&r" (out) \
+ : "r" (mem1), "r" (fs_d) \
+ : "t1", "t0", "cc", "memory" \
+ ); \
+ printf("sdc1 $f0, 0($t0) :: out: 0x%x\n", \
+ out); \
+}
+
+// sdxc1 $f0, $t2($t0)
+#define TESTINST1a(offset) \
+{ \
+ unsigned int out; \
+ unsigned int out1; \
+ __asm__ volatile( \
+ "move $t0, %2\n\t" \
+ "move $t1, %3\n\t" \
+ "li $t2, "#offset"\n\t" \
+ "ldc1 $f0, "#offset"($t1)\n\t" \
+ "sdxc1 $f0, $t2($t0) \n\t" \
+ "lw %0, "#offset"($t0)\n\t" \
+ "addi $t0, $t0, 4 \n\t" \
+ "lw %1, "#offset"($t0)\n\t" \
+ : "=&r" (out), "=&r" (out1) \
+ : "r" (mem1), "r" (fs_d) \
+ : "t2", "t1", "t0", "cc", "memory" \
+ ); \
+ printf("sdc1 $f0, #t2($t0) :: out: 0x%x : out1: 0x%x\n", \
+ out, out1); \
+}
+
+// swc1 $f0, 0($t0)
+#define TESTINST2(offset) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $t0, %1\n\t" \
+ "move $t1, %2\n\t" \
+ "lwc1 $f0, "#offset"($t1)\n\t" \
+ "swc1 $f0, "#offset"($t0) \n\t" \
+ "lw %0, "#offset"($t0)\n\t" \
+ : "=&r" (out) \
+ : "r" (mem1f), "r" (fs_f) \
+ : "t1", "t0", "cc", "memory" \
+ ); \
+ printf("swc1 $f0, 0($t0) :: out: 0x%x\n", \
+ out); \
+}
+
+// SWXC1 $f0, $t2($t0)
+#define TESTINST2a(offset) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $t0, %1\n\t" \
+ "move $t1, %2\n\t" \
+ "li $t2, "#offset" \n\t" \
+ "lwc1 $f0, "#offset"($t1)\n\t" \
+ "swxc1 $f0, $t2($t0) \n\t" \
+ "lw %0, "#offset"($t0)\n\t" \
+ : "=&r" (out) \
+ : "r" (mem1f), "r" (fs_f) \
+ : "t2", "t1", "t0", "cc", "memory" \
+ ); \
+ printf("swxc1 $f0, 0($t0) :: out: 0x%x\n", \
+ out); \
+}
+void ppMem(double *mem, int len)
+{
+ int i;
+ printf("MEM1:\n");
+ for (i = 0; i < len; i=i+4)
+ {
+ printf("%lf, %lf, %lf, %lf\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+ mem[i] = 0;
+ mem[i+1] = 0;
+ mem[i+2] = 0;
+ mem[i+3] = 0;
+ }
+}
+
+void ppMemF(float *mem, int len)
+{
+ int i;
+ printf("MEM1:\n");
+ for (i = 0; i < len; i=i+4)
+ {
+ printf("%lf, %lf, %lf, %lf\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+ mem[i] = 0;
+ mem[i+1] = 0;
+ mem[i+2] = 0;
+ mem[i+3] = 0;
+ }
+}
+
+int main()
+{
+ printf("LDC1\n");
+ TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+ TESTINSN5LOAD("ldc1 $f0, 8($t1)", 0, 8, f0);
+ TESTINSN5LOAD("ldc1 $f0, 16($t1)", 0, 16, f0);
+ TESTINSN5LOAD("ldc1 $f0, 24($t1)", 0, 24, f0);
+ TESTINSN5LOAD("ldc1 $f0, 32($t1)", 0, 32, f0);
+ TESTINSN5LOAD("ldc1 $f0, 40($t1)", 0, 40, f0);
+ TESTINSN5LOAD("ldc1 $f0, 48($t1)", 0, 48, f0);
+ TESTINSN5LOAD("ldc1 $f0, 56($t1)", 0, 56, f0);
+ TESTINSN5LOAD("ldc1 $f0, 64($t1)", 0, 64, f0);
+ TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+ TESTINSN5LOAD("ldc1 $f0, 8($t1)", 0, 8, f0);
+ TESTINSN5LOAD("ldc1 $f0, 16($t1)", 0, 16, f0);
+ TESTINSN5LOAD("ldc1 $f0, 24($t1)", 0, 24, f0);
+ TESTINSN5LOAD("ldc1 $f0, 32($t1)", 0, 32, f0);
+ TESTINSN5LOAD("ldc1 $f0, 40($t1)", 0, 40, f0);
+ TESTINSN5LOAD("ldc1 $f0, 48($t1)", 0, 48, f0);
+ TESTINSN5LOAD("ldc1 $f0, 56($t1)", 0, 56, f0);
+ TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+ TESTINSN5LOAD("ldc1 $f0, 8($t1)", 0, 8, f0);
+ TESTINSN5LOAD("ldc1 $f0, 16($t1)", 0, 16, f0);
+ TESTINSN5LOAD("ldc1 $f0, 24($t1)", 0, 24, f0);
+ TESTINSN5LOAD("ldc1 $f0, 32($t1)", 0, 32, f0);
+ TESTINSN5LOAD("ldc1 $f0, 40($t1)", 0, 40, f0);
+ TESTINSN5LOAD("ldc1 $f0, 48($t1)", 0, 48, f0);
+ TESTINSN5LOAD("ldc1 $f0, 56($t1)", 0, 56, f0);
+ TESTINSN5LOAD("ldc1 $f0, 64($t1)", 0, 64, f0);
+ TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+
+ printf("LWC1\n");
+ TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
+ TESTINSN5LOADw("lwc1 $f0, 4($t1)", 0, 4, f0);
+ TESTINSN5LOADw("lwc1 $f0, 8($t1)", 0, 8, f0);
+ TESTINSN5LOADw("lwc1 $f0, 12($t1)", 0, 12, f0);
+ TESTINSN5LOADw("lwc1 $f0, 16($t1)", 0, 16, f0);
+ TESTINSN5LOADw("lwc1 $f0, 20($t1)", 0, 20, f0);
+ TESTINSN5LOADw("lwc1 $f0, 24($t1)", 0, 24, f0);
+ TESTINSN5LOADw("lwc1 $f0, 28($t1)", 0, 28, f0);
+ TESTINSN5LOADw("lwc1 $f0, 32($t1)", 0, 32, f0);
+ TESTINSN5LOADw("lwc1 $f0, 36($t1)", 0, 36, f0);
+ TESTINSN5LOADw("lwc1 $f0, 40($t1)", 0, 40, f0);
+ TESTINSN5LOADw("lwc1 $f0, 44($t1)", 0, 44, f0);
+ TESTINSN5LOADw("lwc1 $f0, 48($t1)", 0, 48, f0);
+ TESTINSN5LOADw("lwc1 $f0, 52($t1)", 0, 52, f0);
+ TESTINSN5LOADw("lwc1 $f0, 56($t1)", 0, 56, f0);
+ TESTINSN5LOADw("lwc1 $f0, 60($t1)", 0, 60, f0);
+ TESTINSN5LOADw("lwc1 $f0, 64($t1)", 0, 64, f0);
+ TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
+ TESTINSN5LOADw("lwc1 $f0, 8($t1)", 0, 8, f0);
+ TESTINSN5LOADw("lwc1 $f0, 16($t1)", 0, 16, f0);
+ TESTINSN5LOADw("lwc1 $f0, 24($t1)", 0, 24, f0);
+ TESTINSN5LOADw("lwc1 $f0, 32($t1)", 0, 32, f0);
+ TESTINSN5LOADw("lwc1 $f0, 40($t1)", 0, 40, f0);
+ TESTINSN5LOADw("lwc1 $f0, 48($t1)", 0, 48, f0);
+ TESTINSN5LOADw("lwc1 $f0, 56($t1)", 0, 56, f0);
+ TESTINSN5LOADw("lwc1 $f0, 64($t1)", 0, 64, f0);
+ TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
+
+ printf("LWXC1\n");
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 4, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 12, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 20, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 28, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 36, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 44, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 52, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 60, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 4, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 12, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 20, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 28, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 36, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 44, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 52, f0, a3, v0);
+ TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+
+ printf("LDXC1\n");
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+ TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+
+ printf("SDC1\n");
+ TESTINST1(0);
+ TESTINST1(8);
+ TESTINST1(16);
+ TESTINST1(24);
+ TESTINST1(32);
+ TESTINST1(40);
+ TESTINST1(48);
+ TESTINST1(56);
+ TESTINST1(64);
+ ppMem(mem1, 16);
+
+ printf("SDXC1\n");
+ TESTINST1a(0);
+ TESTINST1a(8);
+ TESTINST1a(16);
+ TESTINST1a(24);
+ TESTINST1a(32);
+ TESTINST1a(40);
+ TESTINST1a(48);
+ TESTINST1a(56);
+ TESTINST1a(64);
+ ppMem(mem1, 16);
+
+ printf("SWC1\n");
+ TESTINST2(0);
+ TESTINST2(8);
+ TESTINST2(16);
+ TESTINST2(24);
+ TESTINST2(32);
+ TESTINST2(40);
+ TESTINST2(48);
+ TESTINST2(56);
+ TESTINST2(64);
+ ppMemF(mem1f, 16);
+
+ printf("SWXC1\n");
+ TESTINST2a(0);
+ TESTINST2a(8);
+ TESTINST2a(16);
+ TESTINST2a(24);
+ TESTINST2a(32);
+ TESTINST2a(40);
+ TESTINST2a(48);
+ TESTINST2a(56);
+ TESTINST2a(64);
+ ppMemF(mem1f, 16);
+
+ return 0;
+}
Added: trunk/none/tests/mips32/MIPS32int.vgtest (+2 -0)
===================================================================
--- trunk/none/tests/mips32/MIPS32int.vgtest 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/MIPS32int.vgtest 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,2 @@
+prog: MIPS32int
+vgopts: -q
Added: trunk/none/tests/mips32/LoadStore1.c (+354 -0)
===================================================================
--- trunk/none/tests/mips32/LoadStore1.c 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/LoadStore1.c 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,354 @@
+#include <stdio.h>
+
+unsigned int mem[] = {
+ 0x121f1e1f, 0, 3, -1,
+ 0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
+ 0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
+ 0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+};
+
+unsigned int mem1[] = {
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0xffffffff, 0, 0, 0,
+ 0, 0, 0, 0
+};
+
+unsigned int mem2[] = {
+0x0000e680, 0x00010700, 0x0000e7dc, 0x0000b0d0,
+0x2ab05fd0, 0x0000b6a0, 0x0000be80, 0x0000de10,
+0x0000df20, 0x2ab05fe0, 0x0000dfd0, 0x00010300
+};
+
+// sb $t0, 0($t1)
+#define TESTINST1(instruction, RTval, offset, RT, RS) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $" #RS", %1\n\t" \
+ "li $" #RT", " #RTval"\n\t" \
+ instruction "\n\t" \
+ "lw %0, "#offset"($"#RS")\n\t" \
+ : "=&r" (out) \
+ : "r" (mem1), "r" (RTval) \
+ : #RT, "cc", "memory" \
+ ); \
+ printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+ instruction, RTval, out); \
+ out = 0; \
+ __asm__ volatile( \
+ "move $" #RS", %1\n\t" \
+ "li $" #RT", " #RTval"\n\t" \
+ instruction "\n\t" \
+ "lw %0, "#offset"($"#RS")\n\t" \
+ : "=&r" (out) \
+ : "r" (mem), "r" (RTval) \
+ : #RT, "cc", "memory" \
+ ); \
+ printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+ instruction, RTval, out); \
+}
+
+// swl $t0, 3($t1)
+// swr $t0, 0($t1)
+#define TESTINSTsw(RTval, offset, RT, RS) \
+{ \
+ unsigned int out; \
+ __asm__ volatile( \
+ "move $" #RS", %1\n\t" \
+ "addiu $"#RS", $"#RS", "#offset"\n\t" \
+ "li $" #RT", " #RTval"\n\t" \
+ "swl $t0, 3($t1) \n\t" \
+ "swr $t0, 0($t1) \n\t" \
+ "lw %0, 0($"#RS")\n\t" \
+ : "=&r" (out) \
+ : "r" (mem2), "r" (RTval) \
+ : #RT, #RS, "cc", "memory" \
+ ); \
+ printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n :: RTval: 0x%x, out: 0x%x\n", \
+ RTval, out); \
+}
+
+void ppMem(unsigned int* mem, int len)
+{
+ int i;
+ printf("MEM1:\n");
+ for (i = 0; i < len; i=i+4)
+ {
+ printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+ mem[i] = 0;
+ mem[i+1] = 0;
+ mem[i+2] = 0;
+ mem[i+3] = 0;
+ if (i == 2)
+ {
+ mem[i] = 0xffffffff;
+ mem[i+1] = 0;
+ mem[i+2] = 0;
+ mem[i+3] = 0;
+ }
+ }
+}
+
+void ppMem1(unsigned int* mem, int len)
+{
+ int i;
+ printf("MEM:\n");
+ for (i = 0; i < len; i=i+4)
+ {
+ printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+ }
+ mem[0] = 0x121f1e1f;
+ mem[1] = 0;
+ mem[2] = 3;
+ mem[3] = -1;
+ mem[4] = 0x232f2e2f;
+ mem[5] = 0x242c2b2b;
+ mem[6] = 0x252a2e2b;
+ mem[7] = 0x262d2d2a;
+ mem[8] = 0x3f343f3e;
+ mem[9] = 0x3e353d3c;
+ mem[10] = 0x363a3c3b;
+ mem[11] = 0x3b373b3a;
+ mem[12] = 0x454f4e45;
+ mem[13] = 0x4e464d46;
+ mem[14] = 0x474d474c;
+ mem[15] = 0x4a484a4c;
+}
+
+void ppMem0(unsigned int* mem, int len)
+{
+ int i;
+ printf("MEM:\n");
+ for (i = 0; i < len; i=i+4)
+ {
+ printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+ }
+
+ mem[0] = 0x0000e680;
+ mem[1] = 0x00010700;
+ mem[2] = 0x0000e7dc;
+ mem[3] = 0x0000b0d0;
+ mem[4] = 0x2ab05fd0;
+ mem[5] = 0x0000b6a0;
+ mem[6] = 0x0000be80;
+ mem[7] = 0x0000de10;
+ mem[8] = 0x0000df20;
+ mem[9] = 0x2ab05fe0;
+ mem[10] = 0x0000dfd0;
+ mem[11] = 0x00010300;
+}
+
+int main()
+{
+ printf("sb\n");
+ TESTINST1("sb $t0, 3($t1)", 0, 3, t0, t1);
+ TESTINST1("sb $t0, 5($t1)", 0x31415927, 5, t0, t1);
+ TESTINST1("sb $t0, 7($t1)", 0x7fffffff, 7, t0, t1);
+ TESTINST1("sb $t0, 1($t1)", 0x80000000, 1, t0, t1);
+ TESTINST1("sb $t0, 2($t1)", 0x80000000, 2, t0, t1);
+ TESTINST1("sb $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("sb $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+ TESTINST1("sb $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("sb $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("sb $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("sb $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("sb $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+ TESTINST1("sb $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+ TESTINST1("sb $t0, 41($t1)", 0x31415927, 41, t0, t1);
+ TESTINST1("sb $t0, 42($t1)", 0x7fffffff, 42, t0, t1);
+ TESTINST1("sb $t0, 45($t1)", 0x80000000, 45, t0, t1);
+ TESTINST1("sb $t0, 51($t1)", 655, 51, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("sh\n");
+ TESTINST1("sh $t0, 1($t1)", 0, 1, t0, t1);
+ TESTINST1("sh $t0, 3($t1)", 0x31415927, 3, t0, t1);
+ TESTINST1("sh $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+ TESTINST1("sh $t0, 7($t1)", 0x80000000, 7, t0, t1);
+ TESTINST1("sh $t0, 9($t1)", 0x80000000, 9, t0, t1);
+ TESTINST1("sh $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("sh $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+ TESTINST1("sh $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("sh $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("sh $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("sh $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("sh $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+ TESTINST1("sh $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+ TESTINST1("sh $t0, 41($t1)", 0x31415927, 41, t0, t1);
+ TESTINST1("sh $t0, 47($t1)", 0x7fffffff, 47, t0, t1);
+ TESTINST1("sh $t0, 49($t1)", 0x80000000, 49, t0, t1);
+ TESTINST1("sh $t0, 51($t1)", 655, 51, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("sw\n");
+ TESTINST1("sw $t0, 1($t1)", 0, 1, t0, t1);
+ TESTINST1("sw $t0, 3($t1)", 0x31415927, 3, t0, t1);
+ TESTINST1("sw $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+ TESTINST1("sw $t0, 7($t1)", 0x80000000, 7, t0, t1);
+ TESTINST1("sw $t0, 9($t1)", 0x80000000, 9, t0, t1);
+ TESTINST1("sw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("sw $t0, 15($t1)", 0x7fffffff, 11, t0, t1);
+ TESTINST1("sw $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("sw $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("sw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("sw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("sw $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+ TESTINST1("sw $t0, 37($t1)", 0xffffffff, 37, t0, t1);
+ TESTINST1("sw $t0, 49($t1)", 0x31415927, 49, t0, t1);
+ TESTINST1("sw $t0, 41($t1)", 0x7fffffff, 41, t0, t1);
+ TESTINST1("sw $t0, 43($t1)", 0x80000000, 43, t0, t1);
+ TESTINST1("sw $t0, 51($t1)", 655, 51, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("swl\n");
+ TESTINST1("swl $t0, 1($t1)", 0, 1, t0, t1);
+ TESTINST1("swl $t0, 3($t1)", 0x31415927, 3, t0, t1);
+ TESTINST1("swl $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+ TESTINST1("swl $t0, 7($t1)", 0x80000000, 7, t0, t1);
+ TESTINST1("swl $t0, 9($t1)", 0x80000000, 9, t0, t1);
+ TESTINST1("swl $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("swl $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+ TESTINST1("swl $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("swl $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("swl $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("swl $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("swl $t0, 33($t1)", 0xffffffff, 33, t0, t1);
+ TESTINST1("swl $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+ TESTINST1("swl $t0, 41($t1)", 0x31415927, 41, t0, t1);
+ TESTINST1("swl $t0, 45($t1)", 0x7fffffff, 45, t0, t1);
+ TESTINST1("swl $t0, 49($t1)", 0x80000000, 49, t0, t1);
+ TESTINST1("swl $t0, 51($t1)", 655, 51, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("swr\n");
+ TESTINST1("swr $t0, 1($t1)", 0, 1, t0, t1);
+ TESTINST1("swr $t0, 3($t1)", 0x31415927, 3, t0, t1);
+ TESTINST1("swr $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+ TESTINST1("swr $t0, 7($t1)", 0x80000000, 7, t0, t1);
+ TESTINST1("swr $t0, 9($t1)", 0x80000000, 9, t0, t1);
+ TESTINST1("swr $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("swr $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+ TESTINST1("swr $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("swr $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("swr $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("swr $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("swr $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+ TESTINST1("swr $t0, 33($t1)", 0xffffffff, 33, t0, t1);
+ TESTINST1("swr $t0, 45($t1)", 0x31415927, 45, t0, t1);
+ TESTINST1("swr $t0, 47($t1)", 0x7fffffff, 47, t0, t1);
+ TESTINST1("swr $t0, 49($t1)", 0x80000000, 49, t0, t1);
+ TESTINST1("swr $t0, 51($t1)", 655, 51, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("ulw\n");
+ TESTINST1("ulw $t0, 0($t1)", 0, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+ TESTINST1("ulw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+ TESTINST1("ulw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("ulw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+ TESTINST1("ulw $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("ulw $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("ulw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("ulw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("ulw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+ TESTINST1("ulw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+ TESTINST1("ulw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+ TESTINST1("ulw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+ TESTINST1("ulw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+ TESTINST1("ulw $t0, 52($t1)", 655, 52, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("usw\n");
+ TESTINST1("usw $t0, 0($t1)", 0, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+ TESTINST1("usw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+ TESTINST1("usw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+ TESTINST1("usw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+ TESTINST1("usw $t0, 8($t1)", -1, 8, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 655, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", -655, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 15, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 1, 0, t0, t1);
+ TESTINST1("usw $t0, 0($t1)", 53, 0, t0, t1);
+ TESTINST1("usw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("usw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+ TESTINST1("usw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+ TESTINST1("usw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+ TESTINST1("usw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+ TESTINST1("usw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+ TESTINST1("usw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+ TESTINST1("usw $t0, 52($t1)", 655, 52, t0, t1);
+ ppMem(mem1, 16);
+ ppMem1(mem, 16);
+
+ printf("swl $t0, 3($t0)\nswr $t0, 0($t0)\n");
+ TESTINSTsw(0x4853000, 0, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x4853000, 4, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x4863700, 8, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x48aedd0, 12, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x2aaee700, 16, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x2aaee7ff, 20, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x2aaeffff, 24, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x4863700, 28, t0, t1);
+ ppMem0(mem2, 12);
+ TESTINSTsw(0x2aaee700, 32, t0, t1);
+ ppMem0(mem2, 12);
+ return 0;
+}
+
Added: trunk/none/tests/mips32/.deps/vfp.Po (+1 -0)
===================================================================
--- trunk/none/tests/mips32/.deps/vfp.Po 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/.deps/vfp.Po 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1 @@
+# dummy
Added: trunk/none/tests/mips32/.deps/FPUarithmetic.Po (+1 -0)
===================================================================
--- trunk/none/tests/mips32/.deps/FPUarithmetic.Po 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/.deps/FPUarithmetic.Po 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1 @@
+# dummy
Added: trunk/none/tests/mips32/round.stdout.exp (+794 -0)
===================================================================
--- trunk/none/tests/mips32/round.stdout.exp 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/round.stdout.exp 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,794 @@
+-------------------------- test FPU Conversion Operations Using a Directed Rounding Mode --------------------------
+ceil.w.s 0 0.000000
+ceil.w.s 457 456.248962
+ceil.w.s 3 3.000000
+ceil.w.s -1 -1.000000
+ceil.w.s 1385 1384.599976
+ceil.w.s -7 -7.294568
+ceil.w.s 1000000000 1000000000.000000
+ceil.w.s -5786 -5786.470215
+ceil.w.s 1752 1752.000000
+ceil.w.s 1 0.002457
+ceil.w.s 1 0.000000
+ceil.w.s -248562 -248562.765625
+ceil.w.s -45786 -45786.476562
+ceil.w.s 457 456.248962
+ceil.w.s 35 34.000462
+ceil.w.s 45787 45786.476562
+ceil.w.s 1752065 1752065.000000
+ceil.w.s 107 107.000000
+ceil.w.s -45667 -45667.238281
+ceil.w.s -7 -7.294568
+ceil.w.s -347856 -347856.468750
+ceil.w.s 356048 356047.562500
+ceil.w.s -1 -1.000000
+ceil.w.s 24 23.040001
+ceil.w.d 0 0.000000
+ceil.w.d 457 456.248956
+ceil.w.d 3 3.000000
+ceil.w.d -1 -1.000000
+ceil.w.d 1385 1384.600000
+ceil.w.d -7 -7.294568
+ceil.w.d 1000000000 1000000000.000000
+ceil.w.d -5786 -5786.470000
+ceil.w.d 1752 1752.000000
+ceil.w.d 1 0.002458
+ceil.w.d 1 0.000000
+ceil.w.d -248562 -248562.760000
+ceil.w.d -45786 -45786.476000
+ceil.w.d 457 456.248956
+ceil.w.d 35 34.000460
+ceil.w.d 45787 45786.476000
+ceil.w.d 1752065 1752065.000000
+ceil.w.d 107 107.000000
+ceil.w.d -45667 -45667.240000
+ceil.w.d -7 -7.294568
+ceil.w.d -347856 -347856.475000
+ceil.w.d 356048 356047.560000
+ceil.w.d -1 -1.000000
+ceil.w.d 24 23.040000
+floor.w.s 0 0.000000
+floor.w.s 456 456.248962
+floor.w.s 3 3.000000
+floor.w.s -1 -1.000000
+floor.w.s 1384 1384.599976
+floor.w.s -8 -7.294568
+floor.w.s 1000000000 1000000000.000000
+floor.w.s -5787 -5786.470215
+floor.w.s 1752 1752.000000
+floor.w.s 0 0.002457
+floor.w.s 0 0.000000
+floor.w.s -248563 -248562.765625
+floor.w.s -45787 -45786.476562
+floor.w.s 456 456.248962
+floor.w.s 34 34.000462
+floor.w.s 45786 45786.476562
+floor.w.s 1752065 1752065.000000
+floor.w.s 107 107.000000
+floor.w.s -45668 -45667.238281
+floor.w.s -8 -7.294568
+floor.w.s -347857 -347856.468750
+floor.w.s 356047 356047.562500
+floor.w.s -1 -1.000000
+floor.w.s 23 23.040001
+floor.w.d 0 0.000000
+floor.w.d 456 456.248956
+floor.w.d 3 3.000000
+floor.w.d -1 -1.000000
+floor.w.d 1384 1384.600000
+floor.w.d -8 -7.294568
+floor.w.d 1000000000 1000000000.000000
+floor.w.d -5787 -5786.470000
+floor.w.d 1752 1752.000000
+floor.w.d 0 0.002458
+floor.w.d 0 0.000000
+floor.w.d -248563 -248562.760000
+floor.w.d -45787 -45786.476000
+floor.w.d 456 456.248956
+floor.w.d 34 34.000460
+floor.w.d 45786 45786.476000
+floor.w.d 1752065 1752065.000000
+floor.w.d 107 107.000000
+floor.w.d -45668 -45667.240000
+floor.w.d -8 -7.294568
+floor.w.d -347857 -347856.475000
+floor.w.d 356047 356047.560000
+floor.w.d -1 -1.000000
+floor.w.d 23 23.040000
+round.w.s 0 0.000000
+round.w.s 456 456.248962
+round.w.s 3 3.000000
+round.w.s -1 -1.000000
+round.w.s 1385 1384.599976
+round.w.s -7 -7.294568
+round.w.s 1000000000 1000000000.000000
+round.w.s -5786 -5786.470215
+round.w.s 1752 1752.000000
+round.w.s 0 0.002457
+round.w.s 0 0.000000
+round.w.s -248563 -248562.765625
+round.w.s -45786 -45786.476562
+round.w.s 456 456.248962
+round.w.s 34 34.000462
+round.w.s 45786 45786.476562
+round.w.s 1752065 1752065.000000
+round.w.s 107 107.000000
+round.w.s -45667 -45667.238281
+round.w.s -7 -7.294568
+round.w.s -347856 -347856.468750
+round.w.s 356048 356047.562500
+round.w.s -1 -1.000000
+round.w.s 23 23.040001
+round.w.d 0 0.000000
+round.w.d 456 456.248956
+round.w.d 3 3.000000
+round.w.d -1 -1.000000
+round.w.d 1385 1384.600000
+round.w.d -7 -7.294568
+round.w.d 1000000000 1000000000.000000
+round.w.d -5786 -5786.470000
+round.w.d 1752 1752.000000
+round.w.d 0 0.002458
+round.w.d 0 0.000000
+round.w.d -248563 -248562.760000
+round.w.d -45786 -45786.476000
+round.w.d 456 456.248956
+round.w.d 34 34.000460
+round.w.d 45786 45786.476000
+round.w.d 1752065 1752065.000000
+round.w.d 107 107.000000
+round.w.d -45667 -45667.240000
+round.w.d -7 -7.294568
+round.w.d -347856 -347856.475000
+round.w.d 356048 356047.560000
+round.w.d -1 -1.000000
+round.w.d 23 23.040000
+trunc.w.s 0 0.000000
+trunc.w.s 456 456.248962
+trunc.w.s 3 3.000000
+trunc.w.s -1 -1.000000
+trunc.w.s 1384 1384.599976
+trunc.w.s -7 -7.294568
+trunc.w.s 1000000000 1000000000.000000
+trunc.w.s -5786 -5786.470215
+trunc.w.s 1752 1752.000000
+trunc.w.s 0 0.002457
+trunc.w.s 0 0.000000
+trunc.w.s -248562 -248562.765625
+trunc.w.s -45786 -45786.476562
+trunc.w.s 456 456.248962
+trunc.w.s 34 34.000462
+trunc.w.s 45786 45786.476562
+trunc.w.s 1752065 1752065.000000
+trunc.w.s 107 107.000000
+trunc.w.s -45667 -45667.238281
+trunc.w.s -7 -7.294568
+trunc.w.s -347856 -347856.468750
+trunc.w.s 356047 356047.562500
+trunc.w.s -1 -1.000000
+trunc.w.s 23 23.040001
+trunc.w.d 0 0.000000
+trunc.w.d 456 456.248956
+trunc.w.d 3 3.000000
+trunc.w.d -1 -1.000000
+trunc.w.d 1384 1384.600000
+trunc.w.d -7 -7.294568
+trunc.w.d 1000000000 1000000000.000000
+trunc.w.d -5786 -5786.470000
+trunc.w.d 1752 1752.000000
+trunc.w.d 0 0.002458
+trunc.w.d 0 0.000000
+trunc.w.d -248562 -248562.760000
+trunc.w.d -45786 -45786.476000
+trunc.w.d 456 456.248956
+trunc.w.d 34 34.000460
+trunc.w.d 45786 45786.476000
+trunc.w.d 1752065 1752065.000000
+trunc.w.d 107 107.000000
+trunc.w.d -45667 -45667.240000
+trunc.w.d -7 -7.294568
+trunc.w.d -347856 -347856.475000
+trunc.w.d 356047 356047.560000
+trunc.w.d -1 -1.000000
+trunc.w.d 23 23.040000
+-------------------------- test FPU Conversion Operations Using the FCSR Rounding Mode --------------------------
+roundig mode: near
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: zero
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: +inf
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: -inf
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: near
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: zero
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: +inf
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: -inf
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: near
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.470215 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.765625 -248562.760000
+cvt.s.d -45786.476562 -45786.476000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 34.000462 34.000460
+cvt.s.d 45786.476562 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.562500 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.040001 23.040000
+roundig mode: zero
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.469727 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.750000 -248562.760000
+cvt.s.d -45786.472656 -45786.476000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 34.000458 34.000460
+cvt.s.d 45786.472656 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.531250 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.039999 23.040000
+roundig mode: +inf
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.600098 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.469727 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002458 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.750000 -248562.760000
+cvt.s.d -45786.472656 -45786.476000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 34.000462 34.000460
+cvt.s.d 45786.476562 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.562500 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.040001 23.040000
+roundig mode: -inf
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.470215 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.765625 -248562.760000
+cvt.s.d -45786.476562 -45786.476000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 34.000458 34.000460
+cvt.s.d 45786.472656 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.242188 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.500000 -347856.475000
+cvt.s.d 356047.531250 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.039999 23.040000
+roundig mode: near
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435456.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: zero
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435440.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: +inf
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435456.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: -inf
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435440.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: near
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1385 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.000000
+cvt.w.s -248563 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356048 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: zero
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1384 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.000000
+cvt.w.s -248562 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356047 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: +inf
+cvt.w.s 0 0.000000
+cvt.w.s 457 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1385 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 1 0.002457
+cvt.w.s 1 0.000000
+cvt.w.s -248562 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 457 456.248962
+cvt.w.s 35 34.000462
+cvt.w.s 45787 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356048 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 24 23.040001
+roundig mode: -inf
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1384 1384.599976
+cvt.w.s -8 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5787 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.000000
+cvt.w.s -248563 -248562.765625
+cvt.w.s -45787 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45668 -45667.238281
+cvt.w.s -8 -7.294568
+cvt.w.s -347857 -347856.468750
+cvt.w.s 356047 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: near
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1385 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248563 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356048 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: zero
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1384 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248562 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356047 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: +inf
+cvt.w.d 0 0.000000
+cvt.w.d 457 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1385 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 1 0.002458
+cvt.w.d 1 0.000000
+cvt.w.d -248562 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 457 456.248956
+cvt.w.d 35 34.000460
+cvt.w.d 45787 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356048 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 24 23.040000
+roundig mode: -inf
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1384 1384.600000
+cvt.w.d -8 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5787 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248563 -248562.760000
+cvt.w.d -45787 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45668 -45667.240000
+cvt.w.d -8 -7.294568
+cvt.w.d -347857 -347856.475000
+cvt.w.d 356047 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
Added: trunk/none/tests/mips32/filter_stderr (+4 -0)
===================================================================
--- trunk/none/tests/mips32/filter_stderr 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/filter_stderr 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+../filter_stderr
+
Added: trunk/none/tests/mips32/branches.vgtest (+2 -0)
===================================================================
--- trunk/none/tests/mips32/branches.vgtest 2012-06-07 10:23:23 +01:00 (rev 12617)
+++ trunk/none/tests/mips32/branches.vgtest 2012-06-07 10:32:40 +01:00 (rev 12618)
@@ -0,0 +1,2 @@
+prog: branches
+vgopts: -q
Added: trunk/none/tests/mips32/branches.st...
[truncated message content] |