Commit de7f492b by Adam Nemet Committed by Adam Nemet

* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.

From-SVN: r110990
parent 1cf0118d
2006-02-14 Adam Nemet <anemet@caviumnetworks.com>
* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
2006-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR bootstrap/26053
......
......@@ -4426,6 +4426,14 @@ simplify_subreg (enum machine_mode outermode, rtx op,
return NULL_RTX;
}
/* Merge implicit and explicit truncations. */
if (GET_CODE (op) == TRUNCATE
&& GET_MODE_SIZE (outermode) < GET_MODE_SIZE (innermode)
&& subreg_lowpart_offset (outermode, innermode) == byte)
return simplify_gen_unary (TRUNCATE, outermode, XEXP (op, 0),
GET_MODE (XEXP (op, 0)));
/* SUBREG of a hard register => just change the register number
and/or mode. If the hard register is not valid in that mode,
suppress this simplification. If the hard register is the stack,
......
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