[all-commits] [llvm/llvm-project] ff6691: [X86][CostModel] Bump the cost of vpermw/vpermt2b/...

topperc via All-commits all-commits at lists.llvm.org
Thu Apr 30 11:32:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ff66919020fab730c87e1b3ddf418e50ffcb7819
      https://github.com/llvm/llvm-project/commit/ff66919020fab730c87e1b3ddf418e50ffcb7819
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-04-30 (Thu, 30 Apr 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-reverse.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Analysis/CostModel/X86/strided-load-i16.ll
    M llvm/test/Analysis/CostModel/X86/strided-load-i8.ll

  Log Message:
  -----------
  [X86][CostModel] Bump the cost of vpermw/vpermt2b/vperm2w

vpermw is 2 uops. vpermt2b/vpermt2w are two shuffle uops and a port 015 uop. Weirdly vpermb is a single uop.

This patch bumps the cost to 2 for these operations. Maybe should go to 3 for the vpermt2*, but I've started conservative.

I've also removed a few entries that were now the same as earlier subtargets or that I didn't think we really did. Like I don't think we extend v32i8 to v32i16, shuffle, and then truncate.

Differential Revision: https://reviews.llvm.org/D79148




More information about the All-commits mailing list