summaryrefslogtreecommitdiff
path: root/gcc/config/i386
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2020-06-01 11:21:33 +0200
committerMartin Liska <mliska@suse.cz>2020-07-30 10:38:16 +0200
commitafd90b44f70d29e8bc3ca76b2b1d93da1c558e66 (patch)
treec298cad2ab021daf2969d2d6e61e840bda03f4d3 /gcc/config/i386
parentb258a8b74765275e5d598b36af4fcc4e66da5c5a (diff)
downloadgcc-afd90b44f70d29e8bc3ca76b2b1d93da1c558e66.tar.gz
Re-format zen memcpy/memset costs.
The patch improves readability of the memcpy and memset expansion strategies. gcc/ChangeLog: * config/i386/x86-tune-costs.h: Change code formatting. (cherry picked from commit da346efd27eca48a8fe2e07d7e18b2c77ead0e2d)
Diffstat (limited to 'gcc/config/i386')
-rw-r--r--gcc/config/i386/x86-tune-costs.h38
1 files changed, 28 insertions, 10 deletions
diff --git a/gcc/config/i386/x86-tune-costs.h b/gcc/config/i386/x86-tune-costs.h
index c73917e5a62..1169178433f 100644
--- a/gcc/config/i386/x86-tune-costs.h
+++ b/gcc/config/i386/x86-tune-costs.h
@@ -1311,14 +1311,23 @@ const struct processor_costs bdver_cost = {
very small blocks it is better to use loop. For large blocks, libcall
can do nontemporary accesses and beat inline considerably. */
static stringop_algs znver1_memcpy[2] = {
- {libcall, {{6, loop, false}, {14, unrolled_loop, false},
+ /* 32-bit tuning. */
+ {libcall, {{6, loop, false},
+ {14, unrolled_loop, false},
{-1, rep_prefix_4_byte, false}}},
- {libcall, {{16, loop, false}, {8192, rep_prefix_8_byte, false},
+ /* 64-bit tuning. */
+ {libcall, {{16, loop, false},
+ {8192, rep_prefix_8_byte, false},
{-1, libcall, false}}}};
static stringop_algs znver1_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},
+ /* 32-bit tuning. */
+ {libcall, {{8, loop, false},
+ {24, unrolled_loop, false},
+ {2048, rep_prefix_4_byte, false},
+ {-1, libcall, false}}},
+ /* 64-bit tuning. */
+ {libcall, {{48, unrolled_loop, false},
+ {8192, rep_prefix_8_byte, false},
{-1, libcall, false}}}};
struct processor_costs znver1_cost = {
{
@@ -1448,14 +1457,23 @@ struct processor_costs znver1_cost = {
very small blocks it is better to use loop. For large blocks, libcall
can do nontemporary accesses and beat inline considerably. */
static stringop_algs znver2_memcpy[2] = {
- {libcall, {{6, loop, false}, {14, unrolled_loop, false},
+ /* 32-bit tuning. */
+ {libcall, {{6, loop, false},
+ {14, unrolled_loop, false},
{-1, rep_prefix_4_byte, false}}},
- {libcall, {{16, loop, false}, {64, rep_prefix_4_byte, false},
+ /* 64-bit tuning. */
+ {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, {{24, rep_prefix_4_byte, false}, {128, rep_prefix_8_byte, false},
+ /* 32-bit tuning. */
+ {libcall, {{8, loop, false},
+ {24, unrolled_loop, false},
+ {2048, rep_prefix_4_byte, false}
+ {-1, libcall, false}}},
+ /* 64-bit tuning. */
+ {libcall, {{24, rep_prefix_4_byte, false},
+ {128, rep_prefix_8_byte, false},
{-1, libcall, false}}}};
struct processor_costs znver2_cost = {