From 457602b350fd6747b43c07ea54d142ac2a223f5e Mon Sep 17 00:00:00 2001 From: b1tg <33436708+b1tg@users.noreply.github.com> Date: Wed, 29 Oct 2025 21:27:42 +0800 Subject: [PATCH] fix fp8 cast folding (#12997) --- tinygrad/dtype.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tinygrad/dtype.py b/tinygrad/dtype.py index 60ca8f8981..09d00bab0c 100644 --- a/tinygrad/dtype.py +++ b/tinygrad/dtype.py @@ -221,9 +221,9 @@ def can_safe_cast(dt0:DType, dt1:DType) -> bool: if dt0 == dt1 or dt0 == dtypes.bool: return True match dt1: case dtypes.index: return dt0 in dtypes.ints - case dtypes.double: return dt0 in (dtypes.float, dtypes.half, dtypes.bfloat16, + case dtypes.double: return dt0 in (dtypes.float, dtypes.half, dtypes.bfloat16, *dtypes.fp8s, dtypes.uint32, dtypes.uint16, dtypes.uint8, dtypes.int32, dtypes.int16, dtypes.int8) - case dtypes.float: return dt0 in (dtypes.half, dtypes.bfloat16, dtypes.uint16, dtypes.uint8, dtypes.int16, dtypes.int8) + case dtypes.float: return dt0 in (dtypes.half, dtypes.bfloat16, *dtypes.fp8s, dtypes.uint16, dtypes.uint8, dtypes.int16, dtypes.int8) case dtypes.uint64: return dt0 in (dtypes.uint32, dtypes.uint16, dtypes.uint8) case dtypes.uint32: return dt0 in (dtypes.uint16, dtypes.uint8) case dtypes.int64: return dt0 in (dtypes.uint32, dtypes.uint16, dtypes.uint8, dtypes.int32, dtypes.int16, dtypes.int8)