aarch64-cost-tables.h (thunderx_extra_costs): Increment Arith_shift and Arith_shift_r...
authorAndrew Pinski <apinski@cavium.com>
Wed, 21 Jun 2017 15:58:12 +0000 (15:58 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 21 Jun 2017 15:58:12 +0000 (08:58 -0700)
commitb10f10092ebcee637d04788f2ac8b72644dbba34
tree765bf734e79111a8af47e6686f0706381e2f2bab
parentf1e247d0181d3b055b0d9435a7f65e88792e7812
aarch64-cost-tables.h (thunderx_extra_costs): Increment Arith_shift and Arith_shift_reg by 1.

2017-06-21  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
        Increment Arith_shift and Arith_shift_reg by 1.
        * config/aarch64/aarch64-tuning-flags.def (cheap_shift_extend):
        New tuning flag.
        * config/aarch64/aarch64.c (thunderx_tunings): Enable
        AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
        (aarch64_strip_extend): Add new argument and test for it.
        (aarch64_cheap_mult_shift_p): New function.
        (aarch64_rtx_mult_cost): Call aarch64_cheap_mult_shift_p and don't
        add a cost if it is true.
        Update calls to aarch64_strip_extend.
        (aarch64_rtx_costs): Update calls to aarch64_strip_extend.

From-SVN: r249459
gcc/ChangeLog
gcc/config/aarch64/aarch64-cost-tables.h
gcc/config/aarch64/aarch64-tuning-flags.def
gcc/config/aarch64/aarch64.c