xref: /llvm-project/llvm/test/CodeGen/DirectX/pow-vec.ll (revision 36b86438d7cd652bcac3fce51c1bdfad99536ec8)
1; RUN: opt -S  -dxil-intrinsic-expansion  < %s | FileCheck %s
2
3; Make sure dxil operation function calls for pow are generated for float and half.
4
5; CHECK-LABEL: pow_float4
6; CHECK: call <4 x float> @llvm.log2.v4f32(<4 x float>  %a)
7; CHECK: fmul <4 x float> %{{.*}}, %b
8; CHECK: call <4 x float> @llvm.exp2.v4f32(<4 x float>  %{{.*}})
9define noundef <4 x float> @pow_float4(<4 x float> noundef %a, <4 x float> noundef %b) {
10entry:
11  %elt.pow = call <4 x float> @llvm.pow.v4f32(<4 x float> %a, <4 x float> %b)
12  ret <4 x float> %elt.pow
13}
14
15declare <4 x float> @llvm.pow.v4f32(<4 x float>,<4 x float>)
16