From 4d5fdff43488445746dfea4cf0a5621cfd838c01 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Sat, 15 Aug 2020 13:33:35 -0400 Subject: [PATCH] [InstCombine] add tests for copysign; NFC --- llvm/test/Transforms/InstCombine/copysign.ll | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/llvm/test/Transforms/InstCombine/copysign.ll b/llvm/test/Transforms/InstCombine/copysign.ll index 2d87c7b..f278be71 100644 --- a/llvm/test/Transforms/InstCombine/copysign.ll +++ b/llvm/test/Transforms/InstCombine/copysign.ll @@ -89,3 +89,25 @@ define float @copysign_sign_arg(float %x, float %y, float %z) { %r = call ninf float @llvm.copysign.f32(float %x, float %s) ret float %r } + +define float @fneg_mag(float %x, float %y) { +; CHECK-LABEL: @fneg_mag( +; CHECK-NEXT: [[N:%.*]] = fneg float [[X:%.*]] +; CHECK-NEXT: [[R:%.*]] = call float @llvm.copysign.f32(float [[N]], float [[Y:%.*]]) +; CHECK-NEXT: ret float [[R]] +; + %n = fneg float %x + %r = call float @llvm.copysign.f32(float %n, float %y) + ret float %r +} + +define float @fabs_mag(float %x, float %y) { +; CHECK-LABEL: @fabs_mag( +; CHECK-NEXT: [[A:%.*]] = call float @llvm.fabs.f32(float [[X:%.*]]) +; CHECK-NEXT: [[R:%.*]] = call float @llvm.copysign.f32(float [[A]], float [[Y:%.*]]) +; CHECK-NEXT: ret float [[R]] +; + %a = call float @llvm.fabs.f32(float %x) + %r = call float @llvm.copysign.f32(float %a, float %y) + ret float %r +} -- 2.7.4