diff options
Diffstat (limited to 'test/CodeGen/R600/fabs.ll')
-rw-r--r-- | test/CodeGen/R600/fabs.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/R600/fabs.ll b/test/CodeGen/R600/fabs.ll index 2cd3a4f..b87ce22 100644 --- a/test/CodeGen/R600/fabs.ll +++ b/test/CodeGen/R600/fabs.ll @@ -49,6 +49,17 @@ entry: ret void } +; SI-CHECK-LABEL: @fabs_fold +; SI-CHECK-NOT: V_AND_B32_e32 +; SI-CHECK: V_MUL_F32_e64 v{{[0-9]+}}, s{{[0-9]+}}, |v{{[0-9]+}}| +define void @fabs_fold(float addrspace(1)* %out, float %in0, float %in1) { +entry: + %0 = call float @fabs(float %in0) + %1 = fmul float %0, %in1 + store float %1, float addrspace(1)* %out + ret void +} + declare float @fabs(float ) readnone declare <2 x float> @llvm.fabs.v2f32(<2 x float> ) readnone declare <4 x float> @llvm.fabs.v4f32(<4 x float> ) readnone |