Browse Source

LoongArch64: Fix dnrm2_tiny testcase failure

tags/v0.3.21
gxw 3 years ago
parent
commit
4dd05e526b
1 changed files with 10 additions and 0 deletions
  1. +10
    -0
      kernel/loongarch64/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


Loading…
Cancel
Save