[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.
echristo at apple.com
Fri Jun 17 17:25:30 CDT 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
>> 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?
More information about the llvm-commits