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:
parent
24e697eadb
commit
d5e6940253
|
@ -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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|
|
@ -96,9 +96,9 @@ static void caxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|
|
@ -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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -176,9 +176,9 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -106,9 +106,9 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -176,9 +176,9 @@ static void cdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -60,9 +60,9 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -79,9 +79,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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
@ -141,9 +141,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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -100,9 +100,9 @@ static void daxpy_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -79,9 +79,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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
@ -141,9 +141,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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -66,9 +66,9 @@ 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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -76,9 +76,9 @@ 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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -82,9 +82,9 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -146,9 +146,9 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -82,9 +82,9 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -79,9 +79,9 @@ static void ddot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -60,9 +60,9 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -79,9 +79,9 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
@ -140,9 +140,9 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -100,9 +100,9 @@ static void saxpy_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha) // 4
|
"r" (alpha) // 4
|
||||||
|
|
|
@ -67,9 +67,9 @@ 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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -80,9 +80,9 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -76,9 +76,9 @@ 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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -83,9 +83,9 @@ static void sdot_kernel_16( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -81,9 +81,9 @@ 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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -144,9 +144,9 @@ 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" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -114,9 +114,9 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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 zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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 zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|
|
@ -100,9 +100,9 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
@ -177,9 +177,9 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (alpha), // 4
|
"r" (alpha), // 4
|
||||||
|
|
|
@ -114,9 +114,9 @@ static void zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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 zaxpy_kernel_4( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *alpha)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"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 zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -176,9 +176,9 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -102,9 +102,9 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -187,9 +187,9 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -108,9 +108,9 @@ if ( n < 1280 )
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -200,9 +200,9 @@ if ( n < 1280 )
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
|
@ -96,9 +96,9 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
@ -173,9 +173,9 @@ static void zdot_kernel_8( BLASLONG n, FLOAT *x, FLOAT *y, FLOAT *dot)
|
||||||
"vzeroupper \n\t"
|
"vzeroupper \n\t"
|
||||||
|
|
||||||
:
|
:
|
||||||
|
"+r" (i), // 0
|
||||||
|
"+r" (n) // 1
|
||||||
:
|
:
|
||||||
"r" (i), // 0
|
|
||||||
"r" (n), // 1
|
|
||||||
"r" (x), // 2
|
"r" (x), // 2
|
||||||
"r" (y), // 3
|
"r" (y), // 3
|
||||||
"r" (dot) // 4
|
"r" (dot) // 4
|
||||||
|
|
Loading…
Reference in New Issue