[all-commits] [llvm/llvm-project] b23e51: Fix TOSA FP16->INT16 CAST lowering (#79299)
RoboTux via All-commits
all-commits at lists.llvm.org
Tue Jan 30 08:06:20 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b23e518ce0df5b0835aba245cda50379bd896374
https://github.com/llvm/llvm-project/commit/b23e518ce0df5b0835aba245cda50379bd896374
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
Fix TOSA FP16->INT16 CAST lowering (#79299)
Currently cast from FP to int is implemented by clamping on the min and
max
integer values in the floating-point domain and then converting to
integer. However, the max int values are often non representable in the
floating-point input type due to lack of mantissa bits.
This patch instead use a select acting on a compare against max int + 1
which is representable in floating-point. It also has a special lowering
for cases where the integer range is wider than the floating-point range
to clamp the infinite values.
More information about the All-commits
mailing list