Backport mainline r178852, r172697 to ARM/embedded-4_6-branch

Committed.

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".



Reply via email to