[all-commits] [llvm/llvm-project] 6601be: [X86] Remove incorrect use of known bits in shuffl...

Eli Friedman via All-commits all-commits at lists.llvm.org
Sun Jul 18 18:15:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6601be441974cb1b91c47ee20bf9a284076cf6dd
      https://github.com/llvm/llvm-project/commit/6601be441974cb1b91c47ee20bf9a284076cf6dd
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2021-07-18 (Sun, 18 Jul 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/fptoui-may-overflow.ll
    M llvm/test/CodeGen/X86/oddshuffles.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll

  Log Message:
  -----------
  [X86] Remove incorrect use of known bits in shuffle simplification.

This reverts commit 2a419a0b9957ebac9e11e4b43bc9fbe42a9207df.

The result of a shufflevector must not propagate poison from any element
other than the one noted in the shuffle mask.

The regressions outside of fptoui-may-overflow.ll can probably be
recovered some other way; for example, using isGuaranteedNotToBePoison.

See discussion on https://reviews.llvm.org/D106053 for more background.

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




More information about the All-commits mailing list