aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-s390
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2008-02-09 12:24:29 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-02-09 12:24:37 -0500
commit6d88f827d7c3e73d11a62fdabccca001aece7295 (patch)
treedf03467229604d48f56f88d65cba888aa9fa1497 /include/asm-s390
parent1ee92a1c79b4a44586490a52132d105972374223 (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.h4
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;