Commit 0d77cc6c by Jan Hubicka Committed by Jan Hubicka

* expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap

From-SVN: r139897
parent e0978eba
2008-09-02 Jan Hubicka <jh@suse.cz>
* expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap
2008-09-02 H.J. Lu <hongjiu.lu@intel.com> 2008-09-02 H.J. Lu <hongjiu.lu@intel.com>
* expr.c (emit_group_store): Don't assert stack temp mode size. * expr.c (emit_group_store): Don't assert stack temp mode size.
......
...@@ -4086,8 +4086,8 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode, ...@@ -4086,8 +4086,8 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode,
goto fail1; goto fail1;
} }
else if (EXACT_POWER_OF_2_OR_ZERO_P (d) else if (EXACT_POWER_OF_2_OR_ZERO_P (d)
&& (rem_flag ? smod_pow2_cheap[compute_mode] && (rem_flag ? smod_pow2_cheap[speed][compute_mode]
: sdiv_pow2_cheap[compute_mode]) : sdiv_pow2_cheap[speed][compute_mode])
/* We assume that cheap metric is true if the /* We assume that cheap metric is true if the
optab has an expander for this mode. */ optab has an expander for this mode. */
&& ((optab_handler ((rem_flag ? smod_optab && ((optab_handler ((rem_flag ? smod_optab
...@@ -4107,7 +4107,7 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode, ...@@ -4107,7 +4107,7 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode,
return gen_lowpart (mode, remainder); return gen_lowpart (mode, remainder);
} }
if (sdiv_pow2_cheap[compute_mode] if (sdiv_pow2_cheap[speed][compute_mode]
&& ((optab_handler (sdiv_optab, compute_mode)->insn_code && ((optab_handler (sdiv_optab, compute_mode)->insn_code
!= CODE_FOR_nothing) != CODE_FOR_nothing)
|| (optab_handler (sdivmod_optab, compute_mode)->insn_code || (optab_handler (sdivmod_optab, compute_mode)->insn_code
......
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