@@ -4210,9 +4210,9 @@ X86TTIImpl::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA,
42104210 { ISD::ABS, MVT::i64 , { 1 , 2 , 3 , 3 } }, // SUB+CMOV
42114211 { ISD::BITREVERSE, MVT::i64 , { 10 , 12 , 20 , 22 } },
42124212 { ISD::BSWAP, MVT::i64 , { 1 , 2 , 1 , 2 } },
4213- { ISD::CTLZ, MVT::i64 , { 3 , 2 , 6 , 6 } }, // BSR+XOR or BSR+XOR+CMOV
4213+ { ISD::CTLZ, MVT::i64 , { 2 , 2 , 4 , 5 } }, // BSR+XOR or BSR+XOR+CMOV
42144214 { ISD::CTLZ_ZERO_UNDEF, MVT::i64 ,{ 1 , 2 , 2 , 2 } }, // BSR+XOR
4215- { ISD::CTTZ, MVT::i64 , { 2 , 2 , 5 , 5 } }, // TEST+BSF+CMOV/BRANCH
4215+ { ISD::CTTZ, MVT::i64 , { 2 , 2 , 3 , 4 } }, // TEST+BSF+CMOV/BRANCH
42164216 { ISD::CTTZ_ZERO_UNDEF, MVT::i64 ,{ 1 , 2 , 1 , 2 } }, // BSF
42174217 { ISD::CTPOP, MVT::i64 , { 10 , 6 , 19 , 19 } },
42184218 { ISD::ROTL, MVT::i64 , { 2 , 3 , 1 , 3 } },
@@ -4241,9 +4241,9 @@ X86TTIImpl::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA,
42414241 { ISD::BITREVERSE, MVT::i8 , { 7 , 9 , 13 , 14 } },
42424242 { ISD::BSWAP, MVT::i32 , { 1 , 1 , 1 , 1 } },
42434243 { ISD::BSWAP, MVT::i16 , { 1 , 2 , 1 , 2 } }, // ROL
4244- { ISD::CTLZ, MVT::i32 , { 3 , 2 , 6 , 6 } }, // BSR+XOR or BSR+XOR+CMOV
4245- { ISD::CTLZ, MVT::i16 , { 3 , 2 , 6 , 6 } }, // BSR+XOR or BSR+XOR+CMOV
4246- { ISD::CTLZ, MVT::i8 , { 3 , 2 , 7 , 7 } }, // BSR+XOR or BSR+XOR+CMOV
4244+ { ISD::CTLZ, MVT::i32 , { 2 , 2 , 4 , 5 } }, // BSR+XOR or BSR+XOR+CMOV
4245+ { ISD::CTLZ, MVT::i16 , { 2 , 2 , 4 , 5 } }, // BSR+XOR or BSR+XOR+CMOV
4246+ { ISD::CTLZ, MVT::i8 , { 2 , 2 , 5 , 6 } }, // BSR+XOR or BSR+XOR+CMOV
42474247 { ISD::CTLZ_ZERO_UNDEF, MVT::i32 ,{ 1 , 2 , 2 , 2 } }, // BSR+XOR
42484248 { ISD::CTLZ_ZERO_UNDEF, MVT::i16 ,{ 2 , 2 , 2 , 2 } }, // BSR+XOR
42494249 { ISD::CTLZ_ZERO_UNDEF, MVT::i8 , { 2 , 2 , 3 , 3 } }, // BSR+XOR
0 commit comments