LLVM 20.0.0git
NVVMIntrinsicFlags.h
Go to the documentation of this file.
1//===--- NVVMIntrinsicFlags.h -----------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9/// \file
10/// This file contains the definitions of the enumerations and flags
11/// associated with NVVM Intrinsics.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_IR_NVVMINTRINSICFLAGS_H
16#define LLVM_IR_NVVMINTRINSICFLAGS_H
17
18#include <stdint.h>
19
20namespace llvm {
21namespace nvvm {
22
23// Reduction Ops supported with TMA Copy from Shared
24// to Global Memory for the "cp.reduce.async.bulk.tensor.*"
25// family of PTX instructions.
26enum class TMAReductionOp : uint8_t {
27 ADD = 0,
28 MIN = 1,
29 MAX = 2,
30 INC = 3,
31 DEC = 4,
32 AND = 5,
33 OR = 6,
34 XOR = 7,
35};
36
37} // namespace nvvm
38} // namespace llvm
39#endif // LLVM_IR_NVVMINTRINSICFLAGS_H
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18