From: Geert Uytterhoeven <geert@linux-m68k.org> To: Greg Ungerer <gerg@uclinux.org>, Will Deacon <will@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Boqun Feng <boqun.feng@gmail.com> Cc: Brendan Jackman <jackmanb@google.com>, kernel test robot <lkp@intel.com>, Arnd Bergmann <arnd@arndb.de>, Alexander Viro <viro@zeniv.linux.org.uk>, linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven <geert@linux-m68k.org> Subject: [PATCH] m68k: Fix asm register constraints for atomic ops Date: Sun, 25 Jul 2021 12:46:18 +0200 [thread overview] Message-ID: <20210725104618.365790-1-geert@linux-m68k.org> (raw) 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. Fix this by adjusting the register constraint from "g" (general purpose register) to "d" (data register). Fixes: e39d88ea3ce4a471 ("locking/atomic, arch/m68k: Implement atomic_fetch_{add,sub,and,or,xor}()") Fixes: d839bae4269aea46 ("locking,arch,m68k: Fold atomic_ops") Reported-by: kernel test robot <lkp@intel.com> Reported-by: Arnd Bergmann <arnd@arndb.de> Reported-by: Alexander Viro <viro@zeniv.linux.org.uk> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> --- Personally, I have never seen this failure in an 68020+ build, but I can reproduce it on Coldfire with the config provided by lkp (with bogus CONFIG_RMW_INSNS=y). Technically, the issue was present before, but I doubt adding pre-v3.18 Fixes tags would make any difference for stable... --- arch/m68k/include/asm/atomic.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/m68k/include/asm/atomic.h b/arch/m68k/include/asm/atomic.h index 8637bf8a2f652009..2d5a6e556754290b 100644 --- a/arch/m68k/include/asm/atomic.h +++ b/arch/m68k/include/asm/atomic.h @@ -48,7 +48,7 @@ static inline int arch_atomic_##op##_return(int i, atomic_t *v) \ " casl %2,%1,%0\n" \ " jne 1b" \ : "+m" (*v), "=&d" (t), "=&d" (tmp) \ - : "g" (i), "2" (arch_atomic_read(v))); \ + : "d" (i), "2" (arch_atomic_read(v))); \ return t; \ } @@ -63,7 +63,7 @@ static inline int arch_atomic_fetch_##op(int i, atomic_t *v) \ " casl %2,%1,%0\n" \ " jne 1b" \ : "+m" (*v), "=&d" (t), "=&d" (tmp) \ - : "g" (i), "2" (arch_atomic_read(v))); \ + : "d" (i), "2" (arch_atomic_read(v))); \ return tmp; \ } -- 2.25.1
next reply other threads:[~2021-07-25 13:01 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-25 10:46 Geert Uytterhoeven [this message] 2021-07-25 14:24 ` Andreas Schwab 2021-07-26 7:29 ` Geert Uytterhoeven 2021-07-25 15:26 ` Arnd Bergmann 2021-07-25 23:44 ` Finn Thain 2021-07-26 7:34 ` Geert Uytterhoeven 2021-07-26 7:39 ` Arnd Bergmann
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210725104618.365790-1-geert@linux-m68k.org \ --to=geert@linux-m68k.org \ --cc=arnd@arndb.de \ --cc=boqun.feng@gmail.com \ --cc=gerg@uclinux.org \ --cc=jackmanb@google.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-m68k@lists.linux-m68k.org \ --cc=lkp@intel.com \ --cc=peterz@infradead.org \ --cc=viro@zeniv.linux.org.uk \ --cc=will@kernel.org \ --subject='Re: [PATCH] m68k: Fix asm register constraints for atomic ops' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).