2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
	problem.
	(rs6000_emit_prologue): Invert logic.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
	(reg:P 11) instead of match_operand.
	(*save_fpregs_<mode>): Likewise.
	(*restore_gpregs_<mode>): Likewise.
	(*return_and_restore_gpregs_<mode>): Likewise.
	(*return_and_restore_fpregs_<mode>): Likewise.
	* config/rs6000/spe.md (*save_gpregs_spe): Use explicit
	(reg:P 11) insted of match_operand.
	(*restore_gpregs_spe): Likewise.
	(*return_and_restore_gpregs_spe): Likewise.

From-SVN: r141554
This commit is contained in:
Nathan Froyd 2008-11-03 18:19:13 +00:00 committed by Nathan Froyd
parent 40bd572007
commit e1ece9f1f2
4 changed files with 45 additions and 27 deletions

View file

@ -1,3 +1,22 @@
2008-11-03 Nathan Froyd <froydnj@codesourcery.com>
Revert:
2008-10-31 Nathan Froyd <froydnj@codesourcery.com>
* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
problem.
(rs6000_emit_prologue): Invert logic.
* config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
(reg:P 11) instead of match_operand.
(*save_fpregs_<mode>): Likewise.
(*restore_gpregs_<mode>): Likewise.
(*return_and_restore_gpregs_<mode>): Likewise.
(*return_and_restore_fpregs_<mode>): Likewise.
* config/rs6000/spe.md (*save_gpregs_spe): Use explicit
(reg:P 11) insted of match_operand.
(*restore_gpregs_spe): Likewise.
(*return_and_restore_gpregs_spe): Likewise.
2008-11-03 Harsha Jagasia <harsha.jagasia@amd.com>
PR tree-optimization/37684

View file

@ -15842,8 +15842,7 @@ static bool
no_global_regs_above (int first, bool gpr)
{
int i;
int last = gpr ? 32 : 64;
for (i = first; i < last; i++)
for (i = first; i < gpr ? 32 : 64 ; i++)
if (global_regs[i])
return false;
return true;
@ -16122,7 +16121,7 @@ rs6000_emit_prologue (void)
int using_store_multiple;
int using_static_chain_p = (cfun->static_chain_decl != NULL_TREE
&& df_regs_ever_live_p (STATIC_CHAIN_REGNUM)
&& call_used_regs[STATIC_CHAIN_REGNUM]);
&& !call_used_regs[STATIC_CHAIN_REGNUM]);
HOST_WIDE_INT sp_offset = 0;
if (TARGET_FIX_AND_CONTINUE)

View file

@ -14604,9 +14604,9 @@
[(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65))
(use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:P 2 "memory_operand" "=m")
(match_operand:P 3 "gpc_reg_operand" "r"))])]
(use (match_operand:P 2 "gpc_reg_operand" "r"))
(set (match_operand:P 3 "memory_operand" "=m")
(match_operand:P 4 "gpc_reg_operand" "r"))])]
""
"bl %z1"
[(set_attr "type" "branch")
@ -14616,9 +14616,9 @@
[(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65))
(use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:DF 2 "memory_operand" "=m")
(match_operand:DF 3 "gpc_reg_operand" "f"))])]
(use (match_operand:P 2 "gpc_reg_operand" "r"))
(set (match_operand:DF 3 "memory_operand" "=m")
(match_operand:DF 4 "gpc_reg_operand" "f"))])]
""
"bl %z1"
[(set_attr "type" "branch")
@ -14711,9 +14711,9 @@
[(match_parallel 0 "any_parallel_operand"
[(clobber (match_operand:P 1 "register_operand" "=l"))
(use (match_operand:P 2 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:P 3 "gpc_reg_operand" "=r")
(match_operand:P 4 "memory_operand" "m"))])]
(use (match_operand:P 3 "gpc_reg_operand" "r"))
(set (match_operand:P 4 "gpc_reg_operand" "=r")
(match_operand:P 5 "memory_operand" "m"))])]
""
"bl %z2"
[(set_attr "type" "branch")
@ -14724,9 +14724,9 @@
[(return)
(clobber (match_operand:P 1 "register_operand" "=l"))
(use (match_operand:P 2 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:P 3 "gpc_reg_operand" "=r")
(match_operand:P 4 "memory_operand" "m"))])]
(use (match_operand:P 3 "gpc_reg_operand" "r"))
(set (match_operand:P 4 "gpc_reg_operand" "=r")
(match_operand:P 5 "memory_operand" "m"))])]
""
"b %z2"
[(set_attr "type" "branch")
@ -14737,9 +14737,9 @@
[(return)
(clobber (match_operand:P 1 "register_operand" "=l"))
(use (match_operand:P 2 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:DF 3 "gpc_reg_operand" "=f")
(match_operand:DF 4 "memory_operand" "m"))])]
(use (match_operand:P 3 "gpc_reg_operand" "r"))
(set (match_operand:DF 4 "gpc_reg_operand" "=f")
(match_operand:DF 5 "memory_operand" "m"))])]
""
"b %z2"
[(set_attr "type" "branch")

View file

@ -3144,9 +3144,9 @@
[(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65))
(use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:V2SI 2 "memory_operand" "=m")
(match_operand:V2SI 3 "gpc_reg_operand" "r"))])]
(use (match_operand:P 2 "gpc_reg_operand" "r"))
(set (match_operand:V2SI 3 "memory_operand" "=m")
(match_operand:V2SI 4 "gpc_reg_operand" "r"))])]
"TARGET_SPE_ABI"
"bl %z1"
[(set_attr "type" "branch")
@ -3156,9 +3156,9 @@
[(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65))
(use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
(match_operand:V2SI 3 "memory_operand" "m"))])]
(use (match_operand:P 2 "gpc_reg_operand" "r"))
(set (match_operand:V2SI 3 "gpc_reg_operand" "=r")
(match_operand:V2SI 4 "memory_operand" "m"))])]
"TARGET_SPE_ABI"
"bl %z1"
[(set_attr "type" "branch")
@ -3169,9 +3169,9 @@
[(return)
(clobber (reg:P 65))
(use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11))
(set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
(match_operand:V2SI 3 "memory_operand" "m"))])]
(use (match_operand:P 2 "gpc_reg_operand" "r"))
(set (match_operand:V2SI 3 "gpc_reg_operand" "=r")
(match_operand:V2SI 4 "memory_operand" "m"))])]
"TARGET_SPE_ABI"
"b %z1"
[(set_attr "type" "branch")