OSDN Git Service

gcc/
authorjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Sep 2011 13:47:42 +0000 (13:47 +0000)
committerjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Sep 2011 13:47:42 +0000 (13:47 +0000)
commiteb04cafba3a6f1eddbdb5ec031d8a7074930d5b9
tree1e6ac52a6b4abbbaab31d0119d7a31c0a62ec1e4
parent23068d35a2a2f6d22033ee187883634692ab195a
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178852 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/arm/arm.opt
gcc/config/arm/constraints.md
gcc/expmed.c