[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