Commit 3903f804 by Eric Botcazou Committed by Eric Botcazou

re PR target/50091 (-fstack-check generates wrong assembly)

	PR target/50091
	* config/rs6000/rs6000.md (probe_stack): Use explicit operand.
	* config/rs6000/rs6000.c (output_probe_stack_range): Likewise.

Co-Authored-By: Iain Sandoe <developer@sandoe-acoustics.co.uk>

From-SVN: r178944
parent e0cdd8d4
2011-09-18 Eric Botcazou <ebotcazou@adacore.com>
Iain Sandoe <developer@sandoe-acoustics.co.uk>
PR target/50091
* config/rs6000/rs6000.md (probe_stack): Use explicit operand.
* config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
2011-09-18 H.J. Lu <hongjiu.lu@intel.com> 2011-09-18 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/bmiintrin.h: Remove tmp. * config/i386/bmiintrin.h: Remove tmp.
...@@ -19303,7 +19303,8 @@ output_probe_stack_range (rtx reg1, rtx reg2) ...@@ -19303,7 +19303,8 @@ output_probe_stack_range (rtx reg1, rtx reg2)
output_asm_insn ("{cal %0,%1(%0)|addi %0,%0,%1}", xops); output_asm_insn ("{cal %0,%1(%0)|addi %0,%0,%1}", xops);
/* Probe at TEST_ADDR and branch. */ /* Probe at TEST_ADDR and branch. */
output_asm_insn ("{st|stw} 0,0(%0)", xops); xops[1] = gen_rtx_REG (Pmode, 0);
output_asm_insn ("{st|stw} %1,0(%0)", xops);
fprintf (asm_out_file, "\tb "); fprintf (asm_out_file, "\tb ");
assemble_name_raw (asm_out_file, loop_lab); assemble_name_raw (asm_out_file, loop_lab);
fputc ('\n', asm_out_file); fputc ('\n', asm_out_file);
......
...@@ -13049,7 +13049,11 @@ ...@@ -13049,7 +13049,11 @@
[(set (match_operand 0 "memory_operand" "=m") [(set (match_operand 0 "memory_operand" "=m")
(unspec [(const_int 0)] UNSPEC_PROBE_STACK))] (unspec [(const_int 0)] UNSPEC_PROBE_STACK))]
"" ""
"{st%U0%X0|stw%U0%X0} 0,%0" "*
{
operands[1] = gen_rtx_REG (Pmode, 0);
return \"{st%U0%X0|stw%U0%X0} %1,%0\";
}"
[(set_attr "type" "store") [(set_attr "type" "store")
(set_attr "length" "4")]) (set_attr "length" "4")])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment