[llvm-commits] [llvm] r126964 - in /llvm/trunk: lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.h test/CodeGen/X86/umulo-64.ll

Eric Christopher echristo at apple.com
Thu Mar 3 17:00:18 PST 2011


On Mar 3, 2011, at 4:59 PM, Eric Christopher wrote:

> 
> On Mar 3, 2011, at 4:57 PM, Eli Friedman wrote:
> 
>> On Thu, Mar 3, 2011 at 4:21 PM, Eric Christopher <echristo at apple.com> wrote:
>>> 
>>> On Mar 3, 2011, at 4:16 PM, Eric Christopher wrote:
>>> 
>>>> Here's a simple patch that fixes the problem in something resembling correctness, but uses divide to do it - so yeah, performance?
>>>> 
>>>> Thoughts?
>>> 
>>> Uh, other than divide by zero.
>>> 
>>> *fixes*
>>> 
>>> -eric
>> 
>> It should work.  The only other approach I can think of involves
>> essentially taking your previous approach, but doubling the width of
>> the multiplication.  There isn't any code in LLVM at the moment to
>> turn a  64x64->128 multiply into 32x32->64 multiplies, but it is
>> feasible.
> 
> Yeah. That's what I was originally going for, but completely missed it.
> 
> Oddly I can't find a processor that actually dies a horrible death if I divide by zero.

Nevermind, x86 does. Yay.

-eric



More information about the llvm-commits mailing list