diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2021-07-29 20:15:26 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2021-07-29 20:15:26 +0000 |
| commit | 344a3780b2e33f6ca763666c380202b18aab72a3 (patch) | |
| tree | f0b203ee6eb71d7fdd792373e3c81eb18d6934dd /llvm/utils/TableGen/CodeGenTarget.cpp | |
| parent | b60736ec1405bb0a8dd40989f67ef4c93da068ab (diff) | |
vendor/llvm-project/llvmorg-13-init-16847-g88e66fa60ae5vendor/llvm-project/llvmorg-12.0.1-rc2-0-ge7dac564cd0evendor/llvm-project/llvmorg-12.0.1-0-gfed41342a82f
Diffstat (limited to 'llvm/utils/TableGen/CodeGenTarget.cpp')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenTarget.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.cpp b/llvm/utils/TableGen/CodeGenTarget.cpp index 8f6d212df5ec..7311819f77ff 100644 --- a/llvm/utils/TableGen/CodeGenTarget.cpp +++ b/llvm/utils/TableGen/CodeGenTarget.cpp @@ -99,6 +99,8 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v64i8: return "MVT::v64i8"; case MVT::v128i8: return "MVT::v128i8"; case MVT::v256i8: return "MVT::v256i8"; + case MVT::v512i8: return "MVT::v512i8"; + case MVT::v1024i8: return "MVT::v1024i8"; case MVT::v1i16: return "MVT::v1i16"; case MVT::v2i16: return "MVT::v2i16"; case MVT::v3i16: return "MVT::v3i16"; @@ -108,11 +110,15 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v32i16: return "MVT::v32i16"; case MVT::v64i16: return "MVT::v64i16"; case MVT::v128i16: return "MVT::v128i16"; + case MVT::v256i16: return "MVT::v256i16"; + case MVT::v512i16: return "MVT::v512i16"; case MVT::v1i32: return "MVT::v1i32"; case MVT::v2i32: return "MVT::v2i32"; case MVT::v3i32: return "MVT::v3i32"; case MVT::v4i32: return "MVT::v4i32"; case MVT::v5i32: return "MVT::v5i32"; + case MVT::v6i32: return "MVT::v6i32"; + case MVT::v7i32: return "MVT::v7i32"; case MVT::v8i32: return "MVT::v8i32"; case MVT::v16i32: return "MVT::v16i32"; case MVT::v32i32: return "MVT::v32i32"; @@ -124,6 +130,7 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v2048i32: return "MVT::v2048i32"; case MVT::v1i64: return "MVT::v1i64"; case MVT::v2i64: return "MVT::v2i64"; + case MVT::v3i64: return "MVT::v3i64"; case MVT::v4i64: return "MVT::v4i64"; case MVT::v8i64: return "MVT::v8i64"; case MVT::v16i64: return "MVT::v16i64"; @@ -132,6 +139,7 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v128i64: return "MVT::v128i64"; case MVT::v256i64: return "MVT::v256i64"; case MVT::v1i128: return "MVT::v1i128"; + case MVT::v1f16: return "MVT::v1f16"; case MVT::v2f16: return "MVT::v2f16"; case MVT::v3f16: return "MVT::v3f16"; case MVT::v4f16: return "MVT::v4f16"; @@ -140,6 +148,8 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v32f16: return "MVT::v32f16"; case MVT::v64f16: return "MVT::v64f16"; case MVT::v128f16: return "MVT::v128f16"; + case MVT::v256f16: return "MVT::v256f16"; + case MVT::v512f16: return "MVT::v512f16"; case MVT::v2bf16: return "MVT::v2bf16"; case MVT::v3bf16: return "MVT::v3bf16"; case MVT::v4bf16: return "MVT::v4bf16"; @@ -153,6 +163,8 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v3f32: return "MVT::v3f32"; case MVT::v4f32: return "MVT::v4f32"; case MVT::v5f32: return "MVT::v5f32"; + case MVT::v6f32: return "MVT::v6f32"; + case MVT::v7f32: return "MVT::v7f32"; case MVT::v8f32: return "MVT::v8f32"; case MVT::v16f32: return "MVT::v16f32"; case MVT::v32f32: return "MVT::v32f32"; @@ -164,6 +176,7 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::v2048f32: return "MVT::v2048f32"; case MVT::v1f64: return "MVT::v1f64"; case MVT::v2f64: return "MVT::v2f64"; + case MVT::v3f64: return "MVT::v3f64"; case MVT::v4f64: return "MVT::v4f64"; case MVT::v8f64: return "MVT::v8f64"; case MVT::v16f64: return "MVT::v16f64"; @@ -209,6 +222,7 @@ StringRef llvm::getEnumName(MVT::SimpleValueType T) { case MVT::nxv8f16: return "MVT::nxv8f16"; case MVT::nxv16f16: return "MVT::nxv16f16"; case MVT::nxv32f16: return "MVT::nxv32f16"; + case MVT::nxv1bf16: return "MVT::nxv1bf16"; case MVT::nxv2bf16: return "MVT::nxv2bf16"; case MVT::nxv4bf16: return "MVT::nxv4bf16"; case MVT::nxv8bf16: return "MVT::nxv8bf16"; @@ -251,9 +265,9 @@ CodeGenTarget::CodeGenTarget(RecordKeeper &records) : Records(records), CGH(records) { std::vector<Record*> Targets = Records.getAllDerivedDefinitions("Target"); if (Targets.size() == 0) - PrintFatalError("ERROR: No 'Target' subclasses defined!"); + PrintFatalError("No 'Target' subclasses defined!"); if (Targets.size() != 1) - PrintFatalError("ERROR: Multiple subclasses of Target defined!"); + PrintFatalError("Multiple subclasses of Target defined!"); TargetRec = Targets[0]; } @@ -656,6 +670,7 @@ CodeGenIntrinsic::CodeGenIntrinsic(Record *R, isWillReturn = false; isCold = false; isNoDuplicate = false; + isNoMerge = false; isConvergent = false; isSpeculatable = false; hasSideEffects = false; @@ -845,6 +860,8 @@ void CodeGenIntrinsic::setProperty(Record *R) { canThrow = true; else if (R->getName() == "IntrNoDuplicate") isNoDuplicate = true; + else if (R->getName() == "IntrNoMerge") + isNoMerge = true; else if (R->getName() == "IntrConvergent") isConvergent = true; else if (R->getName() == "IntrNoReturn") |
