[all-commits] [llvm/llvm-project] 1abba5: [PowerPC] Add missing handling for half precision

nemanja-ibm via All-commits all-commits at lists.llvm.org
Mon Jun 22 15:10:43 PDT 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 1abba52044ddc7d79a985fc9ec0734db54ebe6b3
      https://github.com/llvm/llvm-project/commit/1abba52044ddc7d79a985fc9ec0734db54ebe6b3
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2020-06-22 (Mon, 22 Jun 2020)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll
    M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [PowerPC] Add missing handling for half precision

The fix for PR39865 took care of some of the handling for half precision
but it missed a number of issues that still exist. This patch fixes the
remaining issues that cause crashes in the PPC back end.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=45776

Differential revision: https://reviews.llvm.org/D79283

(cherry picked from commit 1a493b0fa556a07c728862c3c3f70bfd8683bef0)


  Commit: eac91d5864010a25e7e693ad565b64467dfa6ab9
      https://github.com/llvm/llvm-project/commit/eac91d5864010a25e7e693ad565b64467dfa6ab9
  Author: Nemanja Ivanovic <nemanjai at ca.ibm.com>
  Date:   2020-06-22 (Mon, 22 Jun 2020)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/pr45709.ll

  Log Message:
  -----------
  [PowerPC] Prevent legalization loop from promoting SELECT_CC from v4i32 to v4i32

As reported in https://bugs.llvm.org/show_bug.cgi?id=45709 we can hit an
infinite loop in legalization since we set the legalization action for
ISD::SELECT_CC for all fixed length vector types to Promote. Without some
different legalization action for the type being promoted to, the legalizer
simply loops. Since we don't have patterns to match the node, the right
legalization action should be Expand.

Differential revision: https://reviews.llvm.org/D79854

(cherry picked from commit 793cc518b9428a0b7a40c59d4ecd5939a7bc84f7)


Compare: https://github.com/llvm/llvm-project/compare/3428405fc4ec...eac91d586401


More information about the All-commits mailing list