Browse Source

Merge pull request #2301 from martin-frbg/ppc8be

Disable IDAMIN/MAX and IZAMIN/MAX optimizations on big-endian POWER8
tags/v0.3.8^2
Martin Kroeker GitHub 6 years ago
parent
commit
3cd97f1a80
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 3 deletions
  1. +2
    -1
      kernel/power/idamax.c
  2. +3
    -1
      kernel/power/idamin.c
  3. +2
    -0
      kernel/power/izamax.c
  4. +3
    -1
      kernel/power/izamin.c

+ 2
- 1
kernel/power/idamax.c 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;


+ 3
- 1
kernel/power/idamin.c 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;


+ 2
- 0
kernel/power/izamax.c 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)
{


+ 3
- 1
kernel/power/izamin.c 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)
{


Loading…
Cancel
Save