This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH (3/7)] Widening multiply-and-accumulate pattern matching
On 01/07/11 16:54, Paolo Bonzini wrote:
> On 07/01/2011 04:55 PM, Stubbs, Andrew wrote:
>>> > What about (u128)c + (u64)((s8)a * (s8)b)? You cannot convert this to
>>> > (u128)c + (u128)((s8)a * (s8)b).
>> Oh I see, sorry. Yes, that's exactly what I'm trying to do here.
>> No, wait, I don't see. Where are these multiple widening multiplies
>> you're talking about? I only see one multiply?
> I meant one multiplication with multiple widening steps. Not clear at
> all, sorry.
Yes, I see now, the whole purpose of my patch set is widening by more
than one mode.
The case of the multiply-and-accumulate is the only way there can be
more than one step though. Widening multiplies themselves are always
handled as one unit.