From 02b892331ca825b295e9d8a59b10ca371133c9dc Mon Sep 17 00:00:00 2001 From: Cameron McInally Date: Sat, 4 May 2019 14:56:08 +0000 Subject: [PATCH] Add InstCombine tests for FNeg instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359970 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/fneg.ll | 46 +++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/Transforms/InstCombine/fneg.ll b/test/Transforms/InstCombine/fneg.ll index df1d5f570db..84cc981566f 100644 --- a/test/Transforms/InstCombine/fneg.ll +++ b/test/Transforms/InstCombine/fneg.ll @@ -156,3 +156,49 @@ define <4 x double> @fdiv_op0_constant_fneg_vec(<4 x double> %x) { ret <4 x double> %r } +; Actual fneg instructions. + +define float @fneg_constant() { +; CHECK-LABEL: @fneg_constant( +; CHECK-NEXT: [[R:%.*]] = fneg float -0.000000e+00 +; CHECK-NEXT: ret float [[R]] +; + %r = fneg float -0.0 + ret float %r +} + +define float @fneg_undef() { +; CHECK-LABEL: @fneg_undef( +; CHECK-NEXT: [[R:%.*]] = fneg float undef +; CHECK-NEXT: ret float [[R]] +; + %r = fneg float undef + ret float %r +} + +define <4 x float> @fneg_constant_elts_v4f32() { +; CHECK-LABEL: @fneg_constant_elts_v4f32( +; CHECK-NEXT: [[R:%.*]] = fneg <4 x float> +; CHECK-NEXT: ret <4 x float> [[R]] +; + %r = fneg <4 x float> + ret <4 x float> %r +} + +define <4 x float> @fneg_constant_undef_elts_v4f32() { +; CHECK-LABEL: @fneg_constant_undef_elts_v4f32( +; CHECK-NEXT: [[R:%.*]] = fneg <4 x float> +; CHECK-NEXT: ret <4 x float> [[R]] +; + %r = fneg <4 x float> + ret <4 x float> %r +} + +define <4 x float> @fneg_constant_all_undef_elts_v4f32() { +; CHECK-LABEL: @fneg_constant_all_undef_elts_v4f32( +; CHECK-NEXT: [[R:%.*]] = fneg <4 x float> undef +; CHECK-NEXT: ret <4 x float> [[R]] +; + %r = fneg <4 x float> + ret <4 x float> %r +} -- 2.40.0