diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index f821a77caa5..b29187b154f 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -1361,9 +1361,9 @@ 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)) { - Out << "-"; + Out << "-("; writeOperand(BinaryOperator::getNegArgument(cast(&I))); - + Out << ")"; } else { writeOperand(I.getOperand(0)); diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index f821a77caa5..b29187b154f 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -1361,9 +1361,9 @@ 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)) { - Out << "-"; + Out << "-("; writeOperand(BinaryOperator::getNegArgument(cast(&I))); - + Out << ")"; } else { writeOperand(I.getOperand(0));