[all-commits] [llvm/llvm-project] 323db5: GlobalISel: Add matcher for G_LSHR

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Feb 17 06:20:20 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 323db5d666cbba9286239979c7668722066d1632
      https://github.com/llvm/llvm-project/commit/323db5d666cbba9286239979c7668722066d1632
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  GlobalISel: Add matcher for G_LSHR


  Commit: 361f2a78185b489ce495a2f381bf1444d4f7860e
      https://github.com/llvm/llvm-project/commit/361f2a78185b489ce495a2f381bf1444d4f7860e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Handle sbfe/ubfe intrinsic

Try to handle arbitrary scalar BFEs by packing the operands. The DAG
gives up on non-constant arguments. We're still missing any constant
folding, so we end up with pretty ugly code most of the time. Also
handle the 64-bit scalar case, which the DAG doesn't try to do.


  Commit: e5805529bf037d692d6ae84f5b612b103f1d3cae
      https://github.com/llvm/llvm-project/commit/e5805529bf037d692d6ae84f5b612b103f1d3cae
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-trunc.v2s16.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/trunc.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Select v2s32->v2s16 G_TRUNC

It would be nice if there was a way to avoid the tied operand, but as
far as I can tell there isn't a way to use or with op_sel to achieve
this


Compare: https://github.com/llvm/llvm-project/compare/1e926a9f9c51...e5805529bf03


More information about the All-commits mailing list