[PATCH] Add support for load folding of avx1 logical instructions

Louis Gerbarg lgg at apple.com
Fri Apr 4 12:48:56 PDT 2014


I am attaching a new patch. I have made the following changes since the last revision:

1) Moved the patterns into X86InstrSSE.td 
2) Fixed the VANDNPSYrm to use X86andnp  pattern
3) Added an explicit test for the VANDNPSYrm pattern

Louis

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-support-for-load-folding-of-avx1-logical-instruc.patch
Type: application/octet-stream
Size: 5032 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140404/779a1f4b/attachment.obj>
-------------- next part --------------


On Apr 3, 2014, at 4:14 PM, Louis Gerbarg <lgg at apple.com> wrote:

> Looking at it I believe it should have been the X86andnp pattern.
> 
> If the general consensus is that these patterns should be in X86InstrSSE.td I am more than happy to move  them there.
> 
> Louis
> 
> On Apr 2, 2014, at 5:08 PM, Cameron McInally <cameron.mcinally at nyu.edu> wrote:
> 
>> Ah, okay. That leads me to some other questions...
>> 
>> Did you intend to pick up the 'andn' pattern fragment from
>> X86InstrAVX512.td? If so, it seems like that definition should be
>> moved out of X86InstrAVX512.td to somewhere more general.
>> 
>> Or should the operator have been the X86 specific "X86andnp", like the
>> other ANDN patterns in X86InstrSSE.td?
>> 
>> Either way... how would you feel about moving this patch under the
>> definitions of the AVX FP logicals. A little awkward, but I think it's
>> a better fit than in X86InstrCompiler.td.
>> 
>> -Cameron
>> 
>> On Wed, Apr 2, 2014 at 5:33 PM, Louis Gerbarg <lgg at apple.com> wrote:
>>> The logic behind it was that where it looked like it made sense in X86InstrSSE.td around line 500 was before the definitions of the instructions I needed, and I didn’t want to try to re-order the file or make a new section in the file with these patterns, so after talking to Jim I decided to put them in X86 nstrCompiler so I would have all the definitions from X86InstrSSE.td.
>>> 
>>> Louis
>>> 
>>> On Apr 2, 2014, at 7:33 AM, Cameron McInally <cameron.mcinally at nyu.edu> wrote:
>>> 
>>>> Just curious… why did this change go into X86InstrCompiler.td and not
>>>> X86InstrSSE.td?
>>>> 
>>>> Tia,
>>>> Cameron
>>>> 
>>>> On Wed, Apr 2, 2014 at 12:41 AM, Nadav Rotem <nrotem at apple.com> wrote:
>>>>> LGTM!
>>>>> 
>>>>> On Apr 1, 2014, at 3:48 PM, Louis Gerbarg <lgg at apple.com> wrote:
>>>>> 
>>>>>> <0001-Add-support-for-load-folding-of-avx1-logical-instruc.patch>
>>>>> 
>>>>> _______________________________________________
>>>>> llvm-commits mailing list
>>>>> llvm-commits at cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>> 
>> <logicals.diff>
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list