From 8f6d6c817d6231c61c1bb04b98f7e5528e4b9ac4 Mon Sep 17 00:00:00 2001 From: Michael Berg Date: Tue, 5 Jun 2018 18:12:25 +0000 Subject: [PATCH] NFC: adding baseline fneg case for fmf llvm-svn: 334035 --- llvm/test/CodeGen/PowerPC/fmf-propagation.ll | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/llvm/test/CodeGen/PowerPC/fmf-propagation.ll b/llvm/test/CodeGen/PowerPC/fmf-propagation.ll index b4fb412dda28..3a9c844c238b 100644 --- a/llvm/test/CodeGen/PowerPC/fmf-propagation.ll +++ b/llvm/test/CodeGen/PowerPC/fmf-propagation.ll @@ -457,3 +457,31 @@ define double @log2_approx(double %x) nounwind { ret double %r } +; -(X - Y) --> (Y - X) + +; FMFDEBUG-LABEL: Optimized lowered selection DAG: %bb.0 'fneg_fsub_nozeros_1:' +; FMFDEBUG: fsub {{t[0-9]+}}, {{t[0-9]+}} +; FMFDEBUG: Type-legalized selection DAG: %bb.0 'fneg_fsub_nozeros_1:' + +; GLOBALDEBUG-LABEL: Optimized lowered selection DAG: %bb.0 'fneg_fsub_nozeros_1:' +; GLOBALDEBUG: fsub {{t[0-9]+}}, {{t[0-9]+}} +; GLOBALDEBUG: Type-legalized selection DAG: %bb.0 'fneg_fsub_nozeros_1:' + +define float @fneg_fsub_nozeros_1(float %x, float %y, float %z) { +; FMF-LABEL: fneg_fsub_nozeros_1: +; FMF: # %bb.0: +; FMF-NEXT: xssubsp 0, 1, 2 +; FMF-NEXT: xxlxor 13, 13, 13 +; FMF-NEXT: xssubsp 1, 13, 0 +; FMF-NEXT: blr +; +; GLOBAL-LABEL: fneg_fsub_nozeros_1: +; GLOBAL: # %bb.0: +; GLOBAL-NEXT: xssubsp 0, 1, 2 +; GLOBAL-NEXT: xxlxor 13, 13, 13 +; GLOBAL-NEXT: xssubsp 1, 13, 0 +; GLOBAL-NEXT: blr + %neg = fsub float %x, %y + %add = fsub float 0.0, %neg + ret float %add +}