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)

Reply via email to