aboutsummaryrefslogtreecommitdiff
path: root/gcc
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:31:30 +0200
commitda346efd27eca48a8fe2e07d7e18b2c77ead0e2d (patch)
treee7fb7b5d48a2935a5b1f5ea0e8ebd9c799d7a19f /gcc
parent2c58f5cadfac338a67723fd6e41c9097760c4a33 (diff)
downloadgcc-da346efd27eca48a8fe2e07d7e18b2c77ead0e2d.zip
gcc-da346efd27eca48a8fe2e07d7e18b2c77ead0e2d.tar.gz
gcc-da346efd27eca48a8fe2e07d7e18b2c77ead0e2d.tar.bz2
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.
Diffstat (limited to 'gcc')
-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 c73917e..1169178 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 = {