diff options
Diffstat (limited to 'gcc/config/i386/x86-tune.def')
-rw-r--r-- | gcc/config/i386/x86-tune.def | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def index b91dca1..02d8eda 100644 --- a/gcc/config/i386/x86-tune.def +++ b/gcc/config/i386/x86-tune.def @@ -379,9 +379,13 @@ DEF_TUNE (X86_TUNE_SSE_LOAD0_BY_PXOR, "sse_load0_by_pxor", /* X86_TUNE_INTER_UNIT_MOVES_TO_VEC: Enable moves in from integer to SSE registers. If disabled, the moves will be done by storing - the value to memory and reloading. */ + the value to memory and reloading. + Enable this flag for generic - the only relevant architecture preferring + no inter-unit moves is Buldozer. While this makes small regression on SPECfp + scores (sub 0.3%), disabling inter-unit moves penalizes noticeably hand + written vectorized code which use i.e. _mm_set_epi16. */ DEF_TUNE (X86_TUNE_INTER_UNIT_MOVES_TO_VEC, "inter_unit_moves_to_vec", - ~(m_ATHLON_K8 | m_AMDFAM10 | m_BDVER | m_BTVER | m_GENERIC)) + ~(m_ATHLON_K8 | m_AMDFAM10 | m_BDVER | m_BTVER)) /* X86_TUNE_INTER_UNIT_MOVES_TO_VEC: Enable moves in from SSE to integer registers. If disabled, the moves will be done by storing |