Commit 05f85dbb by Vladimir Makarov Committed by Vladimir Makarov

invoke.texi (core2): Add item.

2006-11-18  Vladimir Makarov  <vmakarov@redhat.com>

	* doc/invoke.texi (core2): Add item.

	* config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
	macros.
	(TARGET_CPU_CPP_BUILTINS): Add code for core2.
	(TARGET_CPU_DEFAULT_generic): Change value.
	(TARGET_CPU_DEFAULT_NAMES): Add core2.
	(processor_type): Add new constant PROCESSOR_CORE2.

	* config/i386/i386.md (cpu): Add core2.

	* config/i386/i386.c (core2_cost): New initialized variable.
	(m_CORE2): New macro.
	(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
	x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
	x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
	x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
	x86_partial_reg_dependency, x86_memory_mismatch_stall,
	x86_accumulate_outgoing_args, x86_prologue_using_move,
	x86_epilogue_using_move, x86_arch_always_fancy_math_387,
	x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
	x86_use_incdec, x86_four_jump_limit, x86_schedule,
	x86_pad_returns): Add m_CORE2.
	(override_options): Add entries for Core2.
	(ix86_issue_rate): Add case for Core2.

From-SVN: r118973
parent a357b5ae
2006-11-18 Vladimir Makarov <vmakarov@redhat.com>
* doc/invoke.texi (core2): Add item.
* config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
macros.
(TARGET_CPU_CPP_BUILTINS): Add code for core2.
(TARGET_CPU_DEFAULT_generic): Change value.
(TARGET_CPU_DEFAULT_NAMES): Add core2.
(processor_type): Add new constant PROCESSOR_CORE2.
* config/i386/i386.md (cpu): Add core2.
* config/i386/i386.c (core2_cost): New initialized variable.
(m_CORE2): New macro.
(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
x86_use_incdec, x86_four_jump_limit, x86_schedule,
x86_pad_returns): Add m_CORE2.
(override_options): Add entries for Core2.
(ix86_issue_rate): Add case for Core2.
2006-11-18 Aldy Hernandez <aldyh@redhat.com> 2006-11-18 Aldy Hernandez <aldyh@redhat.com>
* doc/invoke.texi: Fix mno-isel typo. * doc/invoke.texi: Fix mno-isel typo.
......
...@@ -137,6 +137,7 @@ extern const struct processor_costs *ix86_cost; ...@@ -137,6 +137,7 @@ extern const struct processor_costs *ix86_cost;
#define TARGET_K8 (ix86_tune == PROCESSOR_K8) #define TARGET_K8 (ix86_tune == PROCESSOR_K8)
#define TARGET_ATHLON_K8 (TARGET_K8 || TARGET_ATHLON) #define TARGET_ATHLON_K8 (TARGET_K8 || TARGET_ATHLON)
#define TARGET_NOCONA (ix86_tune == PROCESSOR_NOCONA) #define TARGET_NOCONA (ix86_tune == PROCESSOR_NOCONA)
#define TARGET_CORE2 (ix86_tune == PROCESSOR_CORE2)
#define TARGET_GENERIC32 (ix86_tune == PROCESSOR_GENERIC32) #define TARGET_GENERIC32 (ix86_tune == PROCESSOR_GENERIC32)
#define TARGET_GENERIC64 (ix86_tune == PROCESSOR_GENERIC64) #define TARGET_GENERIC64 (ix86_tune == PROCESSOR_GENERIC64)
#define TARGET_GENERIC (TARGET_GENERIC32 || TARGET_GENERIC64) #define TARGET_GENERIC (TARGET_GENERIC32 || TARGET_GENERIC64)
...@@ -403,6 +404,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); ...@@ -403,6 +404,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
builtin_define ("__tune_pentium4__"); \ builtin_define ("__tune_pentium4__"); \
else if (TARGET_NOCONA) \ else if (TARGET_NOCONA) \
builtin_define ("__tune_nocona__"); \ builtin_define ("__tune_nocona__"); \
else if (TARGET_CORE2) \
builtin_define ("__tune_core2__"); \
\ \
if (TARGET_MMX) \ if (TARGET_MMX) \
builtin_define ("__MMX__"); \ builtin_define ("__MMX__"); \
...@@ -483,6 +486,11 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); ...@@ -483,6 +486,11 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
builtin_define ("__nocona"); \ builtin_define ("__nocona"); \
builtin_define ("__nocona__"); \ builtin_define ("__nocona__"); \
} \ } \
else if (ix86_arch == PROCESSOR_CORE2) \
{ \
builtin_define ("__core2"); \
builtin_define ("__core2__"); \
} \
} \ } \
while (0) while (0)
...@@ -504,14 +512,15 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); ...@@ -504,14 +512,15 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define TARGET_CPU_DEFAULT_pentium_m 15 #define TARGET_CPU_DEFAULT_pentium_m 15
#define TARGET_CPU_DEFAULT_prescott 16 #define TARGET_CPU_DEFAULT_prescott 16
#define TARGET_CPU_DEFAULT_nocona 17 #define TARGET_CPU_DEFAULT_nocona 17
#define TARGET_CPU_DEFAULT_generic 18 #define TARGET_CPU_DEFAULT_core2 18
#define TARGET_CPU_DEFAULT_generic 19
#define TARGET_CPU_DEFAULT_NAMES {"i386", "i486", "pentium", "pentium-mmx",\ #define TARGET_CPU_DEFAULT_NAMES {"i386", "i486", "pentium", "pentium-mmx",\
"pentiumpro", "pentium2", "pentium3", \ "pentiumpro", "pentium2", "pentium3", \
"pentium4", "geode", "k6", "k6-2", "k6-3", \ "pentium4", "geode", "k6", "k6-2", "k6-3", \
"athlon", "athlon-4", "k8", \ "athlon", "athlon-4", "k8", \
"pentium-m", "prescott", "nocona", \ "pentium-m", "prescott", "nocona", \
"generic"} "core2", "generic"}
#ifndef CC1_SPEC #ifndef CC1_SPEC
#define CC1_SPEC "%(cc1_cpu) " #define CC1_SPEC "%(cc1_cpu) "
...@@ -2073,6 +2082,7 @@ enum processor_type ...@@ -2073,6 +2082,7 @@ enum processor_type
PROCESSOR_PENTIUM4, PROCESSOR_PENTIUM4,
PROCESSOR_K8, PROCESSOR_K8,
PROCESSOR_NOCONA, PROCESSOR_NOCONA,
PROCESSOR_CORE2,
PROCESSOR_GENERIC32, PROCESSOR_GENERIC32,
PROCESSOR_GENERIC64, PROCESSOR_GENERIC64,
PROCESSOR_max PROCESSOR_max
......
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
;; Processor type. This attribute must exactly match the processor_type ;; Processor type. This attribute must exactly match the processor_type
;; enumeration in i386.h. ;; enumeration in i386.h.
(define_attr "cpu" "i386,i486,pentium,pentiumpro,geode,k6,athlon,pentium4,k8,nocona,generic32,generic64" (define_attr "cpu" "i386,i486,pentium,pentiumpro,geode,k6,athlon,pentium4,k8,nocona,core2,generic32,generic64"
(const (symbol_ref "ix86_tune"))) (const (symbol_ref "ix86_tune")))
;; A basic instruction type. Refinements due to arguments to be ;; A basic instruction type. Refinements due to arguments to be
......
...@@ -9296,6 +9296,9 @@ set support. ...@@ -9296,6 +9296,9 @@ set support.
@item nocona @item nocona
Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE,
SSE2 and SSE3 instruction set support. SSE2 and SSE3 instruction set support.
@item core2
Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
instruction set support.
@item k6 @item k6
AMD K6 CPU with MMX instruction set support. AMD K6 CPU with MMX instruction set support.
@item k6-2, k6-3 @item k6-2, k6-3
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment