[Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions
authorSteffen Larsen <steffen.larsen@codeplay.com>
Mon, 17 May 2021 16:23:44 +0000 (09:23 -0700)
committerArtem Belevich <tra@google.com>
Mon, 17 May 2021 16:46:59 +0000 (09:46 -0700)
commitf226e28a880f8e40b1bfd4c77b9768a667372d22
tree89996ee7f32cb10b9d935c5d4c2c33e91d6df66e
parent02c2468864bbb37f7b279aff84961815c1500b6c
[Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

Adds NVPTX builtins and intrinsics for the CUDA PTX `redux.sync` instructions
for `sm_80` architecture or newer.

PTX ISA description of `redux.sync`:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-redux-sync

Authored-by: Steffen Larsen <steffen.larsen@codeplay.com>
Differential Revision: https://reviews.llvm.org/D100124
clang/include/clang/Basic/BuiltinsNVPTX.def
clang/test/CodeGenCUDA/redux-builtins.cu [new file with mode: 0644]
llvm/include/llvm/IR/IntrinsicsNVVM.td
llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
llvm/test/CodeGen/NVPTX/redux-sync.ll [new file with mode: 0644]