http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47855
--- Comment #4 from jye2 at gcc dot gnu.org 2011-09-22 06:41:49 UTC --- Author: jye2 Date: Thu Sep 22 06:41:44 2011 New Revision: 179077 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179077 Log: 2011-09-22 Joey Ye <joey...@arm.com> Backport r178852 from mainline 2011-09-14 Julian Brown <jul...@codesourcery.com> * 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. Backport r172697 from mainline 2011-04-19 Wei Guozhi <car...@google.com> PR target/47855 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype. * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static linkage. * config/arm/constraints.md (Uu): New constraint. * config/arm/arm.md (*arm_movqi_insn): Compute attr "length". Modified: branches/ARM/embedded-4_6-branch/gcc/ChangeLog.arm branches/ARM/embedded-4_6-branch/gcc/config/arm/arm-protos.h branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.c branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.md branches/ARM/embedded-4_6-branch/gcc/config/arm/arm.opt branches/ARM/embedded-4_6-branch/gcc/config/arm/constraints.md branches/ARM/embedded-4_6-branch/gcc/expmed.c