OSDN Git Service

[X86] Remove unnecessary setting of CTTZ_ZERO_UNDEF to Custom for vector types where...
authorCraig Topper <craig.topper@gmail.com>
Thu, 21 Apr 2016 04:44:00 +0000 (04:44 +0000)
committerCraig Topper <craig.topper@gmail.com>
Thu, 21 Apr 2016 04:44:00 +0000 (04:44 +0000)
CTTZ_ZERO_UNDEF can be custom lowered specially if CTLZ is supported. Otherwise CTTZ and CTTZ_ZERO_UNDEF are handled the same way by using CTPOP and bitmath.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266952 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index bcf7ce4..0019b50 100644 (file)
@@ -819,10 +819,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
     setOperationAction(ISD::CTTZ,               MVT::v8i16, Custom);
     setOperationAction(ISD::CTTZ,               MVT::v4i32, Custom);
     // ISD::CTTZ v2i64 - scalarization is faster.
-    setOperationAction(ISD::CTTZ_ZERO_UNDEF,    MVT::v16i8, Custom);
-    setOperationAction(ISD::CTTZ_ZERO_UNDEF,    MVT::v8i16, Custom);
-    setOperationAction(ISD::CTTZ_ZERO_UNDEF,    MVT::v4i32, Custom);
-    // ISD::CTTZ_ZERO_UNDEF v2i64 - scalarization is faster.
 
     // Custom lower build_vector, vector_shuffle, and extract_vector_elt.
     for (auto VT : { MVT::v16i8, MVT::v8i16, MVT::v4i32 }) {
@@ -1063,7 +1059,6 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
     for (auto VT : { MVT::v32i8, MVT::v16i16, MVT::v8i32, MVT::v4i64 }) {
       setOperationAction(ISD::CTPOP,           VT, Custom);
       setOperationAction(ISD::CTTZ,            VT, Custom);
-      setOperationAction(ISD::CTTZ_ZERO_UNDEF, VT, Custom);
     }
 
     if (Subtarget.hasAnyFMA()) {