Merge pull request #2301 from martin-frbg/ppc8be

Disable IDAMIN/MAX and IZAMIN/MAX optimizations on big-endian POWER8
This commit is contained in:
Martin Kroeker 2019-11-04 22:54:28 +01:00 committed by GitHub
commit 3cd97f1a80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 3 deletions

View File

@ -324,6 +324,7 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) {
if (inc_x == 1) {
#if defined(_CALL_ELF) && (_CALL_ELF == 2)
BLASLONG n1 = n & -32;
if (n1 > 0) {
@ -331,7 +332,7 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) {
i = n1;
}
#endif
while (i < n) {
if (ABS(x[i]) > maxf) {
max = i;

View File

@ -326,13 +326,15 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) {
minf = ABS(x[0]); //index's not incremented
if (inc_x == 1) {
#if defined(_CALL_ELF) && (_CALL_ELF == 2)
BLASLONG n1 = n & -32;
if (n1 > 0) {
min = diamin_kernel_32(n1, x, &minf);
i = n1;
}
#endif
while (i < n) {
if (ABS(x[i]) < minf) {
min = i;

View File

@ -316,6 +316,7 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
if (inc_x == 1) {
#if defined(_CALL_ELF) && (_CALL_ELF == 2)
BLASLONG n1 = n & -16;
if (n1 > 0) {
@ -323,6 +324,7 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
i = n1;
ix = n1 << 1;
}
#endif
while(i < n)
{

View File

@ -314,6 +314,8 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
if (inc_x == 1) {
minf = CABS1(x,0); //index will not be incremented
#if defined(_CALL_ELF) && (_CALL_ELF == 2)
BLASLONG n1 = n & -16;
if (n1 > 0) {
@ -321,7 +323,7 @@ BLASLONG CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
i = n1;
ix = n1 << 1;
}
#endif
while(i < n)
{