From d4380c1fe4b9c292092145f85bcd70a2728581d2 Mon Sep 17 00:00:00 2001 From: Zhang Xianyi Date: Thu, 7 Apr 2016 01:44:18 +0800 Subject: [PATCH] Refs xianyi/OpenBLAS-CI#10 , Fix sdot for scipy test_iterative.test_convergence test failure on AMD bulldozer and piledriver. --- kernel/x86_64/sdot.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/kernel/x86_64/sdot.c b/kernel/x86_64/sdot.c index a6da1fe..a3d20d2 100644 --- a/kernel/x86_64/sdot.c +++ b/kernel/x86_64/sdot.c @@ -72,18 +72,20 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y) { BLASLONG i=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 ( (inc_x == 1) && (inc_y == 1) ) { - BLASLONG n1 = n & -32; + n1 = n & (BLASLONG)(-32); if ( n1 ) - sdot_kernel_16(n1, x, y , &dot ); + sdot_kernel_16(n1, x, y , &mydot ); i = n1; @@ -94,12 +96,13 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y) i++ ; } + dot+=mydot; return(dot); } - BLASLONG n1 = n & -2; + n1 = n & (BLASLONG)(-2); while(i < n1) { @@ -124,4 +127,3 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y) } - -- 2.7.4