[llvm-commits] patch: x86 vector udiv

Chris Lattner clattner at apple.com
Wed Nov 2 17:23:02 PDT 2011


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