From 0538ed1d3602ec756085c09f3213b0fe7e8428ec Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 18 Mar 2019 09:16:56 +0000 Subject: [PATCH] re PR target/87561 (416.gamess is slower by ~10% starting from r264866 with -Ofast) 2019-03-18 Richard Biener PR target/87561 * config/i386/i386.c (ix86_add_stmt_cost): Apply strided load pessimization to stores as well. From-SVN: r269753 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7580713c8cf9..a67a0bf74414 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-03-18 Richard Biener + + PR target/87561 + * config/i386/i386.c (ix86_add_stmt_cost): Apply strided + load pessimization to stores as well. + 2019-03-18 Andrey Belevantsev PR middle-end/86979 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 70e101192134..67af1374ed67 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -50564,9 +50564,10 @@ ix86_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind, latency and execution resources for the many scalar loads (AGU and load ports). Try to account for this by scaling the construction cost by the number of elements involved. */ - if (kind == vec_construct + if ((kind == vec_construct || kind == vec_to_scalar) && stmt_info - && STMT_VINFO_TYPE (stmt_info) == load_vec_info_type + && (STMT_VINFO_TYPE (stmt_info) == load_vec_info_type + || STMT_VINFO_TYPE (stmt_info) == store_vec_info_type) && STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info) == VMAT_ELEMENTWISE && TREE_CODE (DR_STEP (STMT_VINFO_DATA_REF (stmt_info))) != INTEGER_CST) { -- 2.47.2