[PATCH] D127041: [LLVM] Add the support for fmax and fmin in atomicrmw instruction

Shilei Tian via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 18:17:37 PDT 2022


tianshilei1992 created this revision.
tianshilei1992 added reviewers: jdoerfert, arsenm.
Herald added a reviewer: deadalnix.
Herald added subscribers: jsji, kosarev, jsilvanus, hsmhsm, ormris, foad, kerbowa, pengfei, steven_wu, hiraditya, nhaehnle, jvesely.
Herald added a project: All.
tianshilei1992 requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

This patch adds the support for `fmax` and `fmin` operations in `atomicrmw`
instruction. For now (at least in this patch), the instruction will be expanded
to CAS loop. There are already a couple of targets supporting the feature. I'll
create another patch(es) to enable them accordingly.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D127041

Files:
  llvm/docs/GlobalISel/GenericOpcode.rst
  llvm/docs/LangRef.rst
  llvm/include/llvm-c/Core.h
  llvm/include/llvm/AsmParser/LLToken.h
  llvm/include/llvm/Bitcode/LLVMBitCodes.h
  llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  llvm/include/llvm/CodeGen/ISDOpcodes.h
  llvm/include/llvm/CodeGen/SelectionDAGNodes.h
  llvm/include/llvm/IR/Instructions.h
  llvm/include/llvm/Support/TargetOpcodes.def
  llvm/include/llvm/Target/GenericOpcodes.td
  llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
  llvm/include/llvm/Target/TargetSelectionDAG.td
  llvm/lib/AsmParser/LLLexer.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  llvm/lib/CodeGen/AtomicExpandPass.cpp
  llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
  llvm/lib/IR/Core.cpp
  llvm/lib/IR/Instructions.cpp
  llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
  llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp
  llvm/lib/Transforms/Utils/LowerAtomic.cpp
  llvm/test/Assembler/atomic.ll
  llvm/test/Bitcode/compatibility.ll
  llvm/test/Transforms/LowerAtomic/atomic-load.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127041.434230.patch
Type: text/x-patch
Size: 25690 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220604/f115fbd5/attachment.bin>


More information about the llvm-commits mailing list