[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:25:30 PDT 2011


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?

-eric



More information about the llvm-commits mailing list