This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM] Fix costing of vmul+vcvt combine pattern
- From: Ramana Radhakrishnan <ramana dot gcc at googlemail dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Date: Tue, 10 Nov 2015 14:13:07 +0000
- Subject: Re: [PATCH][ARM] Fix costing of vmul+vcvt combine pattern
- Authentication-results: sourceware.org; auth=none
- References: <562F8257 dot 6080006 at arm dot com>
On Tue, Oct 27, 2015 at 1:55 PM, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
> Hi all,
>
> This patch allows us to handle the *combine_vcvtf2i pattern in rtx costs by
> properly identifying it
> as a toint coversion. Before this I saw a pattern like:
> (set (reg/i:SI 0 r0)
> (fix:SI (fix:SF (mult:SF (reg:SF 16 s0 [ a ])
> (const_double:SF 3.2e+1 [0x0.8p+6])))))
>
> being assigned a cost of 40 because the costs blindly recursed into the
> operands.
> With this patch for -mcpu=cortex-a57 I see it being assigned a cost of 4.
>
> Bootstrapped and tested on arm-none-linux-gnueabihf.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle
> combine_vcvtf2i pattern.
OK.
Ramana