[all-commits] [llvm/llvm-project] 71287f: AMDGPU: Create pseudo to real mapping for flat/buf...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Jun 17 10:09:48 PDT 2024


  Branch: refs/heads/users/arsenm/amdgpu-flat-buffer-atomic-fmin-fmax-pseudos
  Home:   https://github.com/llvm/llvm-project
  Commit: 71287fe3e9b31cf09dfc4a0a47e6bc02e40a1445
      https://github.com/llvm/llvm-project/commit/71287fe3e9b31cf09dfc4a0a47e6bc02e40a1445
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-06-17 (Mon, 17 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/test/CodeGen/AMDGPU/fp-atomic-to-s_denormmode.mir

  Log Message:
  -----------
  AMDGPU: Create pseudo to real mapping for flat/buffer atomic fmin/fmax

The global/flat/buffer atomic fmin/fmax situation is a mess. These
instructions have been renamed 3 times. We currently have
separate pseudos defined for the same opcodes with the different names
(e.g. GLOBAL_ATOMIC_MIN_F64 from gfx90a and GLOBAL_ATOMIC_FMIN_X2 from gfx10).

Use the _FMIN versions as the canonical name for the f32 versions. Use the
_MIN_F64 style as the canonical name for the f64 case. This is because
gfx90a has the most sensible names, but does not have the f32 versions.t sho

Wire through the pseudo to use for the instruction properties vs. the assembly
name like in other cases. This will simplify handling of direct atomicrmw selection.

This will simplify directly selecting these from atomicrmw.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list