This PR adds the WaveActiveBitAnd HLSL function. Fixes https://github.com/llvm/llvm-project/issues/99166
20 lines
617 B
LLVM
20 lines
617 B
LLVM
; RUN: opt -S -scalarizer -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-compute %s | FileCheck %s
|
|
|
|
define noundef i32 @wave_bitand_simple(i32 noundef %p1) {
|
|
entry:
|
|
; CHECK: call i32 @dx.op.waveActiveBit.i32(i32 120, i32 %p1, i8 0){{$}}
|
|
%ret = call i32 @llvm.dx.wave.reduce.and.i32(i32 %p1)
|
|
ret i32 %ret
|
|
}
|
|
|
|
declare i32 @llvm.dx.wave.reduce.and.i32(i32)
|
|
|
|
define noundef i64 @wave_bitand_simple64(i64 noundef %p1) {
|
|
entry:
|
|
; CHECK: call i64 @dx.op.waveActiveBit.i64(i32 120, i64 %p1, i8 0){{$}}
|
|
%ret = call i64 @llvm.dx.wave.reduce.and.i64(i64 %p1)
|
|
ret i64 %ret
|
|
}
|
|
|
|
declare i64 @llvm.dx.wave.reduce.and.i64(i64)
|