diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-02-09 12:24:29 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-02-09 12:24:37 -0500 |
commit | 6d88f827d7c3e73d11a62fdabccca001aece7295 (patch) | |
tree | df03467229604d48f56f88d65cba888aa9fa1497 /include/asm-s390 | |
parent | 1ee92a1c79b4a44586490a52132d105972374223 (diff) |
[S390] Fix __ffs_word_loop/__ffz_word_loop inlnie assembly.
The black art of inline assemblies.. The new __ffs_word_loop/
__ffz_word_loop inline assemblies need an early clobber for the
two input/output variables.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'include/asm-s390')
-rw-r--r-- | include/asm-s390/bitops.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-s390/bitops.h b/include/asm-s390/bitops.h index 882db054110c..ab83c844d04c 100644 --- a/include/asm-s390/bitops.h +++ b/include/asm-s390/bitops.h | |||
@@ -472,7 +472,7 @@ static inline unsigned long __ffz_word_loop(const unsigned long *addr, | |||
472 | " brct %1,0b\n" | 472 | " brct %1,0b\n" |
473 | "1:\n" | 473 | "1:\n" |
474 | #endif | 474 | #endif |
475 | : "+a" (bytes), "+d" (size) | 475 | : "+&a" (bytes), "+&d" (size) |
476 | : "d" (-1UL), "a" (addr), "m" (*(addrtype *) addr) | 476 | : "d" (-1UL), "a" (addr), "m" (*(addrtype *) addr) |
477 | : "cc" ); | 477 | : "cc" ); |
478 | return bytes; | 478 | return bytes; |
@@ -507,7 +507,7 @@ static inline unsigned long __ffs_word_loop(const unsigned long *addr, | |||
507 | " brct %1,0b\n" | 507 | " brct %1,0b\n" |
508 | "1:\n" | 508 | "1:\n" |
509 | #endif | 509 | #endif |
510 | : "+a" (bytes), "+a" (size) | 510 | : "+&a" (bytes), "+&a" (size) |
511 | : "d" (0UL), "a" (addr), "m" (*(addrtype *) addr) | 511 | : "d" (0UL), "a" (addr), "m" (*(addrtype *) addr) |
512 | : "cc" ); | 512 | : "cc" ); |
513 | return bytes; | 513 | return bytes; |