Browse Source

Improve workaround and keep compilers from optimizing it out

tags/v0.3.24
Martin Kroeker GitHub 3 years ago
parent
commit
3727672a74
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      kernel/arm64/dznrm2_thunderx2t99.c

+ 4
- 2
kernel/arm64/dznrm2_thunderx2t99.c View File

@@ -27,7 +27,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


#include "common.h"
#include <float.h>
#include <arm_neon.h>

#if defined(SMP)
@@ -344,6 +344,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
FLOAT dummy_alpha[2];
#endif
FLOAT ssq, scale;
volatile FLOAT sca;

if (n <= 0 || inc_x <= 0) return 0.0;

@@ -404,7 +405,8 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
#else
nrm2_compute(n, x, inc_x, &ssq, &scale);
#endif
if (fabs(scale) <1.e-300) return 0.;
sca = fabs(scale);
if (sca < DBL_MIN) return 0.;
ssq = sqrt(ssq) * scale;

return ssq;


Loading…
Cancel
Save