aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-05-04 17:05:28 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2017-05-04 17:05:28 +0000
commit2fae724a1e13e63c996dd23b3885be99fe0fea5d (patch)
treed0b14a0c36f6aa1aa9e3d1f363e98485143d487e /gcc
parent8eef60973dd0f6a2d791fa6a3ae8ab2201b08c10 (diff)
downloadgcc-2fae724a1e13e63c996dd23b3885be99fe0fea5d.zip
gcc-2fae724a1e13e63c996dd23b3885be99fe0fea5d.tar.gz
gcc-2fae724a1e13e63c996dd23b3885be99fe0fea5d.tar.bz2
All cores which add a cpu_addrcost_table use a non-zero value for HI and TI...
All cores which add a cpu_addrcost_table use a non-zero value for HI and TI mode shifts (a non-zero value for general indexing also applies to all shifts). Given this, it makes no sense to use a different setting in generic_addrcost_table. So change it so that all supported cores, including -mcpu=generic, now generate the same: int f(short *p, short *q, long x) { return p[x] + q[x]; } lsl x2, x2, 1 ldrsh w3, [x0, x2] ldrsh w0, [x1, x2] add w0, w3, w0 ret gcc/ * config/aarch64/aarch64.c (generic_addrcost_table): Change HI/TI mode setting. From-SVN: r247606
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a59b822..b344a90 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-05-04 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (generic_addrcost_table):
+ Change HI/TI mode setting.
+
2017-05-04 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/80622
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 43fc928..ee056c6 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -193,10 +193,10 @@ static const struct aarch64_flag_desc aarch64_tuning_flags[] =
static const struct cpu_addrcost_table generic_addrcost_table =
{
{
- 0, /* hi */
+ 1, /* hi */
0, /* si */
0, /* di */
- 0, /* ti */
+ 1, /* ti */
},
0, /* pre_modify */
0, /* post_modify */