Browse Source

Merge pull request #3682 from XiWeiGu/develop

Fix dnrm2_tiny testcase failure
tags/v0.3.21
Martin Kroeker GitHub 3 years ago
parent
commit
fcbbd8c25c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions
  1. +10
    -0
      kernel/loongarch64/dnrm2.S
  2. +9
    -0
      kernel/mips64/dnrm2.S

+ 10
- 0
kernel/loongarch64/dnrm2.S View File

@@ -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


+ 9
- 0
kernel/mips64/dnrm2.S View File

@@ -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


Loading…
Cancel
Save