Files
gps/tools/local/circt/include/mlir/Dialect/NVGPU/IR/NVGPUEnums.cpp.inc
T
2026-07-12 11:01:51 +03:00

164 lines
6.0 KiB
C++

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* Enum Utility Definitions *|
|* *|
|* Automatically generated file, do not edit! *|
|* From: NVGPU.td *|
|* *|
\*===----------------------------------------------------------------------===*/
namespace mlir::nvgpu {
::llvm::StringRef stringifyRcpRoundingMode(RcpRoundingMode val) {
switch (val) {
case RcpRoundingMode::APPROX: return "approx";
case RcpRoundingMode::RN: return "rn";
case RcpRoundingMode::RZ: return "rz";
case RcpRoundingMode::RM: return "rm";
case RcpRoundingMode::RP: return "rp";
}
return "";
}
::std::optional<RcpRoundingMode> symbolizeRcpRoundingMode(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<RcpRoundingMode>>(str)
.Case("approx", RcpRoundingMode::APPROX)
.Case("rn", RcpRoundingMode::RN)
.Case("rz", RcpRoundingMode::RZ)
.Case("rm", RcpRoundingMode::RM)
.Case("rp", RcpRoundingMode::RP)
.Default(::std::nullopt);
}
::std::optional<RcpRoundingMode> symbolizeRcpRoundingMode(uint32_t value) {
switch (value) {
case 0: return RcpRoundingMode::APPROX;
case 1: return RcpRoundingMode::RN;
case 2: return RcpRoundingMode::RZ;
case 3: return RcpRoundingMode::RM;
case 4: return RcpRoundingMode::RP;
default: return ::std::nullopt;
}
}
} // namespace mlir::nvgpu
namespace mlir::nvgpu {
::llvm::StringRef stringifyTensorMapInterleaveKind(TensorMapInterleaveKind val) {
switch (val) {
case TensorMapInterleaveKind::INTERLEAVE_NONE: return "none";
case TensorMapInterleaveKind::INTERLEAVE_16B: return "interleave_16b";
case TensorMapInterleaveKind::INTERLEAVE_32B: return "interleave_32b";
}
return "";
}
::std::optional<TensorMapInterleaveKind> symbolizeTensorMapInterleaveKind(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<TensorMapInterleaveKind>>(str)
.Case("none", TensorMapInterleaveKind::INTERLEAVE_NONE)
.Case("interleave_16b", TensorMapInterleaveKind::INTERLEAVE_16B)
.Case("interleave_32b", TensorMapInterleaveKind::INTERLEAVE_32B)
.Default(::std::nullopt);
}
::std::optional<TensorMapInterleaveKind> symbolizeTensorMapInterleaveKind(uint32_t value) {
switch (value) {
case 0: return TensorMapInterleaveKind::INTERLEAVE_NONE;
case 1: return TensorMapInterleaveKind::INTERLEAVE_16B;
case 2: return TensorMapInterleaveKind::INTERLEAVE_32B;
default: return ::std::nullopt;
}
}
} // namespace mlir::nvgpu
namespace mlir::nvgpu {
::llvm::StringRef stringifyTensorMapL2PromoKind(TensorMapL2PromoKind val) {
switch (val) {
case TensorMapL2PromoKind::L2PROMO_NONE: return "none";
case TensorMapL2PromoKind::L2PROMO_64B: return "l2promo_64b";
case TensorMapL2PromoKind::L2PROMO_128B: return "l2promo_128b";
case TensorMapL2PromoKind::L2PROMO_256B: return "l2promo_256b";
}
return "";
}
::std::optional<TensorMapL2PromoKind> symbolizeTensorMapL2PromoKind(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<TensorMapL2PromoKind>>(str)
.Case("none", TensorMapL2PromoKind::L2PROMO_NONE)
.Case("l2promo_64b", TensorMapL2PromoKind::L2PROMO_64B)
.Case("l2promo_128b", TensorMapL2PromoKind::L2PROMO_128B)
.Case("l2promo_256b", TensorMapL2PromoKind::L2PROMO_256B)
.Default(::std::nullopt);
}
::std::optional<TensorMapL2PromoKind> symbolizeTensorMapL2PromoKind(uint32_t value) {
switch (value) {
case 0: return TensorMapL2PromoKind::L2PROMO_NONE;
case 1: return TensorMapL2PromoKind::L2PROMO_64B;
case 2: return TensorMapL2PromoKind::L2PROMO_128B;
case 3: return TensorMapL2PromoKind::L2PROMO_256B;
default: return ::std::nullopt;
}
}
} // namespace mlir::nvgpu
namespace mlir::nvgpu {
::llvm::StringRef stringifyTensorMapOOBKind(TensorMapOOBKind val) {
switch (val) {
case TensorMapOOBKind::OOB_ZERO: return "zero";
case TensorMapOOBKind::OOB_NAN: return "nan";
}
return "";
}
::std::optional<TensorMapOOBKind> symbolizeTensorMapOOBKind(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<TensorMapOOBKind>>(str)
.Case("zero", TensorMapOOBKind::OOB_ZERO)
.Case("nan", TensorMapOOBKind::OOB_NAN)
.Default(::std::nullopt);
}
::std::optional<TensorMapOOBKind> symbolizeTensorMapOOBKind(uint32_t value) {
switch (value) {
case 0: return TensorMapOOBKind::OOB_ZERO;
case 1: return TensorMapOOBKind::OOB_NAN;
default: return ::std::nullopt;
}
}
} // namespace mlir::nvgpu
namespace mlir::nvgpu {
::llvm::StringRef stringifyTensorMapSwizzleKind(TensorMapSwizzleKind val) {
switch (val) {
case TensorMapSwizzleKind::SWIZZLE_NONE: return "none";
case TensorMapSwizzleKind::SWIZZLE_32B: return "swizzle_32b";
case TensorMapSwizzleKind::SWIZZLE_64B: return "swizzle_64b";
case TensorMapSwizzleKind::SWIZZLE_128B: return "swizzle_128b";
}
return "";
}
::std::optional<TensorMapSwizzleKind> symbolizeTensorMapSwizzleKind(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<TensorMapSwizzleKind>>(str)
.Case("none", TensorMapSwizzleKind::SWIZZLE_NONE)
.Case("swizzle_32b", TensorMapSwizzleKind::SWIZZLE_32B)
.Case("swizzle_64b", TensorMapSwizzleKind::SWIZZLE_64B)
.Case("swizzle_128b", TensorMapSwizzleKind::SWIZZLE_128B)
.Default(::std::nullopt);
}
::std::optional<TensorMapSwizzleKind> symbolizeTensorMapSwizzleKind(uint32_t value) {
switch (value) {
case 0: return TensorMapSwizzleKind::SWIZZLE_NONE;
case 1: return TensorMapSwizzleKind::SWIZZLE_32B;
case 2: return TensorMapSwizzleKind::SWIZZLE_64B;
case 3: return TensorMapSwizzleKind::SWIZZLE_128B;
default: return ::std::nullopt;
}
}
} // namespace mlir::nvgpu