aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-04 23:43:29 +0000
committerDan Gohman <gohman@apple.com>2009-06-04 23:43:29 +0000
commit9f5f322a032cc22b5375cf698ac58fe7644547c0 (patch)
treeefe7e3aa1209bbd333ccbebb456d6748b3241a92
parent40e233f103f7aa43f99dd6ee24ed8a22d5d1ea38 (diff)
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
-rw-r--r--lib/Target/CBackend/CBackend.cpp2
-rw-r--r--test/CodeGen/CBackend/fneg.ll7
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index ed3ff8171f..5814d2750e 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<BinaryOperator>(&I)));
Out << ")";
diff --git a/test/CodeGen/CBackend/fneg.ll b/test/CodeGen/CBackend/fneg.ll
new file mode 100644
index 0000000000..68849b20c7
--- /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
+}