From: Petar Jovanovic Date: Mon, 22 Feb 2016 16:29:40 +0000 (+0000) Subject: mips32: add tests for mfhc1 and mthc1 instructions X-Git-Tag: svn/VALGRIND_3_12_0~222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da8925d4869615de50ae1d40ad31c26ce6bce7dc;p=thirdparty%2Fvalgrind.git mips32: add tests for mfhc1 and mthc1 instructions Add tests for mfhc1 and mthc1 instructions and (two) new exp files. Also, minor formatting changes throughout the test file. This is related to VEX change r3211. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15801 --- diff --git a/none/tests/mips32/MoveIns.c b/none/tests/mips32/MoveIns.c index 77db9d439f..2468d1bbf2 100644 --- a/none/tests/mips32/MoveIns.c +++ b/none/tests/mips32/MoveIns.c @@ -1,3 +1,4 @@ +#include #include const float fs_f[] = { @@ -9,6 +10,17 @@ const float fs_f[] = { -347856.475, 356047.56, -1.0, 23.04 }; +unsigned long long data[] = { + 0x1234567887654321ull, 0x66785bd668466667ull, + 0xBFF550ff07788000ull, 0x0004789236500000ull, + 0x3FF0001256789600ull, 0x0012365478000000ull, + 0x252a2e2b252a2e2bull, 0x26852147962d2d2aull, + 0x1234567887654321ull, 0x66785bd668466667ull, + 0x789651ff07788055ull, 0x00ff23f4f1f5f6f8ull, + 0x3FF0001256789600ull, 0xaabbcdfeefcd1256ull, + 0xa1b2b2a1a3a5a6aaull, 0x2569874123654786ull +}; + unsigned int mem[] = { 0x4095A266, 0x66666666, 0xBFF00000, 0x00000000, @@ -22,259 +34,236 @@ unsigned int mem[] = { }; // mfc1 rt, fs -#define TESTINSNMOVE(instruction, offset, FS, RT) \ -{ \ - float out; \ - int out1; \ - __asm__ volatile( \ - "move $t0, %2\n\t" \ - "lwc1 $" #FS ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.s %0, $" #FS"\n\t" \ - "move %1, $" #RT "\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (mem) \ - : #RT, "cc", "memory" \ - ); \ - printf("%s :: fs %f, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVE(instruction, offset, FS, RT) \ +{ \ + float out; \ + int out1; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set oddspreg \n\t" \ + "move $t0, %2\n\t" \ + "lwc1 $" #FS ", "#offset"($t0)\n\t" \ + instruction "\n\t" \ + "mov.s %0, $" #FS"\n\t" \ + "move %1, $" #RT "\n\t" \ + ".set pop \n\t" \ + : "=&f" (out), "=&r" (out1) \ + : "r" (mem) \ + : #RT, "memory" \ + ); \ + printf("%s :: fs %f, rt 0x%x\n", \ + instruction, out, out1); \ } // mfhc1 rt, fs -#define TESTINSNMOVEd(instruction, offset, FS, RT) \ -{ \ - double out; \ - int out1; \ - __asm__ volatile( \ - "move $t0, %2\n\t" \ - "ldc1 $" #FS ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.d %0, $" #FS"\n\t" \ - "move %1, $" #RT "\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (mem) \ - : #RT, "cc", "memory" \ - ); \ - printf("%s :: fs %lf, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVEd(instruction, offset, FS, RT) \ +{ \ + unsigned int out; \ + __asm__ volatile( \ + "move $t0, %1\n\t" \ + "ldc1 $" #FS ", "#offset"($t0)\n\t" \ + instruction "\n\t" \ + "move %0, $" #RT "\n\t" \ + :"=&r" (out) \ + : "r" (data) \ + : #RT, "memory" \ + ); \ + printf("%s :: rt 0x%x\n", \ + instruction, out); \ } // mtc1 rt, fs -#define TESTINSNMOVEt(instruction, offset, FS, RT) \ -{ \ - float out; \ - int out1; \ - __asm__ volatile( \ - "move $t0, %2\n\t" \ - "lw $" #RT ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.s %0, $" #FS"\n\t" \ - "move %1, $" #RT "\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (mem) \ - : #RT, "cc", "memory" \ - ); \ - printf("%s :: fs %f, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVEt(instruction, offset, FS, RT) \ +{ \ + float out; \ + int out1; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set oddspreg \n\t" \ + "move $t0, %2\n\t" \ + "lw $" #RT ", "#offset"($t0)\n\t" \ + instruction "\n\t" \ + "mov.s %0, $" #FS"\n\t" \ + "move %1, $" #RT "\n\t" \ + ".set pop \n\t" \ + : "=&f" (out), "=&r" (out1) \ + : "r" (mem) \ + : #RT, "memory" \ + ); \ + printf("%s :: fs %f, rt 0x%x\n", \ + instruction, out, out1); \ } // mthc1 rt, fs -#define TESTINSNMOVEtd(instruction, offset, FS, RT) \ -{ \ - double out; \ - int out1; \ - __asm__ volatile( \ - "move $t0, %2\n\t" \ - "lw $" #RT ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.d %0, $" #FS"\n\t" \ - "move %1, $" #RT "\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (mem) \ - : #RT, "cc", "memory" \ - ); \ - printf("%s :: fs %lf, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVEtd(instruction, offset, offset2, FS, RT) \ +{ \ + unsigned long long out = 0; \ + __asm__ volatile ( \ + "move $t0, %2 \n\t" \ + "move $t1, %1 \n\t" \ + "ldc1 $"#FS"," #offset2"($t0)" "\n\t" \ + "lw $"#RT"," #offset"($t1) \n\t" \ + instruction "\n\t" \ + "move $"#RT", %0 \n\t" \ + "sdc1 $"#FS ", 0($"#RT")" "\n\t" \ + : :"r" (&out), "r" (mem), "r" (data) \ + : #RT, "memory" \ + ); \ + printf("%s :: out: %llx\n", instruction, out); \ } // mov.s fd, fs -#define TESTINSNMOVE1s(instruction, offset, FD, FS) \ -{ \ - float out; \ - int out1; \ - __asm__ volatile( \ - "move $t0, %2\n\t" \ - "lwc1 $" #FS ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.s %0, $" #FD"\n\t" \ - "mfc1 %1, $" #FD"\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (fs_f) \ - : "cc", "memory" \ - ); \ - printf("%s :: fs %f, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVE1s(instruction, offset, FD, FS) \ +{ \ + float out; \ + int out1; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set oddspreg \n\t" \ + "move $t0, %2\n\t" \ + "lwc1 $" #FS ", "#offset"($t0)\n\t" \ + instruction "\n\t" \ + "mov.s %0, $" #FD"\n\t" \ + "mfc1 %1, $" #FD"\n\t" \ + ".set pop \n\t" \ + : "=&f" (out), "=&r" (out1) \ + : "r" (fs_f) \ + : "memory" \ + ); \ + printf("%s :: fs %f, rt 0x%x\n", \ + instruction, out, out1); \ } // mov.d fd, fs -#define TESTINSNMOVE1d(instruction, offset, FD, FS) \ -{ \ - double out; \ - int out1; \ - __asm__ volatile( \ - "move $t0, %2\n\t" \ - "ldc1 $" #FS ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.d %0, $" #FD"\n\t" \ - "mfc1 %1, $" #FD"\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (fs_f) \ - : "cc", "memory" \ - ); \ - printf("%s ::fs %f, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVE1d(instruction, offset, FD, FS) \ +{ \ + double out; \ + int out1; \ + __asm__ volatile( \ + "move $t0, %2\n\t" \ + "ldc1 $" #FS ", "#offset"($t0)\n\t" \ + instruction "\n\t" \ + "mov.d %0, $" #FD"\n\t" \ + "mfc1 %1, $" #FD"\n\t" \ + : "=&f" (out), "=&r" (out1) \ + : "r" (fs_f) \ + : "memory" \ + ); \ + printf("%s ::fs %f, rt 0x%x\n", \ + instruction, out, out1); \ } // movf rd, rs -#define TESTINSNMOVE2(instruction, RDval, RSval, RD, RS, cc) \ -{ \ - int out; \ - __asm__ volatile( \ - "li $t0, 1\n\t" \ - "move $t1, %3\n\t" \ - "mtc1 $t0, $f0\n\t" \ - "mtc1 $t1, $f2\n\t" \ - "c.eq.s $f0, $f2\n\t" \ - "move $" #RS ", %1\n\t" \ - "move $" #RD ", %2\n\t" \ - instruction "\n\t" \ - "move %0, $" #RD "\n\t" \ - : "=&r" (out) \ - : "r" (RSval), "r" (RDval), "r" (cc) \ - : "t0", "t1", #RD, #RS, "cc", "memory" \ - ); \ - printf("%s :: out: 0x%x, RDval: 0x%x, RSval: 0x%x, cc: %d\n", \ - instruction, out, RDval, RSval, cc); \ +#define TESTINSNMOVE2(instruction, RDval, RSval, RD, RS, cc) \ +{ \ + int out; \ + __asm__ volatile( \ + "li $t0, 1\n\t" \ + "move $t1, %3\n\t" \ + "mtc1 $t0, $f0\n\t" \ + "mtc1 $t1, $f2\n\t" \ + "c.eq.s $f0, $f2\n\t" \ + "move $" #RS ", %1\n\t" \ + "move $" #RD ", %2\n\t" \ + instruction "\n\t" \ + "move %0, $" #RD "\n\t" \ + : "=&r" (out) \ + : "r" (RSval), "r" (RDval), "r" (cc) \ + : "t0", "t1", #RD, #RS, "memory" \ + ); \ + printf("%s :: out: 0x%x, RDval: 0x%x, RSval: 0x%x, cc: %d\n",\ + instruction, out, RDval, RSval, cc); \ } // movf.s fd, fs -#define TESTINSNMOVE2s(instruction, FD, FS, cc, offset) \ -{ \ - float out; \ - __asm__ volatile( \ - "li $t0, 1\n\t" \ - "move $t1, %1\n\t" \ - "mtc1 $t0, $f0\n\t" \ - "mtc1 $t1, $f2\n\t" \ - "c.eq.s $f0, $f2\n\t" \ - "move $t0, %2\n\t" \ - "lwc1 $" #FD ", 4($t0)\n\t" \ - "lwc1 $" #FS ", "#offset"($t0)\n\t" \ - instruction "\n\t" \ - "mov.s %0, $" #FD"\n\t" \ - : "=&f" (out) \ - : "r" (cc), "r" (fs_f) \ - : "t0", "t1", "cc", "memory" \ - ); \ - printf("%s :: out: %f, cc: %d\n", \ - instruction, out, cc); \ +#define TESTINSNMOVE2s(instruction, FD, FS, cc, offset) \ +{ \ + float out; \ + __asm__ volatile( \ + "li $t0, 1\n\t" \ + "move $t1, %1\n\t" \ + "mtc1 $t0, $f0\n\t" \ + "mtc1 $t1, $f2\n\t" \ + "c.eq.s $f0, $f2\n\t" \ + "move $t0, %2\n\t" \ + "lwc1 $" #FD ", 4($t0)\n\t" \ + "lwc1 $" #FS ", "#offset"($t0)\n\t" \ + instruction "\n\t" \ + "mov.s %0, $" #FD"\n\t" \ + : "=&f" (out) \ + : "r" (cc), "r" (fs_f) \ + : "t0", "t1", "memory" \ + ); \ + printf("%s :: out: %f, cc: %d\n", \ + instruction, out, cc); \ } // 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); \ +#define TESTINSNMOVE2d(instruction, FD, FS, cc, offset) \ +{ \ + double out; \ + uint64_t outl; \ + __asm__ volatile( \ + "li $t0, 1 \n\t" \ + "move $t1, %1 \n\t" \ + "mtc1 $t0, $f0 \n\t" \ + "mtc1 $t1, $f2 \n\t" \ + "move $t0, %2 \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" \ + "sdc1 $f4, 0(%3)" \ + : "=f" (out) \ + :"r" (cc), "r" (mem), "r" (&outl) \ + : "t0", "t1", "memory" \ + ); \ + printf("%s :: out: 0x%x 0x%x, cc: %d\n", \ + instruction, (uint32_t)outl, (uint32_t)(outl >> 32), cc); \ } -#else -#define TESTINSNMOVE2d(instruction, FD, FS, cc, offset) \ -{ \ - double out; \ - int out1; \ - int out2; \ - __asm__ volatile( \ - "li $t0, 1\n\t" \ - "move $t1, %3\n\t" \ - "mtc1 $t0, $f0\n\t" \ - "mtc1 $t1, $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" \ - "mfc1 %2, $f5\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); \ -} -#endif // movn.s fd, fs, rt -#define TESTINSNMOVEN1s(instruction, offset, RTval, FD, FS, RT) \ -{ \ - float out; \ - int out1; \ - __asm__ volatile( \ - "move $" #RT ", %3\n\t" \ - "move $t0, %2\n\t" \ - "lwc1 $" #FS ", "#offset"($t0)\n\t" \ - "mtc1 $0, $" #FD "\n\t" \ - instruction "\n\t" \ - "mov.s %0, $" #FD"\n\t" \ - "mfc1 %1, $" #FD"\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (fs_f), "r" (RTval) \ - : #RT, "cc", "memory" \ - ); \ - printf("%s :: fs rt 0x%x\n", \ - instruction, out1); \ +#define TESTINSNMOVEN1s(instruction, offset, RTval, FD, FS, RT) \ +{ \ + float out; \ + int out1; \ + __asm__ volatile( \ + "move $" #RT ", %3\n\t" \ + "move $t0, %2\n\t" \ + "lwc1 $" #FS ", "#offset"($t0)\n\t" \ + "mtc1 $0, $" #FD "\n\t" \ + instruction "\n\t" \ + "mov.s %0, $" #FD"\n\t" \ + "mfc1 %1, $" #FD"\n\t" \ + : "=&f" (out), "=&r" (out1) \ + : "r" (fs_f), "r" (RTval) \ + : #RT, "memory" \ + ); \ + printf("%s :: fs rt 0x%x\n", \ + instruction, out1); \ } // movn.d fd, fs, rt -#define TESTINSNMOVEN1d(instruction, offset, RTval, FD, FS, RT) \ -{ \ - double out; \ - int out1; \ - __asm__ volatile( \ - "move $" #RT ", %3\n\t" \ - "move $t0, %2\n\t" \ - "ldc1 $" #FS ", "#offset"($t0)\n\t" \ - "mtc1 $0, $" #FD "\n\t" \ - "mtc1 $0, $" #FD + 1"\n\t" \ - instruction "\n\t" \ - "mov.d %0, $" #FD"\n\t" \ - "mfc1 %1, $" #FD"\n\t" \ - : "=&f" (out), "=&r" (out1) \ - : "r" (fs_f), "r" (RTval) \ - : #RT, "cc", "memory" \ - ); \ - printf("%s :: fs %lf, rt 0x%x\n", \ - instruction, out, out1); \ +#define TESTINSNMOVEN1d(instruction, offset, RTval, FD, FS, RT) \ +{ \ + double out; \ + int out1; \ + __asm__ volatile( \ + "move $" #RT ", %3\n\t" \ + "move $t0, %2\n\t" \ + "ldc1 $" #FS ", "#offset"($t0)\n\t" \ + "mtc1 $0, $" #FD "\n\t" \ + "mtc1 $0, $" #FD + 1"\n\t" \ + instruction "\n\t" \ + "mov.d %0, $" #FD"\n\t" \ + "mfc1 %1, $" #FD"\n\t" \ + : "=&f" (out), "=&r" (out1) \ + : "r" (fs_f), "r" (RTval) \ + : #RT, "memory" \ + ); \ + printf("%s :: fs %lf, rt 0x%x\n", \ + instruction, out, out1); \ } int main() @@ -337,6 +326,44 @@ int main() TESTINSNMOVEt("mtc1 $t1, $f25", 34, f25, t1); TESTINSNMOVEt("mtc1 $t2, $f26", 38, f26, t2); +#if defined(__mips__) && ((defined(__mips_isa_rev) && __mips_isa_rev >= 2)) + printf("MFHC1\n"); + TESTINSNMOVEd("mfhc1 $t1, $f0", 0, f0, t1); + TESTINSNMOVEd("mfhc1 $t2, $f2", 8, f2, t2); + TESTINSNMOVEd("mfhc1 $t3, $f4", 16, f4, t3); + TESTINSNMOVEd("mfhc1 $v0, $f6", 24, f6, v0); + TESTINSNMOVEd("mfhc1 $v1, $f8", 32, f8, v1); + TESTINSNMOVEd("mfhc1 $a0, $f10", 40, f10, a0); + TESTINSNMOVEd("mfhc1 $a1, $f12", 48, f12, a1); + TESTINSNMOVEd("mfhc1 $a2, $f14", 56, f14, a2); + TESTINSNMOVEd("mfhc1 $a3, $f16", 64, f16, a3); + TESTINSNMOVEd("mfhc1 $s0, $f18", 72, f18, s0); + TESTINSNMOVEd("mfhc1 $s1, $f20", 80, f20, s1); + TESTINSNMOVEd("mfhc1 $s2, $f22", 88, f22, s2); + TESTINSNMOVEd("mfhc1 $s3, $f24", 96, f24, s3); + TESTINSNMOVEd("mfhc1 $s4, $f26", 104, f26, s4); + TESTINSNMOVEd("mfhc1 $s5, $f28", 112, f28, s5); + TESTINSNMOVEd("mfhc1 $s6, $f30", 120, f30, s6); + + printf("MTHC1\n"); + TESTINSNMOVEtd("mthc1 $t2, $f0", 0, 0, f0, t2); + TESTINSNMOVEtd("mthc1 $t3, $f2", 4, 8, f2, t3); + TESTINSNMOVEtd("mthc1 $v0, $f4", 8, 16, f4, v0); + TESTINSNMOVEtd("mthc1 $v1, $f6", 12, 24, f6, v1); + TESTINSNMOVEtd("mthc1 $a0, $f8", 16, 32, f8, a0); + TESTINSNMOVEtd("mthc1 $a1, $f10", 20, 40, f10, a1); + TESTINSNMOVEtd("mthc1 $a2, $f12", 24, 48, f12, a1); + TESTINSNMOVEtd("mthc1 $a3, $f14", 28, 56, f14, a3); + TESTINSNMOVEtd("mthc1 $s0, $f16", 32, 64, f16, s0); + TESTINSNMOVEtd("mthc1 $s1, $f18", 36, 72, f18, s1); + TESTINSNMOVEtd("mthc1 $s2, $f20", 40, 80, f20, s2); + TESTINSNMOVEtd("mthc1 $s3, $f22", 44, 88, f22, s3); + TESTINSNMOVEtd("mthc1 $s4, $f24", 48, 96, f24, s4); + TESTINSNMOVEtd("mthc1 $s5, $f26", 52, 104, f26, s5); + TESTINSNMOVEtd("mthc1 $s6, $f28", 56, 112, f28, s6); + TESTINSNMOVEtd("mthc1 $s7, $f30", 60, 120, f30, s7); +#endif + printf("MOV.S\n"); TESTINSNMOVE1s("mov.s $f0, $f0", 0, f0, f0); TESTINSNMOVE1s("mov.s $f0, $f1", 4, f0, f1); @@ -631,5 +658,6 @@ int main() TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 52, 0xffffffff, f0, f2, t3); TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 56, 0x80000000, f0, f2, t3); TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 60, 0x7fffffff, f0, f2, t3); + return 0; } diff --git a/none/tests/mips32/MoveIns.stdout.exp-mips32r2-BE b/none/tests/mips32/MoveIns.stdout.exp-mips32r2-BE new file mode 100644 index 0000000000..a354f3bda3 --- /dev/null +++ b/none/tests/mips32/MoveIns.stdout.exp-mips32r2-BE @@ -0,0 +1,373 @@ +MFC1 +mfc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266 +mfc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666 +mfc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000 +mfc1 $t4, $f3 :: fs 0.000000, rt 0x0 +mfc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000 +mfc1 $t6, $f5 :: fs 0.000000, rt 0x0 +mfc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b +mfc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a +mfc1 $v1, $f8 :: fs nan, rt 0xffffffff +mfc1 $s0, $f9 :: fs nan, rt 0xffffffff +mfc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580 +mfc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9 +mfc1 $s3, $f12 :: fs 32.599121, rt 0x42026580 +mfc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388 +mfc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e +mfc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a +mfc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add +mfc1 $a0, $f17 :: fs 4.676074, rt 0x4095a266 +mfc1 $a1, $f18 :: fs 272008302207532160516096.000000, rt 0x66666666 +mfc1 $a2, $f19 :: fs -1.875000, rt 0xbff00000 +mfc1 $a3, $f20 :: fs 0.000000, rt 0x0 +mfc1 $v0, $f21 :: fs 1.875000, rt 0x3ff00000 +mfc1 $v1, $f22 :: fs 0.000000, rt 0x0 +mfc1 $t8, $f23 :: fs 0.000000, rt 0x252a2e2b +mfc1 $t9, $f24 :: fs 0.000000, rt 0x262d2d2a +mfc1 $t1, $f25 :: fs nan, rt 0xffffffff +mfc1 $t2, $f26 :: fs nan, rt 0xffffffff +MTC1 +mtc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266 +mtc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666 +mtc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000 +mtc1 $t4, $f3 :: fs 0.000000, rt 0x0 +mtc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000 +mtc1 $t6, $f5 :: fs 0.000000, rt 0x0 +mtc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b +mtc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a +mtc1 $v1, $f8 :: fs nan, rt 0xffffffff +mtc1 $s0, $f9 :: fs nan, rt 0xffffffff +mtc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580 +mtc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9 +mtc1 $s3, $f12 :: fs 32.599121, rt 0x42026580 +mtc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388 +mtc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e +mtc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a +mtc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add +mtc1 $a0, $f17 :: fs -0.000000, rt 0xa2666666 +mtc1 $a1, $f18 :: fs 272421228250166506553344.000000, rt 0x6666bff0 +mtc1 $a2, $f19 :: fs 0.000000, rt 0x0 +mtc1 $a3, $f20 :: fs 0.000000, rt 0x3ff0 +mtc1 $v0, $f21 :: fs 0.000000, rt 0x0 +mtc1 $v1, $f22 :: fs 0.000000, rt 0x252a +mtc1 $t8, $f23 :: fs 0.000000, rt 0x2e2b262d +mtc1 $t9, $f24 :: fs 0.000000, rt 0x2d2affff +mtc1 $t1, $f25 :: fs nan, rt 0xffffffff +mtc1 $t2, $f26 :: fs nan, rt 0xffff41d2 +MFHC1 +mfhc1 $t1, $f0 :: rt 0x12345678 +mfhc1 $t2, $f2 :: rt 0x66785bd6 +mfhc1 $t3, $f4 :: rt 0xbff550ff +mfhc1 $v0, $f6 :: rt 0x47892 +mfhc1 $v1, $f8 :: rt 0x3ff00012 +mfhc1 $a0, $f10 :: rt 0x123654 +mfhc1 $a1, $f12 :: rt 0x252a2e2b +mfhc1 $a2, $f14 :: rt 0x26852147 +mfhc1 $a3, $f16 :: rt 0x12345678 +mfhc1 $s0, $f18 :: rt 0x66785bd6 +mfhc1 $s1, $f20 :: rt 0x789651ff +mfhc1 $s2, $f22 :: rt 0xff23f4 +mfhc1 $s3, $f24 :: rt 0x3ff00012 +mfhc1 $s4, $f26 :: rt 0xaabbcdfe +mfhc1 $s5, $f28 :: rt 0xa1b2b2a1 +mfhc1 $s6, $f30 :: rt 0x25698741 +MTHC1 +mthc1 $t2, $f0 :: out: 4095a26687654321 +mthc1 $t3, $f2 :: out: 6666666668466667 +mthc1 $v0, $f4 :: out: bff0000007788000 +mthc1 $v1, $f6 :: out: 36500000 +mthc1 $a0, $f8 :: out: 3ff0000056789600 +mthc1 $a1, $f10 :: out: 78000000 +mthc1 $a2, $f12 :: out: 1252a2e2b +mthc1 $a3, $f14 :: out: 262d2d2a962d2d2a +mthc1 $s0, $f16 :: out: ffffffff87654321 +mthc1 $s1, $f18 :: out: ffffffff68466667 +mthc1 $s2, $f20 :: out: 41d2658007788055 +mthc1 $s3, $f22 :: out: b487e5c9f1f5f6f8 +mthc1 $s4, $f24 :: out: 4202658056789600 +mthc1 $s5, $f26 :: out: b750e388efcd1256 +mthc1 $s6, $f28 :: out: 3e45798ea3a5a6aa +mthc1 $s7, $f30 :: out: e2308c3a23654786 +MOV.S +mov.s $f0, $f0 :: fs 0.000000, rt 0x0 +mov.s $f0, $f1 :: fs 456.248962, rt 0x43e41fde +mov.s $f1, $f2 :: fs 3.000000, rt 0x40400000 +mov.s $f2, $f3 :: fs -1.000000, rt 0xbf800000 +mov.s $f3, $f4 :: fs 1384.599976, rt 0x44ad1333 +mov.s $f4, $f5 :: fs -7.294568, rt 0xc0e96d19 +mov.s $f5, $f6 :: fs 1000000000.000000, rt 0x4e6e6b28 +mov.s $f6, $f7 :: fs -5786.470215, rt 0xc5b4d3c3 +mov.s $f7, $f8 :: fs 1752.000000, rt 0x44db0000 +mov.s $f8, $f9 :: fs 0.002457, rt 0x3b210e02 +mov.s $f9, $f10 :: fs 0.000000, rt 0x322bcc77 +mov.s $f10, $f11 :: fs -248562.765625, rt 0xc872bcb1 +mov.s $f11, $f12 :: fs -45786.476562, rt 0xc732da7a +mov.s $f12, $f13 :: fs 456.248962, rt 0x43e41fde +mov.s $f13, $f14 :: fs 34.000462, rt 0x42080079 +mov.s $f14, $f15 :: fs 45786.476562, rt 0x4732da7a +mov.s $f15, $f16 :: fs 1752065.000000, rt 0x49d5e008 +mov.s $f16, $f17 :: fs 0.000000, rt 0x0 +mov.s $f17, $f18 :: fs 456.248962, rt 0x43e41fde +mov.s $f18, $f19 :: fs 3.000000, rt 0x40400000 +mov.s $f19, $f20 :: fs -1.000000, rt 0xbf800000 +mov.s $f20, $f21 :: fs 1384.599976, rt 0x44ad1333 +mov.s $f21, $f22 :: fs -7.294568, rt 0xc0e96d19 +mov.s $f22, $f23 :: fs 1000000000.000000, rt 0x4e6e6b28 +mov.s $f23, $f24 :: fs -5786.470215, rt 0xc5b4d3c3 +mov.s $f24, $f25 :: fs 1752.000000, rt 0x44db0000 +mov.s $f25, $f26 :: fs 0.002457, rt 0x3b210e02 +MOV.D +mov.d $f0, $f0 ::fs 0.000000, rt 0x43e41fde +mov.d $f0, $f0 ::fs 32.000023, rt 0xbf800000 +mov.d $f0, $f2 ::fs 68651422688883217793024.000000, rt 0xc0e96d19 +mov.d $f2, $f4 ::fs 6560668703763947508025308754622564314214011401697745896073690307624960.000000, rt 0xc5b4d3c3 +mov.d $f2, $f4 ::fs 510015646723392374046720.000000, rt 0x3b210e02 +mov.d $f4, $f6 ::fs 0.000000, rt 0xc872bcb1 +mov.d $f4, $f6 ::fs -97892595594330935155564225983676416.000000, rt 0x43e41fde +mov.d $f6, $f8 ::fs 12885895398.356678, rt 0x4732da7a +mov.d $f6, $f8 ::fs 499539571012599806217935122808662584365932347392.000000, rt 0x42d60000 +mov.d $f8, $f10 ::fs 0.000000, rt 0x43e41fde +mov.d $f8, $f10 ::fs 32.000023, rt 0xbf800000 +mov.d $f10, $f12 ::fs 68651422688883217793024.000000, rt 0xc0e96d19 +mov.d $f10, $f12 ::fs 6560668703763947508025308754622564314214011401697745896073690307624960.000000, rt 0xc5b4d3c3 +mov.d $f12, $f14 ::fs 510015646723392374046720.000000, rt 0x3b210e02 +mov.d $f12, $f14 ::fs 0.000000, rt 0xc872bcb1 +mov.d $f14, $f16 ::fs -97892595594330935155564225983676416.000000, rt 0x43e41fde +mov.d $f14, $f16 ::fs 12885895398.356678, rt 0x4732da7a +mov.d $f16, $f18 ::fs 499539571012599806217935122808662584365932347392.000000, rt 0x42d60000 +mov.d $f16, $f18 ::fs 0.000000, rt 0x43e41fde +mov.d $f18, $f20 ::fs 32.000023, rt 0xbf800000 +mov.d $f18, $f20 ::fs 68651422688883217793024.000000, rt 0xc0e96d19 +mov.d $f20, $f22 ::fs 6560668703763947508025308754622564314214011401697745896073690307624960.000000, rt 0xc5b4d3c3 +mov.d $f20, $f22 ::fs 510015646723392374046720.000000, rt 0x3b210e02 +mov.d $f22, $f24 ::fs 0.000000, rt 0xc872bcb1 +mov.d $f22, $f24 ::fs -97892595594330935155564225983676416.000000, rt 0x43e41fde +mov.d $f24, $f26 ::fs 12885895398.356678, rt 0x4732da7a +mov.d $f24, $f26 ::fs 499539571012599806217935122808662584365932347392.000000, rt 0x42d60000 +MOVF +movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movf $t0, $t1, $fcc0 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0 +movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0 +MOVF.S +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0 +MOVF.D +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xb750e388 0x42026580, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xe2308c3a 0x3e45798e, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3746f65f 0x3fbf9add, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x262d2d2a 0x252a2e2b, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xb750e388 0x42026580, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xe2308c3a 0x3e45798e, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3746f65f 0x3fbf9add, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 0 +MOVN.S +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.s $f0, $f2, $t3 :: fs rt 0x40400000 +movn.s $f0, $f2, $t3 :: fs rt 0xbf800000 +movn.s $f0, $f2, $t3 :: fs rt 0x44ad1333 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0xc5b4d3c3 +movn.s $f0, $f2, $t3 :: fs rt 0x44db0000 +movn.s $f0, $f2, $t3 :: fs rt 0x3b210e02 +movn.s $f0, $f2, $t3 :: fs rt 0x322bcc77 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.s $f0, $f2, $t3 :: fs rt 0x42080079 +movn.s $f0, $f2, $t3 :: fs rt 0x4732da7a +MOVN.D +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.d $f0, $f2, $t3 :: fs rt 0x40400000 +movn.d $f0, $f2, $t3 :: fs rt 0xbf800000 +movn.d $f0, $f2, $t3 :: fs rt 0x44ad1333 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0xc5b4d3c3 +movn.d $f0, $f2, $t3 :: fs rt 0x44db0000 +movn.d $f0, $f2, $t3 :: fs rt 0x3b210e02 +movn.d $f0, $f2, $t3 :: fs rt 0x322bcc77 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.d $f0, $f2, $t3 :: fs rt 0x42080079 +movn.d $f0, $f2, $t3 :: fs rt 0x4732da7a +MOVT +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0 +MOVT.S +movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +MOVT.D +movt.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x262d2d2a 0x252a2e2b, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xb750e388 0x42026580, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xe2308c3a 0x3e45798e, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x3746f65f 0x3fbf9add, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x262d2d2a 0x252a2e2b, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0 +MOVZ.S +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0xc0e96d19 +movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28 +movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0xc872bcb1 +movz.s $f0, $f2, $t3 :: fs rt 0xc732da7a +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +MOVZ.D +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0xc0e96d19 +movz.d $f0, $f2, $t3 :: fs rt 0x4e6e6b28 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0xc872bcb1 +movz.d $f0, $f2, $t3 :: fs rt 0xc732da7a +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 diff --git a/none/tests/mips32/MoveIns.stdout.exp-mips32r2-LE b/none/tests/mips32/MoveIns.stdout.exp-mips32r2-LE new file mode 100644 index 0000000000..22f1ab95f6 --- /dev/null +++ b/none/tests/mips32/MoveIns.stdout.exp-mips32r2-LE @@ -0,0 +1,373 @@ +MFC1 +mfc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266 +mfc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666 +mfc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000 +mfc1 $t4, $f3 :: fs 0.000000, rt 0x0 +mfc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000 +mfc1 $t6, $f5 :: fs 0.000000, rt 0x0 +mfc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b +mfc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a +mfc1 $v1, $f8 :: fs nan, rt 0xffffffff +mfc1 $s0, $f9 :: fs nan, rt 0xffffffff +mfc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580 +mfc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9 +mfc1 $s3, $f12 :: fs 32.599121, rt 0x42026580 +mfc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388 +mfc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e +mfc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a +mfc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add +mfc1 $a0, $f17 :: fs 4.676074, rt 0x4095a266 +mfc1 $a1, $f18 :: fs 272008302207532160516096.000000, rt 0x66666666 +mfc1 $a2, $f19 :: fs -1.875000, rt 0xbff00000 +mfc1 $a3, $f20 :: fs 0.000000, rt 0x0 +mfc1 $v0, $f21 :: fs 1.875000, rt 0x3ff00000 +mfc1 $v1, $f22 :: fs 0.000000, rt 0x0 +mfc1 $t8, $f23 :: fs 0.000000, rt 0x252a2e2b +mfc1 $t9, $f24 :: fs 0.000000, rt 0x262d2d2a +mfc1 $t1, $f25 :: fs nan, rt 0xffffffff +mfc1 $t2, $f26 :: fs nan, rt 0xffffffff +MTC1 +mtc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266 +mtc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666 +mtc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000 +mtc1 $t4, $f3 :: fs 0.000000, rt 0x0 +mtc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000 +mtc1 $t6, $f5 :: fs 0.000000, rt 0x0 +mtc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b +mtc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a +mtc1 $v1, $f8 :: fs nan, rt 0xffffffff +mtc1 $s0, $f9 :: fs nan, rt 0xffffffff +mtc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580 +mtc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9 +mtc1 $s3, $f12 :: fs 32.599121, rt 0x42026580 +mtc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388 +mtc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e +mtc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a +mtc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add +mtc1 $a0, $f17 :: fs 271833904815561865428992.000000, rt 0x66664095 +mtc1 $a1, $f18 :: fs 0.000000, rt 0x6666 +mtc1 $a2, $f19 :: fs 0.000000, rt 0xbff0 +mtc1 $a3, $f20 :: fs 0.000000, rt 0x0 +mtc1 $v0, $f21 :: fs 0.000000, rt 0x3ff0 +mtc1 $v1, $f22 :: fs 0.000000, rt 0x2e2b0000 +mtc1 $t8, $f23 :: fs 0.000000, rt 0x2d2a252a +mtc1 $t9, $f24 :: fs nan, rt 0xffff262d +mtc1 $t1, $f25 :: fs nan, rt 0xffffffff +mtc1 $t2, $f26 :: fs 76148150529073774329856.000000, rt 0x6580ffff +MFHC1 +mfhc1 $t1, $f0 :: rt 0x12345678 +mfhc1 $t2, $f2 :: rt 0x66785bd6 +mfhc1 $t3, $f4 :: rt 0xbff550ff +mfhc1 $v0, $f6 :: rt 0x47892 +mfhc1 $v1, $f8 :: rt 0x3ff00012 +mfhc1 $a0, $f10 :: rt 0x123654 +mfhc1 $a1, $f12 :: rt 0x252a2e2b +mfhc1 $a2, $f14 :: rt 0x26852147 +mfhc1 $a3, $f16 :: rt 0x12345678 +mfhc1 $s0, $f18 :: rt 0x66785bd6 +mfhc1 $s1, $f20 :: rt 0x789651ff +mfhc1 $s2, $f22 :: rt 0xff23f4 +mfhc1 $s3, $f24 :: rt 0x3ff00012 +mfhc1 $s4, $f26 :: rt 0xaabbcdfe +mfhc1 $s5, $f28 :: rt 0xa1b2b2a1 +mfhc1 $s6, $f30 :: rt 0x25698741 +MTHC1 +mthc1 $t2, $f0 :: out: 4095a26687654321 +mthc1 $t3, $f2 :: out: 6666666668466667 +mthc1 $v0, $f4 :: out: bff0000007788000 +mthc1 $v1, $f6 :: out: 36500000 +mthc1 $a0, $f8 :: out: 3ff0000056789600 +mthc1 $a1, $f10 :: out: 78000000 +mthc1 $a2, $f12 :: out: 1252a2e2b +mthc1 $a3, $f14 :: out: 262d2d2a962d2d2a +mthc1 $s0, $f16 :: out: ffffffff87654321 +mthc1 $s1, $f18 :: out: ffffffff68466667 +mthc1 $s2, $f20 :: out: 41d2658007788055 +mthc1 $s3, $f22 :: out: b487e5c9f1f5f6f8 +mthc1 $s4, $f24 :: out: 4202658056789600 +mthc1 $s5, $f26 :: out: b750e388efcd1256 +mthc1 $s6, $f28 :: out: 3e45798ea3a5a6aa +mthc1 $s7, $f30 :: out: e2308c3a23654786 +MOV.S +mov.s $f0, $f0 :: fs 0.000000, rt 0x0 +mov.s $f0, $f1 :: fs 456.248962, rt 0x43e41fde +mov.s $f1, $f2 :: fs 3.000000, rt 0x40400000 +mov.s $f2, $f3 :: fs -1.000000, rt 0xbf800000 +mov.s $f3, $f4 :: fs 1384.599976, rt 0x44ad1333 +mov.s $f4, $f5 :: fs -7.294568, rt 0xc0e96d19 +mov.s $f5, $f6 :: fs 1000000000.000000, rt 0x4e6e6b28 +mov.s $f6, $f7 :: fs -5786.470215, rt 0xc5b4d3c3 +mov.s $f7, $f8 :: fs 1752.000000, rt 0x44db0000 +mov.s $f8, $f9 :: fs 0.002457, rt 0x3b210e02 +mov.s $f9, $f10 :: fs 0.000000, rt 0x322bcc77 +mov.s $f10, $f11 :: fs -248562.765625, rt 0xc872bcb1 +mov.s $f11, $f12 :: fs -45786.476562, rt 0xc732da7a +mov.s $f12, $f13 :: fs 456.248962, rt 0x43e41fde +mov.s $f13, $f14 :: fs 34.000462, rt 0x42080079 +mov.s $f14, $f15 :: fs 45786.476562, rt 0x4732da7a +mov.s $f15, $f16 :: fs 1752065.000000, rt 0x49d5e008 +mov.s $f16, $f17 :: fs 0.000000, rt 0x0 +mov.s $f17, $f18 :: fs 456.248962, rt 0x43e41fde +mov.s $f18, $f19 :: fs 3.000000, rt 0x40400000 +mov.s $f19, $f20 :: fs -1.000000, rt 0xbf800000 +mov.s $f20, $f21 :: fs 1384.599976, rt 0x44ad1333 +mov.s $f21, $f22 :: fs -7.294568, rt 0xc0e96d19 +mov.s $f22, $f23 :: fs 1000000000.000000, rt 0x4e6e6b28 +mov.s $f23, $f24 :: fs -5786.470215, rt 0xc5b4d3c3 +mov.s $f24, $f25 :: fs 1752.000000, rt 0x44db0000 +mov.s $f25, $f26 :: fs 0.002457, rt 0x3b210e02 +MOV.D +mov.d $f0, $f0 ::fs 11600973572943642624.000000, rt 0x0 +mov.d $f0, $f0 ::fs -0.007813, rt 0x40400000 +mov.d $f0, $f2 ::fs -52072.789633, rt 0x44ad1333 +mov.d $f2, $f4 ::fs -6445705852632282607665545216.000000, rt 0x4e6e6b28 +mov.d $f2, $f4 ::fs 0.000000, rt 0x44db0000 +mov.d $f4, $f6 ::fs -102014360350703794652958156923702465265664.000000, rt 0x322bcc77 +mov.d $f4, $f6 ::fs 11600980417357008896.000000, rt 0xc732da7a +mov.d $f6, $f8 ::fs 97892595018733988536880335157198848.000000, rt 0x42080079 +mov.d $f6, $f8 ::fs 96757042599808.125000, rt 0x49d5e008 +mov.d $f8, $f10 ::fs 11600973572943642624.000000, rt 0x0 +mov.d $f8, $f10 ::fs -0.007813, rt 0x40400000 +mov.d $f10, $f12 ::fs -52072.789633, rt 0x44ad1333 +mov.d $f10, $f12 ::fs -6445705852632282607665545216.000000, rt 0x4e6e6b28 +mov.d $f12, $f14 ::fs 0.000000, rt 0x44db0000 +mov.d $f12, $f14 ::fs -102014360350703794652958156923702465265664.000000, rt 0x322bcc77 +mov.d $f14, $f16 ::fs 11600980417357008896.000000, rt 0xc732da7a +mov.d $f14, $f16 ::fs 97892595018733988536880335157198848.000000, rt 0x42080079 +mov.d $f16, $f18 ::fs 96757042599808.125000, rt 0x49d5e008 +mov.d $f16, $f18 ::fs 11600973572943642624.000000, rt 0x0 +mov.d $f18, $f20 ::fs -0.007813, rt 0x40400000 +mov.d $f18, $f20 ::fs -52072.789633, rt 0x44ad1333 +mov.d $f20, $f22 ::fs -6445705852632282607665545216.000000, rt 0x4e6e6b28 +mov.d $f20, $f22 ::fs 0.000000, rt 0x44db0000 +mov.d $f22, $f24 ::fs -102014360350703794652958156923702465265664.000000, rt 0x322bcc77 +mov.d $f22, $f24 ::fs 11600980417357008896.000000, rt 0xc732da7a +mov.d $f24, $f26 ::fs 97892595018733988536880335157198848.000000, rt 0x42080079 +mov.d $f24, $f26 ::fs 96757042599808.125000, rt 0x49d5e008 +MOVF +movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movf $t0, $t1, $fcc0 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0 +movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movf $t0, $t1, $fcc0 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movf $t0, $t1, $fcc4 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movf $t0, $t1, $fcc4 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0 +MOVF.S +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movf.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0 +MOVF.D +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movf.d $f4, $f6, $fcc0 :: out: 0x42026580 0xb750e388, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3e45798e 0xe2308c3a, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3fbf9add 0x3746f65f, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x252a2e2b 0x262d2d2a, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x42026580 0xb750e388, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3e45798e 0xe2308c3a, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3fbf9add 0x3746f65f, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movf.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 0 +MOVN.S +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.s $f0, $f2, $t3 :: fs rt 0x40400000 +movn.s $f0, $f2, $t3 :: fs rt 0xbf800000 +movn.s $f0, $f2, $t3 :: fs rt 0x44ad1333 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0xc5b4d3c3 +movn.s $f0, $f2, $t3 :: fs rt 0x44db0000 +movn.s $f0, $f2, $t3 :: fs rt 0x3b210e02 +movn.s $f0, $f2, $t3 :: fs rt 0x322bcc77 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x0 +movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.s $f0, $f2, $t3 :: fs rt 0x42080079 +movn.s $f0, $f2, $t3 :: fs rt 0x4732da7a +MOVN.D +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.d $f0, $f2, $t3 :: fs rt 0x40400000 +movn.d $f0, $f2, $t3 :: fs rt 0xbf800000 +movn.d $f0, $f2, $t3 :: fs rt 0x44ad1333 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0xc5b4d3c3 +movn.d $f0, $f2, $t3 :: fs rt 0x44db0000 +movn.d $f0, $f2, $t3 :: fs rt 0x3b210e02 +movn.d $f0, $f2, $t3 :: fs rt 0x322bcc77 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x0 +movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde +movn.d $f0, $f2, $t3 :: fs rt 0x42080079 +movn.d $f0, $f2, $t3 :: fs rt 0x4732da7a +MOVT +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1 +movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0 +MOVT.S +movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 1 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0 +MOVT.D +movt.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x252a2e2b 0x262d2d2a, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x42026580 0xb750e388, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x3e45798e 0xe2308c3a, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x3fbf9add 0x3746f65f, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x252a2e2b 0x262d2d2a, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 1 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0 +MOVZ.S +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0xc0e96d19 +movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28 +movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0xc872bcb1 +movz.s $f0, $f2, $t3 :: fs rt 0xc732da7a +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +movz.s $f0, $f2, $t3 :: fs rt 0x0 +MOVZ.D +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0xc0e96d19 +movz.d $f0, $f2, $t3 :: fs rt 0x4e6e6b28 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0xc872bcb1 +movz.d $f0, $f2, $t3 :: fs rt 0xc732da7a +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0 +movz.d $f0, $f2, $t3 :: fs rt 0x0