| @@ -68,6 +68,7 @@ | |||||
| #define ALPHA $f16 | #define ALPHA $f16 | ||||
| #define max $f17 | #define max $f17 | ||||
| #define INF $f18 | |||||
| PROLOGUE | PROLOGUE | ||||
| @@ -86,6 +87,11 @@ | |||||
| move XX, X | move XX, X | ||||
| NOP | NOP | ||||
| //Init INF | |||||
| lui TEMP, 0x7FF0 | |||||
| dsll TEMP, TEMP, 32 | |||||
| MTC1 TEMP, INF | |||||
| LD a1, 0 * SIZE(X) | LD a1, 0 * SIZE(X) | ||||
| daddiu N, N, -1 | daddiu N, N, -1 | ||||
| @@ -255,6 +261,9 @@ | |||||
| div.d ALPHA, ALPHA, s1 | div.d ALPHA, ALPHA, s1 | ||||
| MOV max, s1 | MOV max, s1 | ||||
| CMPEQ $fcc0, ALPHA, INF | |||||
| bc1t $fcc0, .L999 | |||||
| MOV s1, a1 | MOV s1, a1 | ||||
| MOV s2, a1 | MOV s2, a1 | ||||
| MOV s3, a1 | MOV s3, a1 | ||||