1//===-- Enums.td -------------------------------------------*- tablegen -*-===//
3// Part of the LLZK Project, under the Apache License v2.0.
4// See LICENSE.txt for license information.
5// Copyright 2026 Project LLZK
6// SPDX-License-Identifier: Apache-2.0
8//===----------------------------------------------------------------------===//
10#ifndef LLZK_CAST_ENUMS
11#define LLZK_CAST_ENUMS
13include "mlir/IR/EnumAttr.td"
15def LLZK_OverflowSemantics
16 : I32EnumAttr<"OverflowSemantics", "Cast overflow semantics",
17 [I32EnumAttrCase<"ASSERT", 0, "assert">,
18 I32EnumAttrCase<"SATURATE", 1, "sat">,
19 I32EnumAttrCase<"WRAP", 2, "wrap">,
20 I32EnumAttrCase<"TRUNCATE", 3, "trunc">]> {
21 let genSpecializedAttr = 0;
22 let cppNamespace = "::llzk::cast";
25#endif // LLZK_CAST_ENUMS