mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-16 06:50:25 +08:00
expr.c (expand_expr, [...]): When seeing if should use bitfield operations...
* expr.c (expand_expr, case COMPONENT_REF): When seeing if should use bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER. From-SVN: r68968
This commit is contained in:
parent
0641776cef
commit
a8f3bf5271
@ -1,3 +1,9 @@
|
||||
2003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
|
||||
bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
|
||||
if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
|
||||
|
||||
2003-07-05 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* genattrtab.c (write_attr_get): Revert part of last patch to
|
||||
|
@ -7541,7 +7541,10 @@ expand_expr (tree exp, rtx target, enum machine_mode tmode, enum expand_modifier
|
||||
|| (mode1 != BLKmode
|
||||
&& (((TYPE_ALIGN (TREE_TYPE (tem)) < GET_MODE_ALIGNMENT (mode)
|
||||
|| (bitpos % GET_MODE_ALIGNMENT (mode) != 0))
|
||||
&& SLOW_UNALIGNED_ACCESS (mode1, MEM_ALIGN (op0)))
|
||||
&& ((modifier == EXPAND_CONST_ADDRESS
|
||||
|| modifier == EXPAND_INITIALIZER)
|
||||
? STRICT_ALIGNMENT
|
||||
: SLOW_UNALIGNED_ACCESS (mode1, MEM_ALIGN (op0))))
|
||||
|| (bitpos % BITS_PER_UNIT != 0)))
|
||||
/* If the type and the field are a constant size and the
|
||||
size of the type isn't the same size as the bitfield,
|
||||
|
Loading…
x
Reference in New Issue
Block a user