diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2018-01-04 10:42:01 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2018-01-04 10:42:01 +0100 |
commit | 02ea1c7689351ad76d17e423dbc4e91badb921ca (patch) | |
tree | c99c5ad75f8e659b2518af2f51ce0e9ba43285db /gcc/ada/gcc-interface/misc.c | |
parent | 6f3102fdbbfd0596c6f86a953a0e0a955ade4540 (diff) | |
download | gcc-02ea1c7689351ad76d17e423dbc4e91badb921ca.zip gcc-02ea1c7689351ad76d17e423dbc4e91badb921ca.tar.gz gcc-02ea1c7689351ad76d17e423dbc4e91badb921ca.tar.bz2 |
re PR rtl-optimization/83628 (performance regression when accessing arrays on alpha)
PR target/83628
* config/alpha/alpha.md (*sadd<modesuffix>): Use ASHIFT
instead of MULT rtx. Update all corresponding splitters.
(*saddl_se): Ditto.
(*ssub<modesuffix>): Ditto.
(*ssubl_se): Ditto.
(*cmp_sadd_di): Update split patterns.
(*cmp_sadd_si): Ditto.
(*cmp_sadd_sidi): Ditto.
(*cmp_ssub_di): Ditto.
(*cmp_ssub_si): Ditto.
(*cmp_ssub_sidi): Ditto.
* config/alpha/predicates.md (const23_operand): New predicate.
* config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]:
Look for ASHIFT, not MULT inner operand.
(alpha_split_conditional_move): Update for *sadd<modesuffix> change.
testsuite/ChangeLog:
PR target/83628
* gcc.target/alpha/pr83628-1.c: New test.
* gcc.target/alpha/pr83628-2.c: Ditto.
From-SVN: r256228
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
0 files changed, 0 insertions, 0 deletions