https://gcc.gnu.org/g:2af32814cf2ba3c632fd5a3f69f275613383723d

commit r15-8989-g2af32814cf2ba3c632fd5a3f69f275613383723d
Author: Uros Bizjak <ubiz...@gmail.com>
Date:   Thu Mar 27 21:25:36 2025 +0100

    i386: Fix offset calculation in ix86_redzone_clobber
    
    plus_constant expects integer as its third argument, not rtx.
    
    gcc/ChangeLog:
    
            * config/i386/i386.cc (ix86_redzone_clobber): Use integer, not rtx
            as the third argument of plus_constant.

Diff:
---
 gcc/config/i386/i386.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index 18127bcada81..f38e3db41fa9 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -26465,8 +26465,7 @@ ix86_redzone_clobber ()
   cfun->machine->asm_redzone_clobber_seen = true;
   if (ix86_using_red_zone ())
     {
-      rtx base = plus_constant (Pmode, stack_pointer_rtx,
-                               GEN_INT (-RED_ZONE_SIZE));
+      rtx base = plus_constant (Pmode, stack_pointer_rtx, -RED_ZONE_SIZE);
       rtx mem = gen_rtx_MEM (BLKmode, base);
       set_mem_size (mem, RED_ZONE_SIZE);
       return mem;

Reply via email to