s390x: replace nop with "nop 0" in inline assembly
... as a bandaid for building with clang until LLVM's internal assembler supports nops without operand. Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
This commit is contained in:
parent
60ef193258
commit
a1616a0b86
|
@ -169,7 +169,7 @@ static void dgemv_kernel_4x4(BLASLONG n, FLOAT **ap, FLOAT *x, FLOAT *y,
|
|||
"agfi %%r1,32\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) y)
|
||||
: [y] "a"(y), "m"(*(const struct { FLOAT x[n]; } *) ap0),[ap0] "a"(ap0),
|
||||
"m"(*(const struct { FLOAT x[n]; } *) ap1),[ap1] "a"(ap1),
|
||||
|
@ -274,7 +274,7 @@ static void dgemv_kernel_4x2(BLASLONG n, FLOAT **ap, FLOAT *x, FLOAT *y,
|
|||
"agfi %%r1,32\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) y)
|
||||
: [y] "a"(y), "m"(*(const struct { FLOAT x[n]; } *) ap0),[ap0] "a"(ap0),
|
||||
"m"(*(const struct { FLOAT x[n]; } *) ap1),[ap1] "a"(ap1),
|
||||
|
@ -351,7 +351,7 @@ static void dgemv_kernel_4x1(BLASLONG n, FLOAT *a0, FLOAT *x, FLOAT *y,
|
|||
"agfi %%r1,32\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) y)
|
||||
: [y] "a"(y), "m"(*(const struct { FLOAT x[n]; } *) a0),[a0] "a"(a0),
|
||||
"m"(*(const FLOAT (*)[1]) x),[x] "a"(x),[alpha] "Q"(*alpha),
|
||||
|
|
|
@ -438,7 +438,7 @@ static void add_y_kernel_4(BLASLONG n, FLOAT da, FLOAT *src, FLOAT *dest) {
|
|||
"agfi %%r1,32\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) dest)
|
||||
: [dest] "a"(dest),[da] "Q"(da), "m"(*(const struct { FLOAT x[n]; } *) src),
|
||||
[src] "a"(src),[n] "r"(n)
|
||||
|
|
|
@ -213,7 +213,7 @@ static BLASLONG icamax_kernel_32(BLASLONG n, FLOAT *x, FLOAT *amax) {
|
|||
"ste %%f0,%[amax]\n\t"
|
||||
"vlgvg %[iamax],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamax] "=r"(iamax),[amax] "=Q"(*amax),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n * 2]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8",
|
||||
|
|
|
@ -213,7 +213,7 @@ static BLASLONG icamin_kernel_32(BLASLONG n, FLOAT *x, FLOAT *amin) {
|
|||
"ste %%f0,%[amin]\n\t"
|
||||
"vlgvg %[iamin],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamin] "=r"(iamin),[amin] "=Q"(*amin),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n * 2]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8",
|
||||
|
|
|
@ -160,7 +160,7 @@ static BLASLONG idamax_kernel_32(BLASLONG n, FLOAT *x, FLOAT *amax) {
|
|||
"std %%f0,%[amax]\n\t"
|
||||
"vlgvg %[iamax],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamax] "=r"(iamax),[amax] "=Q"(*amax),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v16",
|
||||
|
|
|
@ -160,7 +160,7 @@ static BLASLONG idamin_kernel_32(BLASLONG n, FLOAT *x, FLOAT *amin) {
|
|||
"std %%f0,%[amin]\n\t"
|
||||
"vlgvg %[iamin],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamin] "=r"(iamin),[amin] "=Q"(*amin),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v16",
|
||||
|
|
|
@ -140,7 +140,7 @@ static BLASLONG idmax_kernel_32(BLASLONG n, FLOAT *x, FLOAT *max) {
|
|||
"std %%f0,%[max]\n\t"
|
||||
"vlgvg %[imax],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [imax] "=r"(imax),[max] "=Q"(*max),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v16",
|
||||
|
|
|
@ -140,7 +140,7 @@ static BLASLONG idmin_kernel_32(BLASLONG n, FLOAT *x, FLOAT *min) {
|
|||
"std %%f0,%[min]\n\t"
|
||||
"vlgvg %[imin],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [imin] "=r"(imin),[min] "=Q"(*min),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v16",
|
||||
|
|
|
@ -204,7 +204,7 @@ static BLASLONG isamax_kernel_64(BLASLONG n, FLOAT *x, FLOAT *amax) {
|
|||
"ste %%f0,%[amax]\n\t"
|
||||
"vlgvg %[iamax],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamax] "=r"(iamax),[amax] "=Q"(*amax),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v4", "v5", "v6", "v7", "v8", "v16",
|
||||
|
|
|
@ -204,7 +204,7 @@ static BLASLONG isamin_kernel_64(BLASLONG n, FLOAT *x, FLOAT *amin) {
|
|||
"ste %%f0,%[amin]\n\t"
|
||||
"vlgvg %[iamin],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamin] "=r"(iamin),[amin] "=Q"(*amin),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v4", "v5", "v6", "v7", "v8", "v16",
|
||||
|
|
|
@ -184,7 +184,7 @@ static BLASLONG ismax_kernel_64(BLASLONG n, FLOAT *x, FLOAT *max) {
|
|||
"ste %%f0,%[max]\n\t"
|
||||
"vlgvg %[imax],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [imax] "=r"(imax),[max] "=Q"(*max),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v4", "v5", "v6", "v7", "v8", "v16",
|
||||
|
|
|
@ -184,7 +184,7 @@ static BLASLONG ismin_kernel_64(BLASLONG n, FLOAT *x, FLOAT *min) {
|
|||
"ste %%f0,%[min]\n\t"
|
||||
"vlgvg %[imin],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [imin] "=r"(imin),[min] "=Q"(*min),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v4", "v5", "v6", "v7", "v8", "v16",
|
||||
|
|
|
@ -157,7 +157,7 @@ static BLASLONG izamax_kernel_16(BLASLONG n, FLOAT *x, FLOAT *amax) {
|
|||
"std %%f0,%[amax]\n\t"
|
||||
"vlgvg %[iamax],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamax] "=r"(iamax),[amax] "=Q"(*amax),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n * 2]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v16", "v17", "v18",
|
||||
|
|
|
@ -157,7 +157,7 @@ static BLASLONG izamin_kernel_16(BLASLONG n, FLOAT *x, FLOAT *amin) {
|
|||
"std %%f0,%[amin]\n\t"
|
||||
"vlgvg %[iamin],%%v1,0\n\t"
|
||||
"2:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: [iamin] "=r"(iamin),[amin] "=Q"(*amin),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n * 2]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v1", "v2", "v3", "v4", "v5", "v16", "v17", "v18",
|
||||
|
|
|
@ -159,7 +159,7 @@ static void sgemv_kernel_4x4(BLASLONG n, FLOAT **ap, FLOAT *x, FLOAT *y,
|
|||
"agfi %%r1,16\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) y)
|
||||
: [y] "a"(y), "m"(*(const struct { FLOAT x[n]; } *) ap0),[ap0] "a"(ap0),
|
||||
"m"(*(const struct { FLOAT x[n]; } *) ap1),[ap1] "a"(ap1),
|
||||
|
@ -258,7 +258,7 @@ static void sgemv_kernel_4x2(BLASLONG n, FLOAT **ap, FLOAT *x, FLOAT *y,
|
|||
"agfi %%r1,16\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) y)
|
||||
: [y] "a"(y), "m"(*(const struct { FLOAT x[n]; } *) ap0),[ap0] "a"(ap0),
|
||||
"m"(*(const struct { FLOAT x[n]; } *) ap1),[ap1] "a"(ap1),
|
||||
|
@ -331,7 +331,7 @@ static void sgemv_kernel_4x1(BLASLONG n, FLOAT *a0, FLOAT *x, FLOAT *y,
|
|||
"agfi %%r1,16\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) y)
|
||||
: [y] "a"(y), "m"(*(const struct { FLOAT x[n]; } *) a0),[a0] "a"(a0),
|
||||
"m"(*(const FLOAT (*)[1]) x),[x] "a"(x),[alpha] "Q"(*alpha),
|
||||
|
|
|
@ -431,7 +431,7 @@ static void add_y_kernel_4(BLASLONG n, FLOAT da, FLOAT *src, FLOAT *dest) {
|
|||
"agfi %%r1,16\n\t"
|
||||
"brctg %%r0,2b\n\t"
|
||||
"3:\n\t"
|
||||
"nop"
|
||||
"nop 0"
|
||||
: "+m"(*(struct { FLOAT x[n]; } *) dest)
|
||||
: [dest] "a"(dest),[da] "Q"(da), "m"(*(const struct { FLOAT x[n]; } *) src),
|
||||
[src] "a"(src),[n] "r"(n)
|
||||
|
|
Loading…
Reference in New Issue