Skip to content
Commit 87d93029 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven
Browse files

m68k: Fix asm register constraints for atomic ops



Depending on register assignment by the compiler:

    {standard input}:3084: Error: operands mismatch -- statement `andl %a1,%d1' ignored
    {standard input}:3145: Error: operands mismatch -- statement `orl %a1,%d1' ignored
    {standard input}:3195: Error: operands mismatch -- statement `eorl %a1,%d1' ignored

Indeed, the first operand must not be an address register.  However, it
can be an immediate value.  Fix this by adjusting the register
constraint from "g" (general purpose register) to "di" (data register or
immediate).

Fixes: e39d88ea ("locking/atomic, arch/m68k: Implement atomic_fetch_{add,sub,and,or,xor}()")
Fixes: d839bae4 ("locking,arch,m68k: Fold atomic_ops")
Fixes: 1da177e4 ("Linux-2.6.12-rc2")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
Reported-by: default avatarAlexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Tested-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210809112903.3898660-1-geert@linux-m68k.org
parent 2189e928
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment