12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- From a592242578e573778241cae6d3928c064dcdfda4 Mon Sep 17 00:00:00 2001
- From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
- Date: Tue, 18 Jun 2019 22:19:12 +0000
- Subject: [PATCH] xtensa: fix for PR target/90922
- Stack pointer adjustment code in prologue missed a case of no
- callee-saved registers and a stack frame size bigger than 128 bytes.
- Handle that case.
- This fixes the following gcc tests with call0 ABI:
- gcc.c-torture/execute/stdarg-2.c
- gcc.dg/torture/pr55882.c
- gcc.dg/torture/pr57569.c
- gcc/
- 2019-06-18 Max Filippov <jcmvbkbc@gmail.com>
- * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
- pointer adjustment for the case of no callee-saved registers and
- stack frame bigger than 128 bytes.
- Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
- ---
- gcc/config/xtensa/xtensa.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
- diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
- index 19bd616d67f6..ee5612441e25 100644
- --- a/gcc/config/xtensa/xtensa.c
- +++ b/gcc/config/xtensa/xtensa.c
- @@ -2862,7 +2862,8 @@ xtensa_expand_prologue (void)
- gen_rtx_SET (mem, reg));
- }
- }
- - if (total_size > 1024)
- + if (total_size > 1024
- + || (!callee_save_size && total_size > 128))
- {
- rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
- emit_move_insn (tmp_reg, GEN_INT (total_size -
- --
- 2.11.0
|