aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-07-22 08:18:31 +0000
committerJoseph Myers <joseph@codesourcery.com>2006-07-22 08:18:31 +0000
commit0a64f119695536dab8271394d2f90a5c881bbf00 (patch)
tree9545ecb68a3ee26a3dd9faed9516776d9a016e91
parent1e34e75f57a2e9bf642f3c4aeb9a28b71f223459 (diff)
2006-07-21 Joseph Myers <joseph@codesourcery.com>csl-3_4_3-linux-branch
* gcc/emit-rtl.c (validate_subreg): Disable test for changing size of floating mode. 2006-07-10 Mark Shinwell <shinwell@codesourcery.com> * gcc/config/arm/wrs-linux.h (CC1_SPEC, SUBTARGET_EXTRA_ASM_SPEC, SYSROOT_SUFFIX_SPEC): Add support for iWMMXt2. * gcc/config/arm/arm.c (all_architectures): Add iWMMXt2 entry. * gcc/config/arm/t-wrs-linux (MULTILIB_MATCHES): New, for iWMMXt2. * gcc/config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl-3_4_3-linux-branch@115673 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog.csl13
-rw-r--r--gcc/config/arm/arm-cores.def1
-rw-r--r--gcc/config/arm/arm-tune.md2
-rw-r--r--gcc/config/arm/arm.c1
-rw-r--r--gcc/config/arm/t-wrs-linux2
-rw-r--r--gcc/config/arm/wrs-linux.h4
-rw-r--r--gcc/emit-rtl.c2
7 files changed, 23 insertions, 2 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index c627d0f518d..b36c457644d 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,16 @@
+2006-07-21 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc/emit-rtl.c (validate_subreg): Disable test for changing size
+ of floating mode.
+
+2006-07-10 Mark Shinwell <shinwell@codesourcery.com>
+
+ * gcc/config/arm/wrs-linux.h (CC1_SPEC, SUBTARGET_EXTRA_ASM_SPEC,
+ SYSROOT_SUFFIX_SPEC): Add support for iWMMXt2.
+ * gcc/config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
+ * gcc/config/arm/t-wrs-linux (MULTILIB_MATCHES): New, for iWMMXt2.
+ * gcc/config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
+
2006-07-10 Mark Shinwell <shinwell@codesourcery.com>
* gcc/config/arm/t-wrs-linux (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS,
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index 338e47cecb5..ac159b038c7 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -103,6 +103,7 @@ ARM_CORE("arm1020e", arm1020e, 5TE, FL_LDSCHED, fastmul)
ARM_CORE("arm1022e", arm1022e, 5TE, FL_LDSCHED, fastmul)
ARM_CORE("xscale", xscale, 5TE, FL_LDSCHED | FL_STRONG | FL_XSCALE, xscale)
ARM_CORE("iwmmxt", iwmmxt, 5TE, FL_LDSCHED | FL_STRONG | FL_XSCALE | FL_IWMMXT, xscale)
+ARM_CORE("iwmmxt2", iwmmxt2, 5TE, FL_LDSCHED | FL_STRONG | FL_XSCALE | FL_IWMMXT, xscale)
/* V5TEJ Architecture Processors */
ARM_CORE("arm926ej-s", arm926ejs, 5TEJ, 0, 9e)
diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md
index 950cd912982..b201210fa62 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -1,5 +1,5 @@
;; -*- buffer-read-only: t -*-
;; Generated automatically by gentune.sh from arm-cores.def
(define_attr "tune"
- "arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,strongarm1100,strongarm1110,arm7tdmi,arm7tdmis,arm710t,arm720t,arm740t,arm9,arm9tdmi,arm920,arm920t,arm922t,arm940t,ep9312,arm10tdmi,arm1020t,arm9e,arm946es,arm966es,arm968es,arm10e,arm1020e,arm1022e,xscale,iwmmxt,arm926ejs,arm1026ejs,arm1136js,arm1136jfs,arm1176jzs,arm1176jzfs,mpcorenovfp,mpcore"
+ "arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,strongarm1100,strongarm1110,arm7tdmi,arm7tdmis,arm710t,arm720t,arm740t,arm9,arm9tdmi,arm920,arm920t,arm922t,arm940t,ep9312,arm10tdmi,arm1020t,arm9e,arm946es,arm966es,arm968es,arm10e,arm1020e,arm1022e,xscale,iwmmxt,iwmmxt2,arm926ejs,arm1026ejs,arm1136js,arm1136jfs,arm1176jzs,arm1176jzfs,mpcorenovfp,mpcore"
(const (symbol_ref "arm_tune")))
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 7fd1aa148d5..6ebc28b66ca 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -583,6 +583,7 @@ static const struct processors all_architectures[] =
{"armv6zk", arm1176jzs, "6ZK", FL_CO_PROC | FL_FOR_ARCH6ZK, NULL},
{"ep9312", ep9312, "4T", FL_LDSCHED | FL_CIRRUS | FL_FOR_ARCH4, NULL},
{"iwmmxt", iwmmxt, "5TE", FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT , NULL},
+ {"iwmmxt2", iwmmxt2, "5TE", FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT , NULL},
{NULL, arm_none, NULL, 0 , NULL}
};
diff --git a/gcc/config/arm/t-wrs-linux b/gcc/config/arm/t-wrs-linux
index 28e6ca1ec34..2d6b8ad56fd 100644
--- a/gcc/config/arm/t-wrs-linux
+++ b/gcc/config/arm/t-wrs-linux
@@ -32,6 +32,8 @@ MULTILIB_EXCEPTIONS += *tiwmmxt*/*mfloat-abi=softfp*
MULTILIB_EXCEPTIONS += *txscale*/*mfloat-abi=softfp*
MULTILIB_EXCEPTIONS += *tarm920t*/*mfloat-abi=softfp*
+MULTILIB_MATCHES = tiwmmxt=tiwmmxt2
+
# These files must be built for each multilib.
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
diff --git a/gcc/config/arm/wrs-linux.h b/gcc/config/arm/wrs-linux.h
index 7bce6e6556c..1d56c9ef924 100644
--- a/gcc/config/arm/wrs-linux.h
+++ b/gcc/config/arm/wrs-linux.h
@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
#define CC1_SPEC " \
%{tarm926ej-s: -mcpu=arm926ej-s ; \
tiwmmxt: -mcpu=iwmmxt ; \
+ tiwmmxt2: -mcpu=iwmmxt ; \
txscale: -mcpu=xscale -mbig-endian ; \
tarm920t: -mcpu=arm920t } \
%{profile:-p}"
@@ -49,7 +50,7 @@ Boston, MA 02111-1307, USA. */
option is SUBTARGET_EXTRA_ASM_SPEC in bpabi.h. */
#undef SUBTARGET_EXTRA_ASM_SPEC
#define SUBTARGET_EXTRA_ASM_SPEC \
- "%{tiwmmxt:-mcpu=iwmmxt} %{txscale:-mcpu=xscale -EB} -meabi=4"
+ "%{tiwmmxt2:-mcpu=iwmmxt2} %{tiwmmxt:-mcpu=iwmmxt} %{txscale:-mcpu=xscale -EB} -meabi=4"
/* Translate -tiwmmxt for the linker. */
#undef SUBTARGET_EXTRA_LINK_SPEC
@@ -62,6 +63,7 @@ Boston, MA 02111-1307, USA. */
#undef SYSROOT_SUFFIX_SPEC
#define SYSROOT_SUFFIX_SPEC \
"%{muclibc:/uclibc}%{tiwmmxt:/tiwmmxt ; \
+ tiwmmxt2:/tiwmmxt ; \
txscale:/txscale ; \
tarm920t:/tarm920t}%{mfloat-abi=softfp:/softfp}"
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 42595a207b7..bffd822038a 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -654,8 +654,10 @@ validate_subreg (enum machine_mode omode, enum machine_mode imode,
(subreg:SI (reg:DF) 0) isn't. */
else if (FLOAT_MODE_P (imode) || FLOAT_MODE_P (omode))
{
+#if 0
if (isize != osize)
return false;
+#endif
}
/* Paradoxical subregs must have offset zero. */