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
This commit is contained in:
Wilco Dijkstra 2017-05-04 17:05:28 +00:00 committed by Wilco Dijkstra
parent 8eef60973d
commit 2fae724a1e
2 changed files with 7 additions and 2 deletions

View File

@ -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

View File

@ -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 */