From 23dbca399184718596375da56b6006f254c2cef7 Mon Sep 17 00:00:00 2001 From: Dygore Date: Fri, 14 Apr 2023 00:33:53 -0500 Subject: [PATCH 1/2] Added tests for full coverage of the FPU result sign module --- tests/coverage/fpu.S | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tests/coverage/fpu.S b/tests/coverage/fpu.S index 9c8f3d34..d377d47d 100644 --- a/tests/coverage/fpu.S +++ b/tests/coverage/fpu.S @@ -32,10 +32,19 @@ main: csrs mstatus, t0 #Pull denormalized FP number from memory and pass it to fclass.S for coverage - la t0, TestData + la t0, TestData1 flw ft0, 0(t0) fclass.s t1, ft0 + #Result Sign Test Coverage + la t0, TestData2 + flw ft0, 0(t0) + flw ft1, 4(t0) + fadd.s ft2, ft0, ft1 #Adds coverage for inf as arg for FADD + + flw ft2, 4(t0) + fmsub.s ft3, ft0, ft1, ft2 #Adds coverage for fmaAs or Z Sign Bit + # Test legal instructions not covered elsewhere flq ft0, 0(a0) flh ft0, 8(a0) @@ -105,5 +114,8 @@ main: .section .data .align 3 -TestData: -.int 0x00100000 #Denormalized FP number \ No newline at end of file +TestData1: +.int 0x00100000 #Denormalized FP number +TestData2: +.word 0x60000001 #Random FP Number (Pos) +.word 0x7f800000 #INF \ No newline at end of file From 92a0827d80a74f28d9c98885558726aff2ef8676 Mon Sep 17 00:00:00 2001 From: Dygore Date: Fri, 14 Apr 2023 14:40:55 -0500 Subject: [PATCH 2/2] Added multiple tests to increase FPU coverage --- tests/coverage/fpu.S | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/tests/coverage/fpu.S b/tests/coverage/fpu.S index d377d47d..b2a52be0 100644 --- a/tests/coverage/fpu.S +++ b/tests/coverage/fpu.S @@ -45,6 +45,30 @@ main: flw ft2, 4(t0) fmsub.s ft3, ft0, ft1, ft2 #Adds coverage for fmaAs or Z Sign Bit + #Adds Coverage for Flag fmaAs, fmaPs, YSNaN, ZSNaN + fmadd.s ft3, ft0, ft1, ft2 + + flw ft0, 8(t0) + fmadd.s ft3, ft0, ft1, ft2 + + flw ft1, 12(t0) + fmadd.s ft3, ft0, ft1, ft2 + + flw ft2, 12(t0) + flw ft1, 4(t0) + fmadd.s ft3, ft0, ft1, ft2 + + #Add Coverage for round lsbRes + flw ft0, 16(t0) + flw ft1, 4(t0) + fmadd.s ft3, ft0, ft1, ft2 + + #Fix BadNaNBox test on unpackinput Z + la t0, TestData2 + flw ft3, 0(t0) + flw ft4, 0(t0) + fadd.s ft5, ft3, ft4 + # Test legal instructions not covered elsewhere flq ft0, 0(a0) flh ft0, 8(a0) @@ -117,5 +141,8 @@ main: TestData1: .int 0x00100000 #Denormalized FP number TestData2: -.word 0x60000001 #Random FP Number (Pos) -.word 0x7f800000 #INF \ No newline at end of file +.int 0x3f800000 #FP 1.0 +.word 0x7f800000 #INF +.int 0xbf800000 #FP -1.0 +.int 0x7fa00000 #SNaN +.int 0x3fffffff #OverFlow Test \ No newline at end of file