Commit 630ecd8d by Jan Hubicka Committed by Jan Hubicka

i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.


	* i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
	(TARGET_INTER_UNIT_CONVERSIONS): New.
	* i386.md (floatsi expanders): Remove redundant check for SImode
	source; offload to memory when asked for.
	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
	floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
	Update conditions;
	(floatsisf2_mixed_memory, floatsisf2_sse_memory,
	floatsidf2_mixed_memory, floatsidf2_sse_memory
	floatdisf2_mixed_memory, floatsisf2_sse_memory,
	floatsidf2_mixed_memory, floatsidf2_sse_memory): New.

From-SVN: r128369
parent 7986e000
2007-09-11 Jan Hubicka <jh@suse.cz> 2007-09-11 Jan Hubicka <jh@suse.cz>
* i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
(TARGET_INTER_UNIT_CONVERSIONS): New.
* i386.md (floatsi expanders): Remove redundant check for SImode
source; offload to memory when asked for.
(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
Update conditions;
(floatsisf2_mixed_memory, floatsisf2_sse_memory,
floatsidf2_mixed_memory, floatsidf2_sse_memory
floatdisf2_mixed_memory, floatsisf2_sse_memory,
floatsidf2_mixed_memory, floatsidf2_sse_memory): New.
2007-09-11 Jan Hubicka <jh@suse.cz>
* toplev.c (process_options): all frontends now do unit-at-a-time. * toplev.c (process_options): all frontends now do unit-at-a-time.
* cgraphunit.c: update comments. * cgraphunit.c: update comments.
(cgraph_expand_function): call passmanager dirrectly; emit thunks. (cgraph_expand_function): call passmanager dirrectly; emit thunks.
...@@ -1376,6 +1376,9 @@ unsigned int ix86_tune_features[X86_TUNE_LAST] = { ...@@ -1376,6 +1376,9 @@ unsigned int ix86_tune_features[X86_TUNE_LAST] = {
/* X86_TUNE_INTER_UNIT_MOVES */ /* X86_TUNE_INTER_UNIT_MOVES */
~(m_ATHLON_K8_AMDFAM10 | m_GENERIC), ~(m_ATHLON_K8_AMDFAM10 | m_GENERIC),
/* X86_TUNE_INTER_UNIT_CONVERSIONS */
~(m_AMDFAM10),
/* X86_TUNE_FOUR_JUMP_LIMIT: Some CPU cores are not able to predict more /* X86_TUNE_FOUR_JUMP_LIMIT: Some CPU cores are not able to predict more
than 4 branch instructions in the 16 byte window. */ than 4 branch instructions in the 16 byte window. */
m_PPRO | m_ATHLON_K8_AMDFAM10 | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC, m_PPRO | m_ATHLON_K8_AMDFAM10 | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
......
...@@ -259,6 +259,7 @@ enum ix86_tune_indices { ...@@ -259,6 +259,7 @@ enum ix86_tune_indices {
X86_TUNE_SHIFT1, X86_TUNE_SHIFT1,
X86_TUNE_USE_FFREEP, X86_TUNE_USE_FFREEP,
X86_TUNE_INTER_UNIT_MOVES, X86_TUNE_INTER_UNIT_MOVES,
X86_TUNE_INTER_UNIT_CONVERSIONS,
X86_TUNE_FOUR_JUMP_LIMIT, X86_TUNE_FOUR_JUMP_LIMIT,
X86_TUNE_SCHEDULE, X86_TUNE_SCHEDULE,
X86_TUNE_USE_BT, X86_TUNE_USE_BT,
...@@ -336,6 +337,8 @@ extern unsigned int ix86_tune_features[X86_TUNE_LAST]; ...@@ -336,6 +337,8 @@ extern unsigned int ix86_tune_features[X86_TUNE_LAST];
#define TARGET_SHIFT1 ix86_tune_features[X86_TUNE_SHIFT1] #define TARGET_SHIFT1 ix86_tune_features[X86_TUNE_SHIFT1]
#define TARGET_USE_FFREEP ix86_tune_features[X86_TUNE_USE_FFREEP] #define TARGET_USE_FFREEP ix86_tune_features[X86_TUNE_USE_FFREEP]
#define TARGET_INTER_UNIT_MOVES ix86_tune_features[X86_TUNE_INTER_UNIT_MOVES] #define TARGET_INTER_UNIT_MOVES ix86_tune_features[X86_TUNE_INTER_UNIT_MOVES]
#define TARGET_INTER_UNIT_CONVERSIONS\
ix86_tune_features[X86_TUNE_INTER_UNIT_CONVERSIONS]
#define TARGET_FOUR_JUMP_LIMIT ix86_tune_features[X86_TUNE_FOUR_JUMP_LIMIT] #define TARGET_FOUR_JUMP_LIMIT ix86_tune_features[X86_TUNE_FOUR_JUMP_LIMIT]
#define TARGET_SCHEDULE ix86_tune_features[X86_TUNE_SCHEDULE] #define TARGET_SCHEDULE ix86_tune_features[X86_TUNE_SCHEDULE]
#define TARGET_USE_BT ix86_tune_features[X86_TUNE_USE_BT] #define TARGET_USE_BT ix86_tune_features[X86_TUNE_USE_BT]
......
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