mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
m68k: Fix asm constraints for atomic_sub_and_test() and atomic_add_negative()
Recently, we started seeing this on allmodconfig builds: CC mm/memcontrol.o {standard input}: Assembler messages: {standard input}:4076: Error: operands mismatch -- statement `subl 12(%fp),170(%a0)' ignored Correct the asm constraint, like done for m68knommu. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
parent
1aac4effad
commit
b560177f3e
1 changed files with 6 additions and 2 deletions
|
@ -148,14 +148,18 @@ static inline int atomic_xchg(atomic_t *v, int new)
|
|||
static inline int atomic_sub_and_test(int i, atomic_t *v)
|
||||
{
|
||||
char c;
|
||||
__asm__ __volatile__("subl %2,%1; seq %0" : "=d" (c), "+m" (*v): "g" (i));
|
||||
__asm__ __volatile__("subl %2,%1; seq %0"
|
||||
: "=d" (c), "+m" (*v)
|
||||
: "id" (i));
|
||||
return c != 0;
|
||||
}
|
||||
|
||||
static inline int atomic_add_negative(int i, atomic_t *v)
|
||||
{
|
||||
char c;
|
||||
__asm__ __volatile__("addl %2,%1; smi %0" : "=d" (c), "+m" (*v): "g" (i));
|
||||
__asm__ __volatile__("addl %2,%1; smi %0"
|
||||
: "=d" (c), "+m" (*v)
|
||||
: "id" (i));
|
||||
return c != 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue