This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r178852 - in /trunk/gcc: ChangeLog config/arm/a...
- From: jules at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 14 Sep 2011 13:47:43 -0000
- Subject: r178852 - in /trunk/gcc: ChangeLog config/arm/a...
Author: jules
Date: Wed Sep 14 13:47:42 2011
New Revision: 178852
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178852
Log:
gcc/
* config/arm/arm.c (arm_override_options): Add unaligned_access
support.
(arm_file_start): Emit attribute for unaligned access as
appropriate.
* config/arm/arm.md (UNSPEC_UNALIGNED_LOAD)
(UNSPEC_UNALIGNED_STORE): Add constants for unspecs.
(insv, extzv): Add unaligned-access support.
(extv): Change to expander. Likewise.
(extzv_t1, extv_regsi): Add helpers.
(unaligned_loadsi, unaligned_loadhis, unaligned_loadhiu)
(unaligned_storesi, unaligned_storehi): New.
(*extv_reg): New (previous extv implementation).
* config/arm/arm.opt (munaligned_access): Add option.
* config/arm/constraints.md (Uw): New constraint.
* expmed.c (store_bit_field_1): Adjust bitfield numbering according
to size of access, not size of unit, when BITS_BIG_ENDIAN !=
BYTES_BIG_ENDIAN. Don't use bitfield accesses for
volatile accesses when -fstrict-volatile-bitfields is in effect.
(extract_bit_field_1): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.md
trunk/gcc/config/arm/arm.opt
trunk/gcc/config/arm/constraints.md
trunk/gcc/expmed.c