================ @@ -0,0 +1,133 @@ +; RUN: opt -S -dxil-op-lower < %s | FileCheck %s + +; Make sure dxil operation function calls for any are generated for float and half. + + +target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-pc-shadermodel6.7-library" + + +; CHECK:icmp ne i1 %{{.*}}, false +; Function Attrs: noinline nounwind optnone +define noundef i1 @any_bool(i1 noundef %p0) #0 { +entry: + %p0.addr = alloca i8, align 1 + %frombool = zext i1 %p0 to i8 + store i8 %frombool, ptr %p0.addr, align 1 + %0 = load i8, ptr %p0.addr, align 1 + %tobool = trunc i8 %0 to i1 + %dx.any = call i1 @llvm.dx.any.i1(i1 %tobool) + ret i1 %dx.any +} + +; Function Attrs: nocallback nofree nosync nounwind willreturn +declare i1 @llvm.dx.any.i1(i1) #1 ---------------- bogner wrote:
It doesn't really matter, but I find it a bit tidier to put all of these function declarations together at the end. https://github.com/llvm/llvm-project/pull/84526 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits