]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: x86-tune-costs.h (znver2_memcpy): Update.
authorJan Hubicka <jh@suse.cz>
Tue, 30 Jul 2019 08:03:43 +0000 (10:03 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 30 Jul 2019 08:03:43 +0000 (08:03 +0000)
Backport from mainline
2019-07-23  Jan Hubicka  <hubicka@ucw.cz>

* config/i386/x86-tune-costs.h (znver2_memcpy): Update.
(znver2_costs): Update 256 bit SSE costs and multiplication.

From-SVN: r273900

gcc/ChangeLog
gcc/config/i386/x86-tune-costs.h

index 8bf5ca96be35a6b206875f68cbabc407c7f64aa3..c70358bf4ac550f82fd3cc860ee9f8f764b5bc42 100644 (file)
@@ -1,3 +1,11 @@
+2019-07-30  Jan Hubicka  <jh@suse.cz>
+
+       Backport from mainline
+       2019-07-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * config/i386/x86-tune-costs.h (znver2_memcpy): Update.
+       (znver2_costs): Update 256 bit SSE costs and multiplication.
+
 2019-07-24  Bin Cheng  <bin.cheng@linux.alibaba.com>
 
        Backport from mainline
index ac06e37733a04e4ea1f1f8ab38b7f861db074ecc..8b963c07051d5d2f1aa11936b7a215a7a8265c89 100644 (file)
@@ -1279,12 +1279,12 @@ struct processor_costs znver1_cost = {
 static stringop_algs znver2_memcpy[2] = {
   {libcall, {{6, loop, false}, {14, unrolled_loop, false},
             {-1, rep_prefix_4_byte, false}}},
-  {libcall, {{16, loop, false}, {8192, rep_prefix_8_byte, false},
+  {libcall, {{16, loop, false}, {64, rep_prefix_4_byte, false},
             {-1, libcall, false}}}};
 static stringop_algs znver2_memset[2] = {
   {libcall, {{8, loop, false}, {24, unrolled_loop, false},
             {2048, rep_prefix_4_byte, false}, {-1, libcall, false}}},
-  {libcall, {{48, unrolled_loop, false}, {8192, rep_prefix_8_byte, false},
+  {libcall, {{24, rep_prefix_4_byte, false}, {128, rep_prefix_8_byte, false},
             {-1, libcall, false}}}};
 
 struct processor_costs znver2_cost = {
@@ -1335,11 +1335,11 @@ struct processor_costs znver2_cost = {
                                           in SImode and DImode.  */
   {8, 8},                              /* cost of storing MMX registers
                                           in SImode and DImode.  */
-  2, 3, 6,                             /* cost of moving XMM,YMM,ZMM
+  2, 2, 3,                             /* cost of moving XMM,YMM,ZMM
                                           register.  */
-  {6, 6, 6, 10, 20},                   /* cost of loading SSE registers
+  {6, 6, 6, 6, 12},                    /* cost of loading SSE registers
                                           in 32,64,128,256 and 512-bit.  */
-  {6, 6, 6, 10, 20},                   /* cost of unaligned loads.  */
+  {6, 6, 6, 6, 12},                    /* cost of unaligned loads.  */
   {8, 8, 8, 8, 16},                    /* cost of storing SSE registers
                                           in 32,64,128,256 and 512-bit.  */
   {8, 8, 8, 8, 16},                    /* cost of unaligned stores.  */
@@ -1372,7 +1372,7 @@ struct processor_costs znver2_cost = {
   COSTS_N_INSNS (1),                   /* cost of cheap SSE instruction.  */
   COSTS_N_INSNS (3),                   /* cost of ADDSS/SD SUBSS/SD insns.  */
   COSTS_N_INSNS (3),                   /* cost of MULSS instruction.  */
-  COSTS_N_INSNS (4),                   /* cost of MULSD instruction.  */
+  COSTS_N_INSNS (3),                   /* cost of MULSD instruction.  */
   COSTS_N_INSNS (5),                   /* cost of FMA SS instruction.  */
   COSTS_N_INSNS (5),                   /* cost of FMA SD instruction.  */
   COSTS_N_INSNS (10),                  /* cost of DIVSS instruction.  */