[llvm-commits] [llvm] r133288 - in /llvm/trunk: include/llvm/CodeGen/RuntimeLibcalls.h lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.h lib/CodeGen/SelectionDAG/TargetLowering.cpp test/CodeGen/X86/muloti.

Eric Christopher echristo at apple.com
Fri Jun 17 15:32:20 PDT 2011


On Jun 17, 2011, at 3:25 PM, Eric Christopher wrote:

> 
> On Jun 17, 2011, at 3:21 PM, Eli Friedman wrote:
> 
>> On Fri, Jun 17, 2011 at 1:41 PM, Eric Christopher <echristo at apple.com> wrote:
>>> Author: echristo
>>> Date: Fri Jun 17 15:41:29 2011
>>> New Revision: 133288
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=133288&view=rev
>>> Log:
>>> Lower multiply with overflow checking to __mulo<mode>
>>> calls if we haven't been able to lower them any
>>> other way.
>> [...]
>>> @@ -1072,6 +1073,8 @@
>>>  case ISD::SSUBO: ExpandIntRes_SADDSUBO(N, Lo, Hi); break;
>>>  case ISD::UADDO:
>>>  case ISD::USUBO: ExpandIntRes_UADDSUBO(N, Lo, Hi); break;
>>> +  case ISD::UMULO:
>>> +  case ISD::SMULO: ExpandIntRes_XMULO(N, Lo, Hi); break;
>> 
>> This code doesn't work for UMULO. :)
> 
> Heh. I thought doing the multiply in the larger mode would make the signed/unsigned difference not a problem?

<insert talking>

Apparently not. I'll look and see for umulo what we should do.

-eric



More information about the llvm-commits mailing list