[llvm] [IR] Use pretty printing for mask in is_fpclass (PR #207653)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 6 05:53:45 PDT 2026


================
@@ -0,0 +1,47 @@
+; RUN: llvm-as < %s | llvm-dis -print-formatted-constants | FileCheck %s
+
+define i1 @print_is_fpclass(float %x) {
+  %1 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1)
+  %2 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 2)
+  %3 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 4)
+  %4 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 8)
+  %5 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 16)
+  %6 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 32)
+  %7 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 64)
+  %8 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 128)
+  %9 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 256)
+  %10 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 512)
+  %11 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 3)
+  %12 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 96)
+  %13 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 144)
+  %14 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 264)
+  %15 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 516)
+  %16 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 56)
+  %17 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 448)
+  %18 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 960)
+  %19 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 60)
+  %20 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 666)
+  ret i1 %20
+}
+
+; CHECK-LABEL: print_is_fpclass(float %x) {
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* snan */ i32 1)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* qnan */ i32 2)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* -inf */ i32 4)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* -normal */ i32 8)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* -subnormal */ i32 16)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* -zero */ i32 32)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* +zero */ i32 64)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* +subnormal */ i32 128)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* +normal */ i32 256)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* +inf */ i32 512)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* nan */ i32 3)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* zero */ i32 96)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* subnormal */ i32 144)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* normal */ i32 264)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* inf */ i32 516)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* -zero|-subnormal|-normal */ i32 56)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* +zero|+subnormal|+normal */ i32 448)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* +zero|+subnormal|+normal|+inf */ i32 960)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* -zero|-subnormal|-normal|-inf */ i32 60)
+; CHECK: call i1 @llvm.is.fpclass.f32(float %x, /* subnormal|-normal|+inf|qnan */ i32 666)
----------------
arsenm wrote:

End of file whitespace error 

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


More information about the llvm-commits mailing list