Skip to content

Commit fcbbd8c

Browse files
authored
Merge pull request #3682 from XiWeiGu/develop
Fix dnrm2_tiny testcase failure
2 parents 7da799d + 4dd05e5 commit fcbbd8c

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

kernel/loongarch64/dnrm2.S

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5353
#define s4 $f9
5454
#define ALPHA $f4
5555
#define max $f5
56+
#define INF $f6
5657

5758
PROLOGUE
5859

@@ -61,6 +62,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6162
LDINT INCX, 0(INCX)
6263
#endif
6364

65+
// Init INF
66+
addi.d TEMP, $r0, 0x7FF
67+
slli.d TEMP, TEMP, 52
68+
MTC INF, TEMP
69+
6470
MTC s1, $r0
6571
bge $r0, N, .L999
6672
slli.d INCX, INCX, BASE_SHIFT
@@ -198,7 +204,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
198204
CMPEQ $fcc0, s1, a1
199205
fcvt.d.s ALPHA, ALPHA
200206
bcnez $fcc0, .L999
207+
201208
fdiv.d ALPHA, ALPHA, s1
209+
CMPEQ $fcc0, INF, ALPHA
210+
bcnez $fcc0, .L999
211+
202212
MOV max, s1
203213
MOV s1, a1
204214
MOV s2, a1

kernel/mips64/dnrm2.S

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868

6969
#define ALPHA $f16
7070
#define max $f17
71+
#define INF $f18
7172

7273

7374
PROLOGUE
@@ -86,6 +87,11 @@
8687
move XX, X
8788
NOP
8889

90+
//Init INF
91+
lui TEMP, 0x7FF0
92+
dsll TEMP, TEMP, 32
93+
MTC1 TEMP, INF
94+
8995
LD a1, 0 * SIZE(X)
9096
daddiu N, N, -1
9197

@@ -255,6 +261,9 @@
255261
div.d ALPHA, ALPHA, s1
256262
MOV max, s1
257263

264+
CMPEQ $fcc0, ALPHA, INF
265+
bc1t $fcc0, .L999
266+
258267
MOV s1, a1
259268
MOV s2, a1
260269
MOV s3, a1

0 commit comments

Comments
 (0)