[all-commits] [llvm/llvm-project] 5df289: AMDGPU: Add G_AMDGPU_MAD_64_32 instructions

Nicolai Hähnle via All-commits all-commits at lists.llvm.org
Fri May 27 10:36:42 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5df2893a9a1355b6a19ef04f79c5502d67e2caa4
      https://github.com/llvm/llvm-project/commit/5df2893a9a1355b6a19ef04f79c5502d67e2caa4
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2022-05-27 (Fri, 27 May 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mad_64_32.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mad_64_32.mir

  Log Message:
  -----------
  AMDGPU: Add G_AMDGPU_MAD_64_32 instructions

These generic instructions are trivially selected to
V_MAD_[IU]64_[IU]32 instructions when run on the VALU.

When at least both factors are scalar, it is usually better to execute
some or all of the instruction on the SALU. To this end, we lower the
instruction to simpler instructions that are supported on the SALU
when applying the register bank mapping.

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




More information about the All-commits mailing list