[all-commits] [llvm/llvm-project] b14f9a: [X86][Atom] Fix vector integer shift by immediate ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed May 19 06:40:26 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b14f9a1ebd7bb5ce9190990c07304befd6eff2ca
      https://github.com/llvm/llvm-project/commit/b14f9a1ebd7bb5ce9190990c07304befd6eff2ca
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-05-19 (Wed, 19 May 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleAtom.td
    M llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s
    M llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s

  Log Message:
  -----------
  [X86][Atom] Fix vector integer shift by immediate resource/throughputs

Match whats documented in the Intel AOM (and Agner/instlatx64 agree) - these are all Port0 only.

Now that we can use in-order models in llvm-mca, the atom model is a good "worst case scenario" analysis for x86.


  Commit: ab4e04a0f31ae187f67991980e707ff70bbc6285
      https://github.com/llvm/llvm-project/commit/ab4e04a0f31ae187f67991980e707ff70bbc6285
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-05-19 (Wed, 19 May 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/var-permute-256.ll

  Log Message:
  -----------
  [X86][AVX] createVariablePermute - generalize the PR50356 fix for smaller indices vector as well

Generalize the fix from rGd0902a8665b1 by ensuring we widen/narrow the indices subvector first and then perform the ZERO_EXTEND_VECTOR_INREG (if necessary), which should allow us to perform the variable permutes with source/destination/indices vectors of any widths.


Compare: https://github.com/llvm/llvm-project/compare/9a2769db801d...ab4e04a0f31a


More information about the All-commits mailing list