Fix PR228: [sparc] Boolean constants are emitted as true and false

I will observe that the concept of using WriteAsOperand is completely broken,
but then we all knew that, didn't we?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11255 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/SparcV9/SparcV9AsmPrinter.cpp b/lib/Target/SparcV9/SparcV9AsmPrinter.cpp
index 863ffd7..277da69 100644
--- a/lib/Target/SparcV9/SparcV9AsmPrinter.cpp
+++ b/lib/Target/SparcV9/SparcV9AsmPrinter.cpp
@@ -340,6 +340,8 @@
         
       toAsm << "\t! " << CV->getType()->getDescription()
             << " value: " << Val << "\n";
+    } else if (const ConstantBool *CB = dyn_cast<ConstantBool>(CV)) {
+      toAsm << (int)CB->getValue() << "\n";
     } else {
       WriteAsOperand(toAsm, CV, false, false) << "\n";
     }