stmt (expand_end_case): Reorder conversion sequence for jump table to avoid extra truncations.

* stmt (expand_end_case): Reorder conversion sequence for jump
	table to avoid extra truncations.

From-SVN: r34291
This commit is contained in:
Nathan Sidwell 2000-05-31 10:57:19 +00:00 committed by Nathan Sidwell
parent ce7715bdb8
commit ecc9dd932a
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2000-05-31 Nathan Sidwell <nathan@codesourcery.com>
* stmt (expand_end_case): Reorder conversion sequence for jump
table to avoid extra truncations.
Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com)
* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn

View file

@ -5579,10 +5579,10 @@ expand_end_case (orig_index)
#ifdef HAVE_tablejump
if (! win && HAVE_tablejump)
{
index_expr = convert (thiscase->data.case_stmt.nominal_type,
fold (build (MINUS_EXPR, index_type,
index_expr, minval)));
index_type = TREE_TYPE (index_expr);
index_type = thiscase->data.case_stmt.nominal_type;
index_expr = fold (build (MINUS_EXPR, index_type,
convert (index_type, index_expr),
convert (index_type, minval)));
index = expand_expr (index_expr, NULL_RTX, VOIDmode, 0);
emit_queue ();
index = protect_from_queue (index, 0);