[llvm] r234795 - Expand ADDO/SUBO on Hexagon

Krzysztof Parzyszek kparzysz at codeaurora.org
Mon Apr 13 13:37:01 PDT 2015


Author: kparzysz
Date: Mon Apr 13 15:37:01 2015
New Revision: 234795

URL: http://llvm.org/viewvc/llvm-project?rev=234795&view=rev
Log:
Expand ADDO/SUBO on Hexagon

Modified:
    llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpp

Modified: llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpp?rev=234795&r1=234794&r2=234795&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpp Mon Apr 13 15:37:01 2015
@@ -1717,6 +1717,14 @@ HexagonTargetLowering::HexagonTargetLowe
   setOperationAction(ISD::SUBC, MVT::i32, Expand);
   setOperationAction(ISD::SUBC, MVT::i64, Expand);
 
+  // Only add and sub that detect overflow are the saturating ones.
+  for (MVT VT : MVT::integer_valuetypes()) {
+    setOperationAction(ISD::UADDO, VT, Expand);
+    setOperationAction(ISD::SADDO, VT, Expand);
+    setOperationAction(ISD::USUBO, VT, Expand);
+    setOperationAction(ISD::SSUBO, VT, Expand);
+  }
+
   setOperationAction(ISD::CTPOP, MVT::i32, Expand);
   setOperationAction(ISD::CTPOP, MVT::i64, Expand);
   setOperationAction(ISD::CTTZ, MVT::i32, Expand);





More information about the llvm-commits mailing list