From cce4b1d9562d60b875982ce9587c68fbac666ec8 Mon Sep 17 00:00:00 2001 From: gxw Date: Thu, 7 Jul 2022 20:39:01 +0800 Subject: [PATCH 1/2] MIPS64: Fix dnrm2_tiny testcase failure --- kernel/mips64/dnrm2.S | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/mips64/dnrm2.S b/kernel/mips64/dnrm2.S index a095e0541..0ccc781e1 100644 --- a/kernel/mips64/dnrm2.S +++ b/kernel/mips64/dnrm2.S @@ -68,6 +68,7 @@ #define ALPHA $f16 #define max $f17 +#define INF $f18 PROLOGUE @@ -86,6 +87,11 @@ move XX, X NOP + //Init INF + lui TEMP, 0x7FF0 + dsll TEMP, TEMP, 32 + MTC1 TEMP, INF + LD a1, 0 * SIZE(X) daddiu N, N, -1 @@ -255,6 +261,9 @@ div.d ALPHA, ALPHA, s1 MOV max, s1 + CMPEQ $fcc0, ALPHA, INF + bc1t $fcc0, .L999 + MOV s1, a1 MOV s2, a1 MOV s3, a1 From 4dd05e526bd3c676173dde9249937b9c6c33485c Mon Sep 17 00:00:00 2001 From: gxw Date: Fri, 15 Jul 2022 11:18:59 +0800 Subject: [PATCH 2/2] LoongArch64: Fix dnrm2_tiny testcase failure --- kernel/loongarch64/dnrm2.S | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/loongarch64/dnrm2.S b/kernel/loongarch64/dnrm2.S index 41db48bdf..ff937ae53 100644 --- a/kernel/loongarch64/dnrm2.S +++ b/kernel/loongarch64/dnrm2.S @@ -53,6 +53,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define s4 $f9 #define ALPHA $f4 #define max $f5 +#define INF $f6 PROLOGUE @@ -61,6 +62,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. LDINT INCX, 0(INCX) #endif + // Init INF + addi.d TEMP, $r0, 0x7FF + slli.d TEMP, TEMP, 52 + MTC INF, TEMP + MTC s1, $r0 bge $r0, N, .L999 slli.d INCX, INCX, BASE_SHIFT @@ -198,7 +204,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. CMPEQ $fcc0, s1, a1 fcvt.d.s ALPHA, ALPHA bcnez $fcc0, .L999 + fdiv.d ALPHA, ALPHA, s1 + CMPEQ $fcc0, INF, ALPHA + bcnez $fcc0, .L999 + MOV max, s1 MOV s1, a1 MOV s2, a1