[llvm] [Analysis] Adding convert_from_arbitrary_fp support in computeKnownFPClass. (PR #208585)

Chirag Patel via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 12 12:06:10 PDT 2026


================
@@ -0,0 +1,35 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
+; RUN: opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -S < %s | FileCheck %s --check-prefixes=CHECK
+
+define float @ret_arbitrary_fp_nan_inf(i8 %bits) {
+; CHECK-LABEL: define nofpclass(nan inf sub) float @ret_arbitrary_fp_nan_inf
+; CHECK-SAME: (i8 [[BITS:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT:    %fp = call nofpclass(nan inf sub) float @llvm.convert.from.arbitrary.fp.f32.i8(i8 [[BITS]], metadata !"Float4E2M1FN") #[[ATTR2:[0-9]+]]
+; CHECK-NEXT:    ret float %fp
+;
+  %fp = call float @llvm.convert.from.arbitrary.fp(i8 %bits, metadata !"Float4E2M1FN")
----------------
ChiragPatel8 wrote:

Ah, you mean adding a new support of unpacking and packing i8 -> <2 x float> to save space and make optimizations simple in LangRef and the LLVM.  I got it now. It can be added as TODO I guess.

https://github.com/llvm/llvm-project/pull/208585


More information about the llvm-commits mailing list