This patch adjusts the definition of TARGET_LDRD to false on Thumb1 targets,
as suggested here:
http://gcc.gnu.org/ml/gcc-patches/2012-10/msg02048.html

No regression on qemu for arm none-eabi with arch=armv5t/armv7-a
mode=thumb/arm.

Ok for trunk?

Thanks,
Greta

ChangeLog

2012-11-21  Greta Yorsh  <greta.yo...@arm.com>

       * config/arm/arm.h (TARGET_LDRD): Reject Thumb1 targets.
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 5f34f2a..1adcf9f 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -252,7 +252,6 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
 #define TARGET_BACKTRACE               (leaf_function_p () \
                                         ? TARGET_TPCS_LEAF_FRAME \
                                         : TARGET_TPCS_FRAME)
-#define TARGET_LDRD                    (arm_arch5e && ARM_DOUBLEWORD_ALIGN)
 #define TARGET_AAPCS_BASED \
     (arm_abi != ARM_ABI_APCS && arm_abi != ARM_ABI_ATPCS)
 
@@ -269,6 +268,9 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
 /* Thumb-1 only.  */
 #define TARGET_THUMB1_ONLY             (TARGET_THUMB1 && !arm_arch_notm)
 
+#define TARGET_LDRD                    (arm_arch5e && ARM_DOUBLEWORD_ALIGN \
+                                         && !TARGET_THUMB1)
+
 /* The following two macros concern the ability to execute coprocessor
    instructions for VFPv3 or NEON.  TARGET_VFP3/TARGET_VFPD32 are currently
    only ever tested when we know we are generating for VFP hardware; we need

Reply via email to