2017-06-21 Andrew Pinski <apinski@cavium.com>
commitc44b93a4101f6e626e14bb9017661645e2bfea4e
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jun 2017 15:58:12 +0000 (21 15:58 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jun 2017 15:58:12 +0000 (21 15:58 +0000)
tree765bf734e79111a8af47e6686f0706381e2f2bab
parent000d2de6b7ad01558ced27d5a60e7cee73c9b081
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249459 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64-cost-tables.h
gcc/config/aarch64/aarch64-tuning-flags.def
gcc/config/aarch64/aarch64.c