  #include "ARMGenAsmWriter.inc"
  
  /// runOnMachineFunction - This uses the printInstruction()
-@@ -247,7 +278,6 @@
+@@ -247,7 +286,6 @@
  
    // NOTE: we don't print out constant pools here, they are handled as
    // instructions.

                   [(ARMcall_nolink GPR:$func)]>, Requires<[IsARM, IsDarwin]> {
     let Inst{7-4}   = 0b0001;
     let Inst{19-8}  = 0b111111111111;
@@ -874,23 +913,36 @@
 
 // Store
 def STR  : AI2stw<(outs), (ins GPR:$src, addrmode2:$addr), StFrm, IIC_iStorer,

   for (unsigned i = 0, e = JTBBs.size(); i != e; ++i) {
     MachineBasicBlock *MBB = JTBBs[i];
     bool isNew = JTSets.insert(MBB);
@@ -1158,6 +1346,253 @@
 
     // FIXME: Should we signal R9 usage?
   }
