This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ARM] Fix RTX cost for vector SET
- From: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- To: Kugan <kugan dot vivekanandarajah at linaro dot org>, James Greenhalgh <James dot Greenhalgh at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Jim Wilson <jim dot wilson at linaro dot org>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- Date: Mon, 27 Apr 2015 12:02:17 +0100
- Subject: Re: [ARM] Fix RTX cost for vector SET
- Authentication-results: sourceware.org; auth=none
- References: <5506D77B dot 5060909 at linaro dot org> <55070972 dot 3000800 at arm dot com> <5507813E dot 3060106 at linaro dot org> <5513B390 dot 2030201 at linaro dot org> <552D8FF7 dot 5000105 at linaro dot org> <20150415092509 dot GA20852 at arm dot com> <552E4150 dot 3020403 at linaro dot org> <20150415111854 dot GB22143 at arm dot com> <552E4C90 dot 4070208 at linaro dot org> <5530EC32 dot 4030806 at linaro dot org> <20150420202225 dot GA7414 at arm dot com> <553AD118 dot 3010705 at linaro dot org> <553AD20A dot 9020108 at linaro dot org>
Hi Kugan,
On 25/04/15 00:30, Kugan wrote:
Thanks for the review. I have updated the patch based on the comments
with some other minor changes. Bootstrapped and regression tested on
aarch64-none-linux-gnu with no-new regressions. Is this OK for trunk?
Thanks,
Kugan
gcc/ChangeLog:
2015-04-24 Kugan Vivekanandarajah <kuganv@linaro.org>
Jim Wilson <jim.wilson@linaro.org>
* config/arm/aarch-common-protos.h (struct mem_cost_table): Added
new fields loadv and storev.
* config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
Initialize loadv and storev.
* config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
(cortexa53_extra_costs): Likewise.
(cortexa57_extra_costs): Likewise.
(xgene1_extra_costs): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
rtx_costs.
Due to the struct mem_cost_table update for aarch64, arm cost tables
also need to be updated. Please find the patch that does this.
Regression tested on arm-none-linux-gnu with no-new regressions. Is this
OK for trunk?
Thanks,
Kugan
gcc/ChangeLog:
2015-04-25 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
storev.
(cortexa8_extra_costs): Likewise.
(cortexa5_extra_costs): Likewise.
(cortexa7_extra_costs): Likewise.
(cortexa12_extra_costs): Likewise.
(cortexa15_extra_costs): Likewise.
(v7m_extra_costs): Likewise.
This arm part looks ok to me FWIW (if the approach in the aarch64
patch is deemed ok by the aarch64 maintainers), it just syncs the
fields of the common cost struct between arm and aarch64.
Please only commit this if the aarch64 patch gets approved and
committed at the same time, otherwise we'll get a build failure.
Having a look at the arm rtx costs and seeing if we can improve them
in the same way as the aarch64 ones would be good as a follow up at some
point too.
Thanks,
Kyrill