bugfix in sgemv_t_microk_sandy.c
authorwernsaar <wernsaar@googlemail.com>
Sun, 20 Jul 2014 08:48:41 +0000 (10:48 +0200)
committerwernsaar <wernsaar@googlemail.com>
Sun, 20 Jul 2014 08:48:41 +0000 (10:48 +0200)
kernel/x86_64/KERNEL.SANDYBRIDGE
kernel/x86_64/sgemv_t_microk_sandy.c

index 7228357..7d6b81d 100644 (file)
@@ -1,3 +1,11 @@
+ifdef OS_WINDOWS
+#SGEMVNKERNEL = ../arm/gemv_n.c
+SGEMVTKERNEL = ../arm/gemv_t.c
+else
+#SGEMVNKERNEL = sgemv_n_avx.c
+SGEMVTKERNEL = sgemv_t_avx.c
+endif
+
 
 SGEMMKERNEL    =  sgemm_kernel_16x4_sandy.S
 SGEMMINCOPY    =  ../generic/gemm_ncopy_16.c
index 1745db3..4ecd6d3 100644 (file)
@@ -80,7 +80,8 @@ static void  sgemv_kernel_16( long n, float alpha, float *a, long lda, float *x,
        "vhaddps        %%xmm12, %%xmm12, %%xmm12\n\t"  
        "vhaddps        %%xmm12, %%xmm12, %%xmm12\n\t"  
 
-       "vfmaddss       (%%rdx), %%xmm12, %%xmm1, %%xmm12\n\t"
+       "vmulss         %%xmm12, %%xmm1, %%xmm12 \n\t"
+       "vaddss        (%%rdx), %%xmm12, %%xmm12\n\t"
        "vmovss         %%xmm12, (%%rdx)         \n\t"  // store temp -> y
 
        :