[llvm] [RFC][SPIR-V] Add llvm.arbitrary.fp.convert intrinsic (PR #164252)
Dmitry Sidorov via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 2 15:46:08 PST 2025
================
@@ -21406,6 +21406,69 @@ environment <floatenv>` *except* for the rounding mode.
This intrinsic is not supported on all targets. Some targets may not support
all rounding modes.
+'``llvm.arbitrary.fp.convert``' Intrinsic
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+"""""""
+
+::
+
+ declare <type> @llvm.arbitrary.fp.convert(
+ <type> <value>, metadata <result interpretation>,
+ metadata <input interpretation>, metadata <rounding mode>,
+ i32 <saturation>)
+
+Overview:
+"""""""""
+
+The ``llvm.arbitrary.fp.convert`` intrinsic performs conversions
+between values whose interpretation differs from their representation
+in LLVM IR. The intrinsic is overloaded on both its return type and first
+argument. Metadata operands describe how the raw bits should be interpreted
+before and after the conversion.
----------------
MrSidims wrote:
FYI: we (Intel) have a use case for FP4 -> FP8 conversion. Spec itself is covered by https://github.com/intel/llvm/pull/20467 . But I'm changing the patch to have 2 intrinsics anyway, it indeed simplifies the semantic.
https://github.com/llvm/llvm-project/pull/164252
More information about the llvm-commits
mailing list