https://gcc.gnu.org/g:1dd6dd18783c3a7411b494f8b9d911cea784a270
commit r15-3644-g1dd6dd18783c3a7411b494f8b9d911cea784a270 Author: Andrew Pinski <quic_apin...@quicinc.com> Date: Sat Sep 14 12:55:07 2024 -0700 testsuite; Fix execute/pr52286.c for 16bit The code path which was added for 16bit had a broken inline-asm which would only assign maybe half of the registers for the `long` type to 0. Adding L to the input operand of the inline-asm fixes the issue by now assigning the full 32bit value of the input register that would match up with the output register. Fixes r0-115223-gb0408f13d4b317 which added the 16bit code path to fix the testcase for 16bit. Pushed as obvious. PR testsuite/116716 gcc/testsuite/ChangeLog: * gcc.c-torture/execute/pr52286.c: Fix inline-asm for 16bit case. Diff: --- gcc/testsuite/gcc.c-torture/execute/pr52286.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.c-torture/execute/pr52286.c b/gcc/testsuite/gcc.c-torture/execute/pr52286.c index bb56295ab529..4fd5d6ac813d 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr52286.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr52286.c @@ -11,7 +11,7 @@ main () b = (~a | 1) & -2038094497; #else long a, b; - asm ("" : "=r" (a) : "0" (0)); + asm ("" : "=r" (a) : "0" (0L)); b = (~a | 1) & -2038094497L; #endif if (b >= 0)