diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2017-05-04 17:05:28 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2017-05-04 17:05:28 +0000 |
commit | 2fae724a1e13e63c996dd23b3885be99fe0fea5d (patch) | |
tree | d0b14a0c36f6aa1aa9e3d1f363e98485143d487e /gcc | |
parent | 8eef60973dd0f6a2d791fa6a3ae8ab2201b08c10 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 4 |
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 */ |