[all-commits] [llvm/llvm-project] 08212d: [X86] Add xop/avx2 shifts to X86TargetLowering::is...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Thu Jan 13 09:44:40 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 08212dbc449bbf10652aa735791280266d473076
      https://github.com/llvm/llvm-project/commit/08212dbc449bbf10652aa735791280266d473076
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-01-13 (Thu, 13 Jan 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-avx2-intrinsics.ll
    M llvm/test/CodeGen/X86/xop-shifts.ll

  Log Message:
  -----------
  [X86] Add xop/avx2 shifts to X86TargetLowering::isBinOp

Allows shuffle combining through per-element shift nodes

This exposed a number of issues with shuffle combining with target intrinsics that are lowered to nodes later during legalization - in particular shuffle combining and SimplifyDemandedVectorElts were being called after canonicalizeShuffleWithBinOps, meaning that shuffles didn't have a chance to be combined away before the shuffle(binop(x,y)) -> binop(shuffle(x),shuffle(y)) fold.


  Commit: fced2744d38bbbcdbc4b780f020b3bfef0abd11f
      https://github.com/llvm/llvm-project/commit/fced2744d38bbbcdbc4b780f020b3bfef0abd11f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-01-13 (Thu, 13 Jan 2022)

  Changed paths:
    M llvm/lib/TextAPI/Platform.cpp

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warnings. NFC.


Compare: https://github.com/llvm/llvm-project/compare/e2c78f99c419...fced2744d38b


More information about the All-commits mailing list