diff --git a/lib/Target/PowerPC/PPC32AsmPrinter.cpp b/lib/Target/PowerPC/PPC32AsmPrinter.cpp
index c2c219b..1ea821e 100644
--- a/lib/Target/PowerPC/PPC32AsmPrinter.cpp
+++ b/lib/Target/PowerPC/PPC32AsmPrinter.cpp
@@ -291,7 +291,7 @@
       
       O << ".long\t" << U.T.MSWord << "\t; double most significant word " 
         << Val << "\n";
-      O << ".long\t" << U.T.LSWord << "\t; double least significant word" 
+      O << ".long\t" << U.T.LSWord << "\t; double least significant word " 
         << Val << "\n";
       return;
     }
@@ -309,7 +309,7 @@
         
       O << ".long\t" << U.T.MSWord << "\t; Double-word most significant word " 
         << U.UVal << "\n";
-      O << ".long\t" << U.T.LSWord << "\t; Double-word least significant word" 
+      O << ".long\t" << U.T.LSWord << "\t; Double-word least significant word " 
         << U.UVal << "\n";
       return;
     }
@@ -522,6 +522,12 @@
   //assert ( ValidOpcodes(MI, ArgType) && "Instruction has invalid inputs");
   ++EmittedInsts;
 
+  if (Opcode == PPC32::IMPLICIT_DEF) {
+    O << "; IMPLICIT DEF ";
+    printOp(MI->getOperand(0));
+    O << "\n";
+    return;
+  }
   // FIXME: should probably be converted to cout.width and cout.fill
   if (Opcode == PPC32::MovePCtoLR) {
     O << "bl \"L0000" << labelNumber << "$pb\"\n";
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp
index c2c219b..1ea821e 100644
--- a/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -291,7 +291,7 @@
       
       O << ".long\t" << U.T.MSWord << "\t; double most significant word " 
         << Val << "\n";
-      O << ".long\t" << U.T.LSWord << "\t; double least significant word" 
+      O << ".long\t" << U.T.LSWord << "\t; double least significant word " 
         << Val << "\n";
       return;
     }
@@ -309,7 +309,7 @@
         
       O << ".long\t" << U.T.MSWord << "\t; Double-word most significant word " 
         << U.UVal << "\n";
-      O << ".long\t" << U.T.LSWord << "\t; Double-word least significant word" 
+      O << ".long\t" << U.T.LSWord << "\t; Double-word least significant word " 
         << U.UVal << "\n";
       return;
     }
@@ -522,6 +522,12 @@
   //assert ( ValidOpcodes(MI, ArgType) && "Instruction has invalid inputs");
   ++EmittedInsts;
 
+  if (Opcode == PPC32::IMPLICIT_DEF) {
+    O << "; IMPLICIT DEF ";
+    printOp(MI->getOperand(0));
+    O << "\n";
+    return;
+  }
   // FIXME: should probably be converted to cout.width and cout.fill
   if (Opcode == PPC32::MovePCtoLR) {
     O << "bl \"L0000" << labelNumber << "$pb\"\n";
diff --git a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
index c2c219b..1ea821e 100644
--- a/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
+++ b/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
@@ -291,7 +291,7 @@
       
       O << ".long\t" << U.T.MSWord << "\t; double most significant word " 
         << Val << "\n";
-      O << ".long\t" << U.T.LSWord << "\t; double least significant word" 
+      O << ".long\t" << U.T.LSWord << "\t; double least significant word " 
         << Val << "\n";
       return;
     }
@@ -309,7 +309,7 @@
         
       O << ".long\t" << U.T.MSWord << "\t; Double-word most significant word " 
         << U.UVal << "\n";
-      O << ".long\t" << U.T.LSWord << "\t; Double-word least significant word" 
+      O << ".long\t" << U.T.LSWord << "\t; Double-word least significant word " 
         << U.UVal << "\n";
       return;
     }
@@ -522,6 +522,12 @@
   //assert ( ValidOpcodes(MI, ArgType) && "Instruction has invalid inputs");
   ++EmittedInsts;
 
+  if (Opcode == PPC32::IMPLICIT_DEF) {
+    O << "; IMPLICIT DEF ";
+    printOp(MI->getOperand(0));
+    O << "\n";
+    return;
+  }
   // FIXME: should probably be converted to cout.width and cout.fill
   if (Opcode == PPC32::MovePCtoLR) {
     O << "bl \"L0000" << labelNumber << "$pb\"\n";
