[PATCH] R600/SI: Allow commuting some 3 op instructions

Matt Arsenault Matthew.Arsenault at amd.com
Thu Nov 13 11:27:55 PST 2014


On 11/13/2014 09:03 AM, Tom Stellard wrote:
> On Fri, Oct 31, 2014 at 11:50:17AM -0700, Matt Arsenault wrote:
>>> On Oct 21, 2014, at 9:26 AM, Matt Arsenault <arsenm2 at gmail.com> wrote:
>>>
>>>> On Oct 21, 2014, at 6:38 AM, Tom Stellard <tom at stellard.net> wrote:
>>>>
>>>> On Sat, Oct 18, 2014 at 01:57:11AM +0000, Matt Arsenault wrote:
>>>>> e.g. v_mad_f32 a, b, c -> v_mad_f32 b, a, c
>>>>>
>>>>> This simplifies matching v_madmk_f32.
>>>>>
>>>>> This looks somewhat surprising, but it appears to be
>>>>> OK to do this. We can commute src0 and src1 in all
>>>>> of these instructions, and that's all that appears
>>>>> to matter.
>>>>>
>>>> Are there any advantages to being able to commute VOP3 instructions?
>>>>
>>>> -Tom
>>> Mostly just canonicalization to simplify other checks. For example, I have another patch that forms v_madmk_f32 which relies on this to avoid checking for an immediate in the 2nd operand
>>
>> ping
> LGTM.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
r221910 with an improvement in r221911



More information about the llvm-commits mailing list