[clang] [llvm] [HLSL] Implement WaveActiveAnyTrue intrinsic (PR #115902)
Ashley Coleman via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 20 12:23:38 PST 2024
================
@@ -0,0 +1,17 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#bool:]] = OpTypeBool
+; CHECK-DAG: %[[#uint:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#scope:]] = OpConstant %[[#uint]] 3
+
+; CHECK-LABEL: Begin function test_wave_any
+define i1 @test_wave_any(i1 %p1) {
+entry:
+; CHECK: %[[#param:]] = OpFunctionParameter %[[#bool]]
+; CHECK: %{{.+}} = OpGroupNonUniformAny %[[#bool]] %[[#scope]] %[[#param]]
+ %ret = call i1 @llvm.spv.wave.any(i1 %p1)
----------------
V-FEXrt wrote:
This [similar commit](https://github.com/llvm/llvm-project/pull/111010/commits/484b2089ae9f0a0fae09b6d68b70171f1007bade#diff-bac84b1c33bc0aee1edd39550243c6e3c5606b6b8538b2f424a55ce3c9977244) (from which I was basing my changes) seems to have intentionally removed the convergence intrinsics generated by the frontend. Should we mirror that or should convergence be added back in to that test?
cc @inbelic
https://github.com/llvm/llvm-project/pull/115902
More information about the cfe-commits
mailing list