Improve workaround and keep compilers from optimizing it out
This commit is contained in:
parent
108a21e47a
commit
3727672a74
|
@ -27,7 +27,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include <float.h>
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
#if defined(SMP)
|
#if defined(SMP)
|
||||||
|
@ -344,6 +344,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
|
||||||
FLOAT dummy_alpha[2];
|
FLOAT dummy_alpha[2];
|
||||||
#endif
|
#endif
|
||||||
FLOAT ssq, scale;
|
FLOAT ssq, scale;
|
||||||
|
volatile FLOAT sca;
|
||||||
|
|
||||||
if (n <= 0 || inc_x <= 0) return 0.0;
|
if (n <= 0 || inc_x <= 0) return 0.0;
|
||||||
|
|
||||||
|
@ -404,7 +405,8 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
|
||||||
#else
|
#else
|
||||||
nrm2_compute(n, x, inc_x, &ssq, &scale);
|
nrm2_compute(n, x, inc_x, &ssq, &scale);
|
||||||
#endif
|
#endif
|
||||||
if (fabs(scale) <1.e-300) return 0.;
|
sca = fabs(scale);
|
||||||
|
if (sca < DBL_MIN) return 0.;
|
||||||
ssq = sqrt(ssq) * scale;
|
ssq = sqrt(ssq) * scale;
|
||||||
|
|
||||||
return ssq;
|
return ssq;
|
||||||
|
|
Loading…
Reference in New Issue