1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Use comments to document non-obvious code rather than

mailing list archives.

llvm-svn: 105341
This commit is contained in:
Dan Gohman 2010-06-02 19:13:40 +00:00
parent 5fb0590e9c
commit 8a72efff3e

View File

@ -980,6 +980,17 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
setOperationAction(ISD::SSUBO, MVT::i32, Custom);
setOperationAction(ISD::USUBO, MVT::i32, Custom);
setOperationAction(ISD::SMULO, MVT::i32, Custom);
// Don't try to custom-lower 64-bit add-with-overflow and friends
// on x86-32; the x86 backend currently doesn't know how to handle them.
//
// This doesn't really fix anything because LegalizeTypes doesn't know
// how to handle them either. We do get a better error message, though.
//
// This may not be hard to implement though.
// In fact you could even cheat, and turn the 64 bit add-with-overflow
// into a 65 bit add, with the top bit being used to compute the overflow
// flag. That should then all get expanded out automagically.
if (Subtarget->is64Bit()) {
setOperationAction(ISD::SADDO, MVT::i64, Custom);
setOperationAction(ISD::UADDO, MVT::i64, Custom);