config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js, arm1136jfs, and armv6j.

* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
	arm1136jfs, and armv6j.
	* config/arm/arm.c (FL_ARCH6J): New macro.
	(FL_VFPV2): Likewise.
	(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
	and arm1136jfs.
	(all_architectures): Add entry for armv6j.
	(arm_override_options): Add entries for arm926ejs, arm1026ejs,
	arm1136js, and arm1136jfs.
	* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
	(TARGET_CPU_arm1026ej_s): Likewise.
	(TARGET_CPU_arm1136j_s): Likewise.
	(TARGET_CPU_arm1136jf_s): Likewise.
	* doc/invoke.texi: Document new ARM cores and architecture
	variants.

From-SVN: r72694
This commit is contained in:
Mark Mitchell 2003-10-20 06:27:32 +00:00 committed by Mark Mitchell
parent 5a13d72876
commit 81f9037c86
4 changed files with 40 additions and 4 deletions

View File

@ -1,3 +1,21 @@
2003-10-19 Mark Mitchell <mark@codesourcery.com>
* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
arm1136jfs, and armv6j.
* config/arm/arm.c (FL_ARCH6J): New macro.
(FL_VFPV2): Likewise.
(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
and arm1136jfs.
(all_architectures): Add entry for armv6j.
(arm_override_options): Add entries for arm926ejs, arm1026ejs,
arm1136js, and arm1136jfs.
* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
(TARGET_CPU_arm1026ej_s): Likewise.
(TARGET_CPU_arm1136j_s): Likewise.
(TARGET_CPU_arm1136jf_s): Likewise.
* doc/invoke.texi: Document new ARM cores and architecture
variants.
2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* Makefile.in (toplev.o): Add value-prof.h dependency.

View File

@ -2330,9 +2330,9 @@ fi
| arm7m | arm7dm | arm7dmi | arm[79]tdmi \
| arm70 | arm700i | arm710t | arm720 \
| arm720t | arm740t | arm710c | arm920 \
| arm920t | arm940t | arm9e | arm10tdmi \
| arm920t | arm926ejs | arm940t | arm9e | arm10tdmi \
| arm7100 | arm7500 | arm7500fe | arm810 \
| arm1020t \
| arm1026ejs | arm1020t | arm1136js | arm1136jfs \
| xscale | iwmmxt \
| ep9312 \
| strongarm | strongarm110 | strongarm11[01]0)
@ -2348,7 +2348,7 @@ fi
case "$with_arch" in
"" \
| armv[2345] | armv2a | armv3m | armv4t | armv5t \
| armv5te | ep9312)
| armv5te | armv6j | ep9312)
# OK
;;
*)

View File

@ -281,6 +281,9 @@ int arm_structure_size_boundary = DEFAULT_STRUCTURE_SIZE_BOUNDARY;
#define FL_XSCALE (1 << 10) /* XScale */
#define FL_CIRRUS (1 << 11) /* Cirrus/DSP. */
#define FL_IWMMXT (1 << 29) /* XScale v2 or "Intel Wireless MMX technology". */
#define FL_ARCH6J (1 << 12) /* Architecture rel 6. Adds
media instructions. */
#define FL_VFPV2 (1 << 13) /* Vector Floating Point V2. */
/* The bits in this mask specify which
instructions we are allowed to generate. */
@ -406,6 +409,7 @@ static const struct processors all_cores[] =
{"arm7500", FL_MODE26 | FL_MODE32 },
/* Doesn't have an external co-proc, but does have embedded fpa. */
{"arm7500fe", FL_CO_PROC | FL_MODE26 | FL_MODE32 },
/* V4 Architecture Processors */
{"arm7tdmi", FL_CO_PROC | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB },
{"arm710t", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB },
{"arm720t", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB },
@ -423,11 +427,16 @@ static const struct processors all_cores[] =
{"strongarm110", FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG },
{"strongarm1100", FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG },
{"strongarm1110", FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG },
/* V5 Architecture Processors */
{"arm10tdmi", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 },
{"arm1020t", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 },
{"arm926ejs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
{"arm1026ejs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
{"xscale", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE },
{"iwmmxt", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE | FL_IWMMXT },
/* V6 Architecture Processors */
{"arm1136js", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E | FL_ARCH6J },
{"arm1136jfs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E | FL_ARCH6J | FL_VFPV2 },
{NULL, 0}
};
@ -446,6 +455,7 @@ static const struct processors all_architectures[] =
{ "armv5", FL_CO_PROC | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 },
{ "armv5t", FL_CO_PROC | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 },
{ "armv5te", FL_CO_PROC | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
{ "armv6j", FL_CO_PROC | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E | FL_ARCH6J },
{ "ep9312", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_CIRRUS },
{"iwmmxt", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE | FL_IWMMXT },
{ NULL, 0 }
@ -546,6 +556,10 @@ arm_override_options (void)
{ TARGET_CPU_xscale, "xscale" },
{ TARGET_CPU_ep9312, "ep9312" },
{ TARGET_CPU_iwmmxt, "iwmmxt" },
{ TARGET_CPU_arm926ej_s, "arm926ej-s" },
{ TARGET_CPU_arm1026ej_s, "arm1026ej-s" },
{ TARGET_CPU_arm1136j_s, "arm1136j_s" },
{ TARGET_CPU_arm1136jf_s, "arm1136jf_s" },
{ TARGET_CPU_generic, "arm" },
{ 0, 0 }
};

View File

@ -98,6 +98,10 @@
#define TARGET_CPU_xscale 0x0100
#define TARGET_CPU_ep9312 0x0200
#define TARGET_CPU_iwmmxt 0x0400
#define TARGET_CPU_arm926ej_s 0x0800
#define TARGET_CPU_arm1026ej_s 0x1000
#define TARGET_CPU_arm1136j_s 0x2000
#define TARGET_CPU_arm1136jf_s 0x4000
/* Configure didn't specify. */
#define TARGET_CPU_generic 0x8000