[llvm-commits] patch: x86 vector udiv

Peter Cooper peter_cooper at apple.com
Wed Nov 2 17:57:04 PDT 2011


I've written a version in InstCombine which is now working.

Please have a look and see if its at the right stage of compilation.

Cheers,
Pete
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 8429.patch
Type: application/octet-stream
Size: 2153 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111102/85d5b1a8/attachment.obj>
-------------- next part --------------

On Nov 2, 2011, at 5:23 PM, Chris Lattner wrote:

> 
> On Nov 1, 2011, at 6:04 PM, Eli Friedman wrote:
> 
>> On Tue, Nov 1, 2011 at 5:40 PM, Peter Cooper <peter_cooper at apple.com> wrote:
>>> Hi
>>> 
>>> Please review this patch for pr8429 to turn vector udiv into vector shrl instructions when dividing by powers of 2.  This was already done on scalars but not on vectors.
>>> 
>>> I also found that vector shifts were always scalarised on x86 even with SSE on so i turned these into the equivalent intrinsics.
>> 
>> The change to X86ISelLowering.cpp is wrong; the psrld instruction is
>> not equivalent to ISD::SRL in the general case.
>> 
>> For the rest of the changes, it would be better to handle this
>> transformation in instcombine.
> 
> I agree - this is a generally useful canonicalization that should be done early.
> 
> -Chris



More information about the llvm-commits mailing list