[llvm-commits] [llvm] r51644 - /llvm/trunk/lib/Target/IA64/IA64ISelLowering.cpp

Nate Begeman natebegeman at mac.com
Wed May 28 09:31:37 PDT 2008


Author: sampo
Date: Wed May 28 11:31:36 2008
New Revision: 51644

URL: http://llvm.org/viewvc/llvm-project?rev=51644&view=rev
Log:
Update some comments noticed in a recent checkin

Modified:
    llvm/trunk/lib/Target/IA64/IA64ISelLowering.cpp

Modified: llvm/trunk/lib/Target/IA64/IA64ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/IA64/IA64ISelLowering.cpp?rev=51644&r1=51643&r2=51644&view=diff

==============================================================================
--- llvm/trunk/lib/Target/IA64/IA64ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/IA64/IA64ISelLowering.cpp Wed May 28 11:31:36 2008
@@ -91,12 +91,17 @@
   setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand);
   setOperationAction(ISD::LABEL, MVT::Other, Expand);
 
-  //IA64 has these, but they are not implemented
-  setOperationAction(ISD::CTTZ , MVT::i64  , Expand);
+  // IA64 has ctlz in the form of the 'fnorm' instruction.  The Legalizer 
+  // expansion for ctlz/cttz in terms of ctpop is much larger, but lower
+  // latency.
+  // FIXME: Custom lower CTLZ when compiling for size?
   setOperationAction(ISD::CTLZ , MVT::i64  , Expand);
+  setOperationAction(ISD::CTTZ , MVT::i64  , Expand);
   setOperationAction(ISD::ROTL , MVT::i64  , Expand);
   setOperationAction(ISD::ROTR , MVT::i64  , Expand);
-  setOperationAction(ISD::BSWAP, MVT::i64  , Expand);  // mux @rev
+
+  // FIXME: IA64 has this, but is not implemented. should be mux @rev
+  setOperationAction(ISD::BSWAP, MVT::i64  , Expand);
 
   // VASTART needs to be custom lowered to use the VarArgsFrameIndex
   setOperationAction(ISD::VAARG             , MVT::Other, Custom);





More information about the llvm-commits mailing list