Adding an A15 specific optimization pass for interactions between S/D/Q registers...
[oota-llvm.git] / lib / Target / ARM / ARMBaseInstrInfo.cpp
index ed001ea24a7174f2375de1f06b5bb5a3e45727fb..ed8b9cd9a1c043fcb0bef101024f11b258c3bb1b 100644 (file)
@@ -1125,7 +1125,7 @@ bool ARMBaseInstrInfo::expandPostRAPseudo(MachineBasicBlock::iterator MI) const{
   // copyPhysReg() calls.  Look for VMOVS instructions that can legally be
   // widened to VMOVD.  We prefer the VMOVD when possible because it may be
   // changed into a VORR that can go down the NEON pipeline.
-  if (!WidenVMOVS || !MI->isCopy())
+  if (!WidenVMOVS || !MI->isCopy() || Subtarget.isCortexA15())
     return false;
 
   // Look for a copy between even S-registers.  That is where we keep floats