This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
XScale Optimizations
- From: "Venkat Ramakrishnan" <venkatr at promise dot com>
- To: <rearnsha at arm dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 21 Jun 2004 10:07:15 -0700
- Subject: XScale Optimizations
Hello,
I am looking for the GCC version that has the following fix by Nicolas
Pitre (nico@cam.com).
Subject: Use proper variable for XScale optimizations
I could not find anything related to this particular fix in the change
logs.
Please do include me in your reply as I am not subscribed to any of the
GCC lists.
Appreciate your help and time.
Best Regards,
Venkat
---------------------------------------
From: Nicolas Pitre <nico at cam dot org>
To: gcc-patches at gcc dot gnu dot org
Cc: Richard Earnshaw <rearnsha at arm dot com>
Date: Fri, 17 Oct 2003 18:52:22 -0400 (EDT)
Subject: Use proper variable for XScale optimizations
------------------------------------------------------------------------
--------
XScale optimizations should be selected with arm_tune_xscale not
arm_arch_xscale. With this patch, using the -mtune=xscale switch now
gives
intended result.
<date> Nicolas Pitre <nico@cam.org>
* config/arm/arm.c (arm_override_options): Use arm_tune_xscale
for
XScale optimizations not arm_arch_xscale.
* config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO):
Likewise.
Index: gcc/config/arm/arm.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.c,v
retrieving revision 1.297
diff -u -r1.297 arm.c
--- gcc/config/arm/arm.c 17 Oct 2003 10:58:16 -0000 1.297
+++ gcc/config/arm/arm.c 17 Oct 2003 21:08:11 -0000
@@ -837,7 +837,7 @@
if (optimize_size || (tune_flags & FL_LDSCHED))
arm_constant_limit = 1;
- if (arm_arch_xscale)
+ if (arm_tune_xscale)
arm_constant_limit = 2;
/* If optimizing for size, bump the number of instructions that we
Index: gcc/config/arm/arm.h
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.h,v
retrieving revision 1.207
diff -u -r1.207 arm.h
--- gcc/config/arm/arm.h 17 Oct 2003 10:58:16 -0000 1.207
+++ gcc/config/arm/arm.h 17 Oct 2003 21:08:15 -0000
@@ -799,7 +799,7 @@
(TYPE_NEEDS_IWMMXT_ALIGNMENT (TYPE) ? IWMMXT_ALIGNMENT : ALIGN)
/* Make strings word-aligned so strcpy from constants will be faster.
*/
-#define CONSTANT_ALIGNMENT_FACTOR (TARGET_THUMB || ! arm_arch_xscale ?
1 : 2)
+#define CONSTANT_ALIGNMENT_FACTOR (TARGET_THUMB || ! arm_tune_xscale ?
1 : 2)
#define CONSTANT_ALIGNMENT(EXP, ALIGN) \
((TARGET_REALLY_IWMMXT && TREE_CODE (EXP) == VECTOR_TYPE) ?
IWMMXT_ALIGNMENT : \
@@ -2283,7 +2283,7 @@
#define MOVE_MAX 4
#undef MOVE_RATIO
-#define MOVE_RATIO (arm_arch_xscale ? 4 : 2)
+#define MOVE_RATIO (arm_tune_xscale ? 4 : 2)
/* Define if operations between registers always perform the operation
on the full register even if a narrower mode is specified. */
---------------------------------------
Venkat Ramakrishnan,
Advanced Storage Division,
Promise Technology, Inc
Tel: 408-228-6375 :: Fax: 408-416-0426
---------------------------------------
In June 1903, Orville wrote to a friend: "Isn't it astonishing that all
these secrets have been preserved for so many years just so we could
discover them!"