[all-commits] [llvm/llvm-project] 9ad8a1: AMDGPU: Fix high 16-bit optimization on gfx9

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jun 22 10:17:04 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9ad8a1f6fb2aea775736cd59129b7299be443c5c
      https://github.com/llvm/llvm-project/commit/9ad8a1f6fb2aea775736cd59129b7299be443c5c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2021-06-22 (Tue, 22 Jun 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll

  Log Message:
  -----------
  AMDGPU: Fix high 16-bit optimization on gfx9

We can do this optimization in the majority of cases, but we currently
don't have a way to do it. We do not track/model which instructions
have which behavior, the control bit to change the high bit behavior,
or making use of preserved bits at all. This is a bit fuzzy since we
don't know precisely how the source instruction will be lowered, but
that only really matters in one case (for fma_mixlo).

We do need to fixup some of these cases after selection, but the
pattern helps eliminate many of these zexts.




More information about the All-commits mailing list