From 9f5f322a032cc22b5375cf698ac58fe7644547c0 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 4 Jun 2009 23:43:29 +0000 Subject: [PATCH] Fix an erroneous check for isFNeg; the FNeg case is handled a few lines later on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72904 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/CBackend/CBackend.cpp | 2 +- test/CodeGen/CBackend/fneg.ll | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/CodeGen/CBackend/fneg.ll diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index ed3ff8171f2..5814d2750ed 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -2600,7 +2600,7 @@ void CWriter::visitBinaryOperator(Instruction &I) { // If this is a negation operation, print it out as such. For FP, we don't // want to print "-0.0 - X". - if (BinaryOperator::isNeg(&I) || BinaryOperator::isFNeg(&I)) { + if (BinaryOperator::isNeg(&I)) { Out << "-("; writeOperand(BinaryOperator::getNegArgument(cast(&I))); Out << ")"; diff --git a/test/CodeGen/CBackend/fneg.ll b/test/CodeGen/CBackend/fneg.ll new file mode 100644 index 00000000000..68849b20c76 --- /dev/null +++ b/test/CodeGen/CBackend/fneg.ll @@ -0,0 +1,7 @@ +; RUN: llvm-as < %s | llc -march=c + +define void @func() nounwind { + entry: + %0 = fsub double -0.0, undef + ret void +}