summaryrefslogtreecommitdiffstats
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
commit5c36f4f40c232e156bbe0af6ca3205434d75895f (patch)
tree651c4d0dfd29d4c66edcd1084884531604993338
parent72c9722c64b405a58897f67bb76e6a06d8096605 (diff)
downloadbcm5719-llvm-5c36f4f40c232e156bbe0af6ca3205434d75895f.tar.gz
bcm5719-llvm-5c36f4f40c232e156bbe0af6ca3205434d75895f.zip
Fix an erroneous check for isFNeg; the FNeg case is handled
a few lines later on. llvm-svn: 72904
-rw-r--r--llvm/lib/Target/CBackend/CBackend.cpp2
-rw-r--r--llvm/test/CodeGen/CBackend/fneg.ll7
2 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Target/CBackend/CBackend.cpp b/llvm/lib/Target/CBackend/CBackend.cpp
index ed3ff8171f2..5814d2750ed 100644
--- a/llvm/lib/Target/CBackend/CBackend.cpp
+++ b/llvm/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/llvm/test/CodeGen/CBackend/fneg.ll b/llvm/test/CodeGen/CBackend/fneg.ll
new file mode 100644
index 00000000000..68849b20c76
--- /dev/null
+++ b/llvm/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
+}
OpenPOWER on IntegriCloud