[llvm] [CostModel][X86] Update logic vector reduction costs to match llvm-mca estimates (PR #214191)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 6 03:40:13 PDT 2026


================
@@ -5729,13 +5743,75 @@ X86TTIImpl::getArithmeticReductionCost(unsigned Opcode, VectorType *ValTy,
     { ISD::ADD,   MVT::v8i32,   {5, 5, 5, 5} },
     { ISD::ADD,   MVT::v16i16,  {5, 5, 5, 5} },
     { ISD::ADD,   MVT::v32i8,   {4, 4, 4, 4} },
+
+    { ISD::AND,   MVT::v4i64,   {3, 7, 5, 5} },
+    { ISD::AND,   MVT::v8i32,   {4, 9, 7, 7} },
+    { ISD::AND,   MVT::v16i16,  {5,11, 9, 9} },
+    { ISD::AND,   MVT::v8i16,   {4, 7, 7, 7} },
+    { ISD::AND,   MVT::v32i8,   {6,13,11,11} },
+    { ISD::AND,   MVT::v16i8,   {5,10, 9, 9} },
----------------
RKSimon wrote:

Fixed for silvermont and above - the bonnell model has some very dodgy numbers for gpr<->vec moves that makes the llvm-mca stats very suspicious 

https://github.com/llvm/llvm-project/pull/214191


More information about the llvm-commits mailing list