Commit fae2db47 by Jim Wilson Committed by Jim Wilson

Optimize duplicate zero_extend operations.

	* combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
	(force_to_mode, case ASHIFTRT): Add shiftrt label.

From-SVN: r28424
parent a47f48d8
Mon Aug 2 16:27:42 1999 Jim Wilson <wilson@cygnus.com>
* combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
(force_to_mode, case ASHIFTRT): Add shiftrt label.
Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk> Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* loop.c (strength_reduce): When doing biv->giv conversion, update * loop.c (strength_reduce): When doing biv->giv conversion, update
......
...@@ -6574,7 +6574,8 @@ force_to_mode (x, mode, mask, reg, just_select) ...@@ -6574,7 +6574,8 @@ force_to_mode (x, mode, mask, reg, just_select)
x = gen_binary (LSHIFTRT, GET_MODE (x), XEXP (x, 0), x = gen_binary (LSHIFTRT, GET_MODE (x), XEXP (x, 0),
GEN_INT (GET_MODE_BITSIZE (GET_MODE (x)) GEN_INT (GET_MODE_BITSIZE (GET_MODE (x))
- exact_log2 (mask + 1))); - exact_log2 (mask + 1)));
break;
goto shiftrt;
case ASHIFTRT: case ASHIFTRT:
/* If we are just looking for the sign bit, we don't need this shift at /* If we are just looking for the sign bit, we don't need this shift at
...@@ -6639,7 +6640,9 @@ force_to_mode (x, mode, mask, reg, just_select) ...@@ -6639,7 +6640,9 @@ force_to_mode (x, mode, mask, reg, just_select)
if (mask == 1) if (mask == 1)
x = gen_binary (LSHIFTRT, GET_MODE (x), XEXP (x, 0), XEXP (x, 1)); x = gen_binary (LSHIFTRT, GET_MODE (x), XEXP (x, 0), XEXP (x, 1));
/* If this is a sign-extension operation that just affects bits shiftrt:
/* If this is a zero- or sign-extension operation that just affects bits
we don't care about, remove it. Be sure the call above returned we don't care about, remove it. Be sure the call above returned
something that is still a shift. */ something that is still a shift. */
......
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