Commit 6d88f827 authored by Martin Schwidefsky's avatar Martin Schwidefsky

[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: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 1ee92a1c
...@@ -472,7 +472,7 @@ static inline unsigned long __ffz_word_loop(const unsigned long *addr, ...@@ -472,7 +472,7 @@ static inline unsigned long __ffz_word_loop(const unsigned long *addr,
" brct %1,0b\n" " brct %1,0b\n"
"1:\n" "1:\n"
#endif #endif
: "+a" (bytes), "+d" (size) : "+&a" (bytes), "+&d" (size)
: "d" (-1UL), "a" (addr), "m" (*(addrtype *) addr) : "d" (-1UL), "a" (addr), "m" (*(addrtype *) addr)
: "cc" ); : "cc" );
return bytes; return bytes;
...@@ -507,7 +507,7 @@ static inline unsigned long __ffs_word_loop(const unsigned long *addr, ...@@ -507,7 +507,7 @@ static inline unsigned long __ffs_word_loop(const unsigned long *addr,
" brct %1,0b\n" " brct %1,0b\n"
"1:\n" "1:\n"
#endif #endif
: "+a" (bytes), "+a" (size) : "+&a" (bytes), "+&a" (size)
: "d" (0UL), "a" (addr), "m" (*(addrtype *) addr) : "d" (0UL), "a" (addr), "m" (*(addrtype *) addr)
: "cc" ); : "cc" );
return bytes; return bytes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment