From: Heiko Carstens <h...@linux.ibm.com>

s390/bitops: Use correct constraint for arch_test_bit() inline assembly

Use the "Q" instead of "R" constraint to correctly reflect the instruction
format of the tm instruction: the first operand is a memory reference
without index register and short displacement. The "R" constraint indicates
a memory reference with index register instead.

This may lead to compile errors like:

  arch/s390/include/asm/bitops.h: Assembler messages:
  arch/s390/include/asm/bitops.h:60: Error: operand 1: syntax error; missing 
')' after base register
  arch/s390/include/asm/bitops.h:60: Error: operand 2: syntax error; ')' not 
allowed here
  arch/s390/include/asm/bitops.h:60: Error: junk at end of line: `,4'

Reported-by: Nathan Chancellor <nat...@kernel.org>
Closes: 
https://lore.kernel.org/r/20250122-s390-fix-std-for-gcc-15-v1-1-8b00cadee...@kernel.org
Fixes: b2bc1b1a77c0 ("s390/bitops: Provide optimized arch_test_bit()")
Signed-off-by: Heiko Carstens <h...@linux.ibm.com>

diff --git a/arch/s390/include/asm/bitops.h b/arch/s390/include/asm/bitops.h
index blahblah..blahblah 100644
--- a/arch/s390/include/asm/bitops.h
+++ b/arch/s390/include/asm/bitops.h
@@ -60,7 +60,7 @@ static __always_inline bool arch_test_bit(unsigned long nr, 
const volatile unsig
                asm volatile(
                        "       tm      %[addr],%[mask]\n"
                        : "=@cc" (cc)
-                       : [addr] "R" (*addr), [mask] "I" (mask)
+                       : [addr] "Q" (*addr), [mask] "I" (mask)
                        );
                return cc == 3;
        }

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3611

-- 
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to