From: Uros Bizjak Date: Tue, 4 Oct 2016 14:50:35 +0000 (+0200) Subject: x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f06db14fae821a5f34196eab15df0e991c8061a;p=gcc.git x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove. * config/i386/x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove. * config/i386/i386.h (TARGET_VECTORIZE_DOUBLE): Remove. * config/i386/i386.c (ix86_add_stmt_cost): Use TARGET_BONNEL instead of !TARGET_VECTORIZE_DOUBLE when penalizing DFmode vector ops. From-SVN: r240748 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e91ec1b349e..94c301d1a57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-10-04 Uros Bizjak + + * config/i386/x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove. + * config/i386/i386.h (TARGET_VECTORIZE_DOUBLE): Remove. + * config/i386/i386.c (ix86_add_stmt_cost): Use TARGET_BONNEL instead + of !TARGET_VECTORIZE_DOUBLE when penalizing DFmode vector ops. + 2016-10-04 Richard Biener PR tree-optimization/77399 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index e0b2d5703be..58758d32688 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -49667,8 +49667,8 @@ ix86_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind, tree vectype = stmt_info ? stmt_vectype (stmt_info) : NULL_TREE; int stmt_cost = ix86_builtin_vectorization_cost (kind, vectype, misalign); - /* Penalize DFmode vector operations for !TARGET_VECTORIZE_DOUBLE. */ - if (kind == vector_stmt && !TARGET_VECTORIZE_DOUBLE + /* Penalize DFmode vector operations for Bonnell. */ + if (TARGET_BONNELL && kind == vector_stmt && vectype && GET_MODE_INNER (TYPE_MODE (vectype)) == DFmode) stmt_cost *= 5; /* FIXME: The value here is arbitrary. */ diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 8751143a2a6..a3955326fd5 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -481,8 +481,6 @@ extern unsigned char ix86_tune_features[X86_TUNE_LAST]; #define TARGET_OPT_AGU ix86_tune_features[X86_TUNE_OPT_AGU] #define TARGET_AVOID_LEA_FOR_ADDR \ ix86_tune_features[X86_TUNE_AVOID_LEA_FOR_ADDR] -#define TARGET_VECTORIZE_DOUBLE \ - ix86_tune_features[X86_TUNE_VECTORIZE_DOUBLE] #define TARGET_SOFTWARE_PREFETCHING_BENEFICIAL \ ix86_tune_features[X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL] #define TARGET_AVX128_OPTIMAL \ diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def index 8c7a14d9022..36a59660901 100644 --- a/gcc/config/i386/x86-tune.def +++ b/gcc/config/i386/x86-tune.def @@ -322,10 +322,6 @@ DEF_TUNE (X86_TUNE_EXT_80387_CONSTANTS, "ext_80387_constants", /* SSE instruction selection tuning */ /*****************************************************************************/ -/* X86_TUNE_VECTORIZE_DOUBLE: Enable double precision vector - instructions. */ -DEF_TUNE (X86_TUNE_VECTORIZE_DOUBLE, "vectorize_double", ~m_BONNELL) - /* X86_TUNE_GENERAL_REGS_SSE_SPILL: Try to spill general regs to SSE regs instead of memory. */ DEF_TUNE (X86_TUNE_GENERAL_REGS_SSE_SPILL, "general_regs_sse_spill",