129 lines
4.0 KiB
C++
129 lines
4.0 KiB
C++
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|
|
|* *|
|
|
|* Enum Utility Definitions *|
|
|
|* *|
|
|
|* Automatically generated file, do not edit! *|
|
|
|* From: ArmSMEOps.td *|
|
|
|* *|
|
|
\*===----------------------------------------------------------------------===*/
|
|
|
|
namespace mlir::arm_sme {
|
|
|
|
::llvm::StringRef stringifyArmSMETileType(ArmSMETileType val) {
|
|
switch (val) {
|
|
case ArmSMETileType::ZAB: return "za.b";
|
|
case ArmSMETileType::ZAH: return "za.h";
|
|
case ArmSMETileType::ZAS: return "za.s";
|
|
case ArmSMETileType::ZAD: return "za.d";
|
|
case ArmSMETileType::ZAQ: return "za.q";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
::std::optional<ArmSMETileType> symbolizeArmSMETileType(::llvm::StringRef str) {
|
|
return ::llvm::StringSwitch<::std::optional<ArmSMETileType>>(str)
|
|
.Case("za.b", ArmSMETileType::ZAB)
|
|
.Case("za.h", ArmSMETileType::ZAH)
|
|
.Case("za.s", ArmSMETileType::ZAS)
|
|
.Case("za.d", ArmSMETileType::ZAD)
|
|
.Case("za.q", ArmSMETileType::ZAQ)
|
|
.Default(::std::nullopt);
|
|
}
|
|
::std::optional<ArmSMETileType> symbolizeArmSMETileType(uint32_t value) {
|
|
switch (value) {
|
|
case 0: return ArmSMETileType::ZAB;
|
|
case 1: return ArmSMETileType::ZAH;
|
|
case 2: return ArmSMETileType::ZAS;
|
|
case 3: return ArmSMETileType::ZAD;
|
|
case 4: return ArmSMETileType::ZAQ;
|
|
default: return ::std::nullopt;
|
|
}
|
|
}
|
|
|
|
|
|
} // namespace mlir::arm_sme
|
|
namespace mlir::arm_sme {
|
|
|
|
::llvm::StringRef stringifyCombiningKind(CombiningKind val) {
|
|
switch (val) {
|
|
case CombiningKind::Add: return "add";
|
|
case CombiningKind::Sub: return "sub";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
::std::optional<CombiningKind> symbolizeCombiningKind(::llvm::StringRef str) {
|
|
return ::llvm::StringSwitch<::std::optional<CombiningKind>>(str)
|
|
.Case("add", CombiningKind::Add)
|
|
.Case("sub", CombiningKind::Sub)
|
|
.Default(::std::nullopt);
|
|
}
|
|
::std::optional<CombiningKind> symbolizeCombiningKind(uint32_t value) {
|
|
switch (value) {
|
|
case 0: return CombiningKind::Add;
|
|
case 1: return CombiningKind::Sub;
|
|
default: return ::std::nullopt;
|
|
}
|
|
}
|
|
|
|
|
|
} // namespace mlir::arm_sme
|
|
namespace mlir::arm_sme {
|
|
|
|
::llvm::StringRef stringifyTileSliceLayout(TileSliceLayout val) {
|
|
switch (val) {
|
|
case TileSliceLayout::Horizontal: return "horizontal";
|
|
case TileSliceLayout::Vertical: return "vertical";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
::std::optional<TileSliceLayout> symbolizeTileSliceLayout(::llvm::StringRef str) {
|
|
return ::llvm::StringSwitch<::std::optional<TileSliceLayout>>(str)
|
|
.Case("horizontal", TileSliceLayout::Horizontal)
|
|
.Case("vertical", TileSliceLayout::Vertical)
|
|
.Default(::std::nullopt);
|
|
}
|
|
::std::optional<TileSliceLayout> symbolizeTileSliceLayout(uint32_t value) {
|
|
switch (value) {
|
|
case 0: return TileSliceLayout::Horizontal;
|
|
case 1: return TileSliceLayout::Vertical;
|
|
default: return ::std::nullopt;
|
|
}
|
|
}
|
|
|
|
|
|
} // namespace mlir::arm_sme
|
|
namespace mlir::arm_sme {
|
|
|
|
::llvm::StringRef stringifyTypeSize(TypeSize val) {
|
|
switch (val) {
|
|
case TypeSize::Byte: return "byte";
|
|
case TypeSize::Half: return "half";
|
|
case TypeSize::Word: return "word";
|
|
case TypeSize::Double: return "double";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
::std::optional<TypeSize> symbolizeTypeSize(::llvm::StringRef str) {
|
|
return ::llvm::StringSwitch<::std::optional<TypeSize>>(str)
|
|
.Case("byte", TypeSize::Byte)
|
|
.Case("half", TypeSize::Half)
|
|
.Case("word", TypeSize::Word)
|
|
.Case("double", TypeSize::Double)
|
|
.Default(::std::nullopt);
|
|
}
|
|
::std::optional<TypeSize> symbolizeTypeSize(uint32_t value) {
|
|
switch (value) {
|
|
case 0: return TypeSize::Byte;
|
|
case 1: return TypeSize::Half;
|
|
case 2: return TypeSize::Word;
|
|
case 3: return TypeSize::Double;
|
|
default: return ::std::nullopt;
|
|
}
|
|
}
|
|
|
|
|
|
} // namespace mlir::arm_sme
|