This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Generate fused widening multiply-and-accumulate operations only when the widening multiply has single use
- From: Andrew Stubbs <ams at codesourcery dot com>
- To: Yufeng Zhang <Yufeng dot Zhang at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 22 Oct 2013 09:53:30 +0100
- Subject: Re: [PATCH] Generate fused widening multiply-and-accumulate operations only when the widening multiply has single use
- Authentication-results: sourceware.org; auth=none
- References: <5265A43E dot 7060507 at arm dot com>
On 21/10/13 23:01, Yufeng Zhang wrote:
This patch changes the widening_mul pass to fuse the widening multiply
with accumulate only when the multiply has single use. The widening_mul
pass currently does the conversion regardless of the number of the uses,
which can cause poor code-gen in cases like the following:
This seems reasonable to me, not that I have authority to approve it.
You should probably create at least one test case, ideally for both
AArch32 and AArch64. There are already AArch32 testcases in gcc.target
for the widening multiplies cases, but as they are single use only, you
shouldn't need to adjust them.