[Mlir-commits] [mlir] [mlir][tosa] Update the description section for CastOp to align with TOSA v1.0 spec (PR #129958)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Mar 6 09:09:06 PST 2025
https://github.com/Jerry-Ge updated https://github.com/llvm/llvm-project/pull/129958
>From e0a8dd36f5112a5f61179bbfe0e7199bddcc205d Mon Sep 17 00:00:00 2001
From: Jerry Ge <jerry.ge at arm.com>
Date: Wed, 5 Mar 2025 15:40:42 -0800
Subject: [PATCH] [mlir][tosa] Update the description section for CastOp to
align with TOSA v1.0 spec
Updated the description section to include all data types and match the
ordering with the spec.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Change-Id: I3075a3599f2e2732c7796a640697c75e3d17547f
---
mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td | 68 ++++++++++++++------
1 file changed, 49 insertions(+), 19 deletions(-)
diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td b/mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
index 61178a0110aa3..7ff1a94fb6231 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
+++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
@@ -2234,28 +2234,58 @@ def Tosa_CastOp: Tosa_Op<"cast", [Pure,
let summary = "Cast operation";
let description = [{
- Performs a set of permissible cast operations
+ Casts a tensor from one data type to another.
+ * This table is showing the supported conversions from the TOSA Specification.
+ * The MLIR dialect here can be used to represent other conversions.
| Mode | Input | Output |
|--------------------------|---------|---------|
- | signed 8 to bool | int8 | Boolean |
- | signed 16 to bool | int16 | Boolean |
- | signed 32 to bool | int32 | Boolean |
- | bool to 8 | Boolean | int8 |
- | bool to 16 | Boolean | int16 |
- | bool to 32 | Boolean | int32 |
- | signed 8 to signed 16 | int8 | int16 |
- | signed 8 to signed 32 | int8 | int32 |
- | signed 16 to signed 8 | int16 | int8 |
- | signed 16 to signed 32 | int16 | int32 |
- | signed 32 to signed 8 | int32 | int8 |
- | signed 32 to signed 16 | int32 | int16 |
- | float to signed 8 | float | int8 |
- | float to signed 16 | float | int16 |
- | signed 8 to float | int8 | float |
- | signed 16 to float | int16 | float |
- | float 32 to float 64 | float32 | float64 |
- | float 64 to float 32 | float64 | float32 |
+ | fp16 to fp32 | float16 | float32 |
+ | fp16 to int 16 | float16 | int16 |
+ | fp16 to int 32 | float16 | int32 |
+ | fp16 to int 8 | float16 | int8 |
+ | fp32 to fp16 | float32 | float16 |
+ | fp32 to int 16 | float32 | int16 |
+ | fp32 to int 32 | float32 | int32 |
+ | fp32 to int 8 | float32 | int8 |
+ | int 16 to fp16 | int16 | float16 |
+ | int 16 to fp32 | int16 | float32 |
+ | int 32 to fp16 | int32 | float16 |
+ | int 32 to fp32 | int32 | float32 |
+ | int 8 to fp16 | int8 | float16 |
+ | int 8 to fp32 | int8 | float32 |
+ | bool to int 16 | Boolean | int16 |
+ | bool to int 32 | Boolean | int32 |
+ | bool to int 8 | Boolean | int8 |
+ | int 16 to bool | int16 | Boolean |
+ | int 16 to int 32 | int16 | int32 |
+ | int 16 to int 8 | int16 | int8 |
+ | int 32 to bool | int32 | Boolean |
+ | int 32 to int 16 | int32 | int16 |
+ | int 32 to int 8 | int32 | int8 |
+ | int 8 to bool | int8 | Boolean |
+ | int 8 to int 16 | int8 | int16 |
+ | int 8 to int 32 | int8 | int32 |
+ | bf16 to fp32 | bf16 | float32 |
+ | bf16 to int 16 | bf16 | int16 |
+ | bf16 to int 32 | bf16 | int32 |
+ | bf16 to int 8 | bf16 | int8 |
+ | fp32 to bf16 | float32 | bf16 |
+ | int 16 to bf16 | int16 | bf16 |
+ | int 32 to bf16 | int32 | bf16 |
+ | int 8 to bf16 | int8 | bf16 |
+ | bf16 to fp8e4m3 | bf16 | fp8e4m3 |
+ | fp8e4m3 to bf16 | fp8e4m3 | bf16 |
+ | bf16 to fp8e5m2 | bf16 | fp8e5m2 |
+ | fp8e5m2 to bf16 | fp8e5m2 | bf16 |
+ | fp16 to fp8e4m3 | float16 | fp8e4m3 |
+ | fp32 to fp8e4m3 | float32 | fp8e4m3 |
+ | fp8e4m3 to fp16 | fp8e4m3 | float16 |
+ | fp8e4m3 to fp32 | fp8e4m3 | float32 |
+ | fp16 to fp8e5m2 | float16 | fp8e5m2 |
+ | fp32 to fp8e5m2 | float32 | fp8e5m2 |
+ | fp8e5m2 to fp16 | fp8e5m2 | float16 |
+ | fp8e5m2 to fp32 | fp8e5m2 | float32 |
}];
let arguments = (ins
More information about the Mlir-commits
mailing list