Commit f2420d0b by Jim Wilson

(expand_expr, case COMPONENT_REF): For unaligned object in

an aligned union, delete check for EXPAND_SUM.

From-SVN: r11519
parent 2af1bac8
...@@ -5334,11 +5334,12 @@ expand_expr (exp, target, tmode, modifier) ...@@ -5334,11 +5334,12 @@ expand_expr (exp, target, tmode, modifier)
an integer-mode (e.g., SImode) object. Handle this case an integer-mode (e.g., SImode) object. Handle this case
by doing the extract into an object as wide as the field by doing the extract into an object as wide as the field
(which we know to be the width of a basic mode), then (which we know to be the width of a basic mode), then
storing into memory, and changing the mode to BLKmode. */ storing into memory, and changing the mode to BLKmode.
If we ultimately want the address (EXPAND_CONST_ADDRESS or
EXPAND_INITIALIZER), then we must not copy to a temporary. */
if (mode1 == VOIDmode if (mode1 == VOIDmode
|| GET_CODE (op0) == REG || GET_CODE (op0) == SUBREG || GET_CODE (op0) == REG || GET_CODE (op0) == SUBREG
|| (modifier != EXPAND_CONST_ADDRESS || (modifier != EXPAND_CONST_ADDRESS
&& modifier != EXPAND_SUM
&& modifier != EXPAND_INITIALIZER && modifier != EXPAND_INITIALIZER
&& ((mode1 != BLKmode && ! direct_load[(int) mode1]) && ((mode1 != BLKmode && ! direct_load[(int) mode1])
/* If the field isn't aligned enough to fetch as a memref, /* If the field isn't aligned enough to fetch as a memref,
......
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