summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2010-06-02 19:35:46 +0000
committerEli Friedman <eli.friedman@gmail.com>2010-06-02 19:35:46 +0000
commit962f549d207337c03f7d1d1a120860034a52a0e7 (patch)
tree9c7f77f9075e7debf4af76bbec45fad6bc1e2fe8
parent71c62a2977c405fb3f7b6dc5dcc59f63ca08be0f (diff)
downloadllvm-962f549d207337c03f7d1d1a120860034a52a0e7.tar.gz
llvm-962f549d207337c03f7d1d1a120860034a52a0e7.tar.bz2
llvm-962f549d207337c03f7d1d1a120860034a52a0e7.tar.xz
Fix comment so it doesn't include comments which are irrelevant to the x86
backend. Add a FIXME noting what can be fixed here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105342 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index a322ad2aa2..1d5997801d 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -981,16 +981,12 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
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.
+ // Only custom-lower 64-bit SADDO and friends on 64-bit because we don't
+ // handle type legalization for these operations here.
//
- // 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.
+ // FIXME: We really should do custom legalization for addition and
+ // subtraction on x86-32 once PR3203 is fixed. We really can't do much better
+ // than generic legalization for 64-bit multiplication-with-overflow, though.
if (Subtarget->is64Bit()) {
setOperationAction(ISD::SADDO, MVT::i64, Custom);
setOperationAction(ISD::UADDO, MVT::i64, Custom);