Patchwork [ARM] TARGET_LDRD reject Thumb1 targets

login
register
mail settings
Submitter Greta Yorsh
Date Nov. 21, 2012, 6:40 p.m.
Message ID <000601cdc817$a63003e0$f2900ba0$@yorsh@arm.com>
Download mbox | patch
Permalink /patch/200826/
State New
Headers show

Comments

Greta Yorsh - Nov. 21, 2012, 6:40 p.m.
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.Yorsh@arm.com>

       * config/arm/arm.h (TARGET_LDRD): Reject Thumb1 targets.

Patch

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