Skip to content

Commit ebc157f

Browse files
authored
Merge pull request #4190 from martin-frbg/issue4186-2
Allow negative INCX in the ?NRM2 kernels
2 parents 9a0e9c8 + 34da1a0 commit ebc157f

38 files changed

+38
-38
lines changed

kernel/arm/nrm2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
5757
FLOAT absxi = 0.0;
5858

5959

60-
if (n <= 0 || inc_x <= 0) return(0.0);
60+
if (n <= 0 || inc_x == 0) return(0.0);
6161
if ( n == 1 ) return( ABS(x[0]) );
6262

6363
n *= inc_x;

kernel/arm/znrm2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
5757
BLASLONG inc_x2;
5858
FLOAT temp;
5959

60-
if (n <= 0 || inc_x <= 0) return(0.0);
60+
if (n <= 0 || inc_x == 0) return(0.0);
6161

6262
inc_x2 = 2 * inc_x;
6363

kernel/loongarch64/cnrm2.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6161
fmov.d s2, s1
6262
bge $r0, N, .L999
6363
slli.d INCX, INCX, ZBASE_SHIFT
64-
bge $r0, INCX, .L999
64+
beq $r0, INCX, .L999
6565
srai.d I, N, 2
6666
bge $r0, I, .L25
6767
LD a1, X, 0 * SIZE

kernel/loongarch64/dnrm2.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7070
MTC s1, $r0
7171
bge $r0, N, .L999
7272
slli.d INCX, INCX, BASE_SHIFT
73-
bge $r0, INCX, .L999
73+
beq $r0, INCX, .L999
7474
move XX, X
7575
NOP
7676
LD a1, X, 0 * SIZE

kernel/loongarch64/snrm2.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6161
fmov.d s2, s1
6262
bge $r0, N, .L999
6363
slli.d INCX, INCX, BASE_SHIFT
64-
bge $r0, INCX, .L999
64+
beq $r0, INCX, .L999
6565
srai.d I, N, 3
6666
bne INCX, TEMP, .L20
6767
bge $r0, I, .L15

kernel/loongarch64/znrm2.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6464
MTC s1, $r0
6565
bge $r0, N, .L999
6666
slli.d INCX, INCX, ZBASE_SHIFT
67-
bge $r0, INCX, .L999
67+
beq $r0, INCX, .L999
6868
move XX, X
6969
MOV s2, s1
7070
srai.d I, N, 2

kernel/mips/nrm2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
5757
FLOAT absxi = 0.0;
5858

5959

60-
if (n <= 0 || inc_x <= 0) return(0.0);
60+
if (n <= 0 || inc_x == 0) return(0.0);
6161
if ( n == 1 ) return( ABS(x[0]) );
6262

6363
n *= inc_x;

kernel/mips/znrm2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
4848
BLASLONG inc_x2;
4949
FLOAT temp;
5050

51-
if (n <= 0 || inc_x <= 0) return(0.0);
51+
if (n <= 0 || inc_x == 0) return(0.0);
5252

5353
inc_x2 = 2 * inc_x;
5454

kernel/mips64/cnrm2.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
blez N, .L999
7878
mov.d s2, s1
7979

80-
blez INCX, .L999
80+
beqz INCX, .L999
8181
dsll INCX, INCX, ZBASE_SHIFT
8282

8383
dsra I, N, 2

kernel/mips64/dnrm2.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
blez N, .L999
8282
MTC $0, s1
8383

84-
blez INCX, .L999
84+
beqz INCX, .L999
8585
dsll INCX, INCX, BASE_SHIFT
8686

8787
move XX, X

0 commit comments

Comments
 (0)