Refs xianyi/OpenBLAS-CI#10 , Fix sdot for scipy test_iterative.test_convergence test failure on AMD bulldozer and piledriver.

This commit is contained in:
Zhang Xianyi 2016-04-07 01:44:18 +08:00
parent 7282419525
commit d4380c1fe4
1 changed files with 7 additions and 5 deletions

View File

@ -72,18 +72,20 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
{ {
BLASLONG i=0; BLASLONG i=0;
BLASLONG ix=0,iy=0; BLASLONG ix=0,iy=0;
double dot = 0.0 ;
FLOAT dot = 0.0 ; FLOAT mydot=0.0;
BLASLONG n1;
if ( n <= 0 ) return(dot); if ( n <= 0 ) return(dot);
if ( (inc_x == 1) && (inc_y == 1) ) if ( (inc_x == 1) && (inc_y == 1) )
{ {
BLASLONG n1 = n & -32; n1 = n & (BLASLONG)(-32);
if ( n1 ) if ( n1 )
sdot_kernel_16(n1, x, y , &dot ); sdot_kernel_16(n1, x, y , &mydot );
i = n1; i = n1;
@ -94,12 +96,13 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
i++ ; i++ ;
} }
dot+=mydot;
return(dot); return(dot);
} }
BLASLONG n1 = n & -2; n1 = n & (BLASLONG)(-2);
while(i < n1) while(i < n1)
{ {
@ -124,4 +127,3 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y)
} }