[all-commits] [llvm/llvm-project] 406004: [CostModel][X86] Improve i8 and vXi8 MUL costs

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Thu Apr 20 11:39:18 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4060042384209c9e7077b7024a73c70ef0be0b91
      https://github.com/llvm/llvm-project/commit/4060042384209c9e7077b7024a73c70ef0be0b91
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-04-20 (Thu, 20 Apr 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/arith-int-codesize.ll
    M llvm/test/Analysis/CostModel/X86/arith-int-latency.ll
    M llvm/test/Analysis/CostModel/X86/arith-int-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/arith-int.ll
    M llvm/test/Analysis/CostModel/X86/mul-codesize.ll
    M llvm/test/Analysis/CostModel/X86/mul-latency.ll
    M llvm/test/Analysis/CostModel/X86/mul-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/mul.ll
    M llvm/test/Analysis/CostModel/X86/rem-codesize.ll
    M llvm/test/Analysis/CostModel/X86/rem-latency.ll
    M llvm/test/Analysis/CostModel/X86/rem-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/rem.ll
    M llvm/test/Analysis/CostModel/X86/slm-arith-costs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll

  Log Message:
  -----------
  [CostModel][X86] Improve i8 and vXi8 MUL costs

We were treating vXi8 multiply as the sum of a trunc(mul(extend(),extend())) which diverged from the costs from llvm-mcaonce we extended beyond legal types

Use a modified version of the D103695 script to determine more accurate throughput/latency/codesize/size-latency cost estimates

Helps address some of the regressions identified in D148806




More information about the All-commits mailing list