Commit 547b216d by David Edelsohn Committed by David Edelsohn

rs6000.c (num_insns_constant_wide): Change satisfies_constraint_[IL] to explicit tests on value.

	* config/rs6000/rs6000.c (num_insns_constant_wide): Change
	satisfies_constraint_[IL] to explicit tests on value.

From-SVN: r112676
parent dc61cc6b
2006-04-04 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (num_insns_constant_wide): Change
satisfies_constraint_[IL] to explicit tests on value.
2006-04-04 Sebastian Pop <pop@cri.ensmp.fr> 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
......
...@@ -2004,11 +2004,12 @@ int ...@@ -2004,11 +2004,12 @@ int
num_insns_constant_wide (HOST_WIDE_INT value) num_insns_constant_wide (HOST_WIDE_INT value)
{ {
/* signed constant loadable with {cal|addi} */ /* signed constant loadable with {cal|addi} */
if (satisfies_constraint_I (GEN_INT (value))) if ((unsigned HOST_WIDE_INT) (value + 0x8000) < 0x10000)
return 1; return 1;
/* constant loadable with {cau|addis} */ /* constant loadable with {cau|addis} */
else if (satisfies_constraint_L (GEN_INT (value))) else if ((value & 0xffff) == 0
&& (value >> 31 == -1 || value >> 31 == 0))
return 1; return 1;
#if HOST_BITS_PER_WIDE_INT == 64 #if HOST_BITS_PER_WIDE_INT == 64
......
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