diff --git a/kernel/riscv64/nrm2_rvv.c b/kernel/riscv64/nrm2_rvv.c index 3eb423849..14ed68b0a 100644 --- a/kernel/riscv64/nrm2_rvv.c +++ b/kernel/riscv64/nrm2_rvv.c @@ -101,7 +101,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) { BLASLONG i=0; - if (n <= 0 || inc_x <= 0) return(0.0); + if (n <= 0 || inc_x == 0) return(0.0); if(n == 1) return (ABS(x[0])); unsigned int gvl = 0; @@ -119,7 +119,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) unsigned int stride_x = inc_x * sizeof(FLOAT); int idx = 0; - if( n >= gvl ) // don't pay overheads if we're not doing useful work + if( n >= gvl && inc_x > 0 ) // don't pay overheads if we're not doing useful work { for(i=0; i= gvl ) // don't pay overheads if we're not doing useful work + if( n >= gvl && inc_x > 0) // don't pay overheads if we're not doing useful work { for(i=0; i