This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM][2/4] Fix operand costing logic for SMUL[TB][TB]
- From: Ramana Radhakrishnan <ramana dot gcc at googlemail dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at foss dot 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>, Jim Wilson <jim dot wilson at linaro dot org>
- Date: Thu, 4 Feb 2016 09:00:41 +0000
- Subject: Re: [PATCH][ARM][2/4] Fix operand costing logic for SMUL[TB][TB]
- Authentication-results: sourceware.org; auth=none
- References: <56A1FBDF dot 6020402 at foss dot arm dot com>
On Fri, Jan 22, 2016 at 9:52 AM, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
> Hi all,
>
> As part of investigating the codegen effects of a fix for PR 65932 I found
> we assign
> too high a cost for the sign-extending multiply instruction SMULBB.
> This is because we add the cost of a multiply-extend but then also recurse
> into the
> SIGN_EXTEND sub-expressions rather than the registers (or subregs) being
> sign-extended.
>
> This patch is a simple fix. The fix is right by itself, but in combination
> with patch 3
> fix the gcc.target/arm/wmul-2.c testcase.
>
> Bootstrapped and tested on arm-none-linux-gnueabihf.
>
> Ok for trunk?
>
OK.
Thanks,
Ramana
> Thanks,
> Kyrill
>
> 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
> the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.