Fix declaration of input arguments in the x86_64 microkernels for DOT and AXPY (#1965)
* Tag operands 0 and 1 as both input and output For #1964 (basically a continuation of coding problems first seen in #1292)
This commit is contained in:
@@ -114,9 +114,9 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
@@ -180,10 +180,10 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -112,9 +112,9 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -95,10 +95,10 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -113,10 +113,10 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
@@ -181,9 +181,9 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -97,9 +97,9 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -175,10 +175,10 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -98,9 +98,9 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -105,10 +105,10 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -97,9 +97,9 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -175,10 +175,10 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -64,9 +64,9 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -59,10 +59,10 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -73,9 +73,9 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"subq $16, %1 \n\t"
|
"subq $16, %1 \n\t"
|
||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
@@ -140,10 +140,10 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"subq $16, %1 \n\t"
|
"subq $16, %1 \n\t"
|
||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -99,10 +99,10 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
|
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"subq $16, %1 \n\t"
|
"subq $16, %1 \n\t"
|
||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
@@ -140,10 +140,10 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"subq $16, %1 \n\t"
|
"subq $16, %1 \n\t"
|
||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -65,10 +65,10 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
|
|
||||||
"vmovsd %%xmm4, (%4) \n\t"
|
"vmovsd %%xmm4, (%4) \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -77,9 +77,9 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -75,10 +75,10 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
|
|
||||||
"movsd %%xmm4, (%4) \n\t"
|
"movsd %%xmm4, (%4) \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -81,10 +81,10 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovsd %%xmm4, (%4) \n\t"
|
"vmovsd %%xmm4, (%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -145,10 +145,10 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovsd %%xmm4, (%4) \n\t"
|
"vmovsd %%xmm4, (%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -81,10 +81,10 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovsd %%xmm4, (%4) \n\t"
|
"vmovsd %%xmm4, (%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovsd %%xmm4, (%4) \n\t"
|
"vmovsd %%xmm4, (%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -59,10 +59,10 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -73,9 +73,9 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
@@ -139,10 +139,10 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -99,10 +99,10 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
|
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|||||||
@@ -66,10 +66,10 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
|
|
||||||
"vmovss %%xmm4, (%4) \n\t"
|
"vmovss %%xmm4, (%4) \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -79,10 +79,10 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovss %%xmm4, (%4) \n\t"
|
"vmovss %%xmm4, (%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -75,10 +75,10 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
|
|
||||||
"movss %%xmm4, (%4) \n\t"
|
"movss %%xmm4, (%4) \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -82,10 +82,10 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovss %%xmm4, (%4) \n\t"
|
"vmovss %%xmm4, (%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -80,10 +80,10 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
|
|
||||||
"vmovss %%xmm4, (%4) \n\t"
|
"vmovss %%xmm4, (%4) \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -143,10 +143,10 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
|
|
||||||
"vmovss %%xmm4, (%4) \n\t"
|
"vmovss %%xmm4, (%4) \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -113,10 +113,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
@@ -180,10 +180,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -111,10 +111,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -99,10 +99,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
@@ -176,10 +176,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -113,10 +113,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
@@ -180,10 +180,10 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
|||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|||||||
@@ -96,10 +96,10 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -175,10 +175,10 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -101,10 +101,10 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -186,10 +186,10 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -107,10 +107,10 @@ if ( n < 1280 )
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -199,10 +199,10 @@ if ( n < 1280 )
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
@@ -95,10 +95,10 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
@@ -172,10 +172,10 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
|||||||
"vmovups %%xmm4, 16(%4) \n\t"
|
"vmovups %%xmm4, 16(%4) \n\t"
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
:
|
"+r" (i), // 0
|
||||||
"r" (i), // 0
|
"+r" (n) // 1
|
||||||
"r" (n), // 1
|
:
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|||||||
Reference in New Issue
Block a user