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