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.
Bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32}.
Uros.
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index 18127bcada8..f38e3db41fa 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;