From 757e8e5b4c0406879ecb53021b29b5ef7bc1bb36 Mon Sep 17 00:00:00 2001 From: hrydgard Date: Sat, 13 Jun 2009 20:20:48 +0000 Subject: [PATCH] TestSuite: fix bug in first fpu test (must use stfd to get value of FPSCR, stfs corrupts the value trying to convert to single precision) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3430 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/TestSuite/FPU/source/dolphintest_fpu.cpp | 8 ++++---- Source/TestSuite/FPU/source/fpu_asm.S | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/TestSuite/FPU/source/dolphintest_fpu.cpp b/Source/TestSuite/FPU/source/dolphintest_fpu.cpp index 69207bc9aa..28e19671b9 100644 --- a/Source/TestSuite/FPU/source/dolphintest_fpu.cpp +++ b/Source/TestSuite/FPU/source/dolphintest_fpu.cpp @@ -41,12 +41,12 @@ void TestDivision() { } void TestFres() { - u32 fpscr; + u32 fpscr[2]; float out, out2; - TestFRES1(&fpscr, &out, &out2); + TestFRES1(fpscr, &out, &out2); char temp[100]; - sprintf(temp, "%08x %1.1f %1.1f", fpscr, out, out2); - Compare(temp, "ffc00004 inf 0.0"); + sprintf(temp, "%08x %1.1f %1.1f", fpscr[1], out, out2); + Compare(temp, "86002004 inf 0.0"); } void TestNormalize() { diff --git a/Source/TestSuite/FPU/source/fpu_asm.S b/Source/TestSuite/FPU/source/fpu_asm.S index ec932c13dd..3f5bb57155 100644 --- a/Source/TestSuite/FPU/source/fpu_asm.S +++ b/Source/TestSuite/FPU/source/fpu_asm.S @@ -1,9 +1,9 @@ #define _LANGUAGE_ASSEMBLY #include "asm.h" - .globl TestFRES1 //r3 = &fpscr //r4 = result + .globl TestFRES1 TestFRES1: lis r9,Unit01@ha addi r9,r9,Unit01@l @@ -13,7 +13,7 @@ TestFRES1: fres fr0, fr0 stfs fr0, 0(r5) mffs fr1 - stfs fr1, 0(r3) + stfd fr1, 0(r3) blr .section .data