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