Use FpMOVD pseudo-instruction to move doubles around.
authorBrian Gaeke <gaeke@uiuc.edu>
Wed, 29 Sep 2004 03:27:30 +0000 (03:27 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Wed, 29 Sep 2004 03:27:30 +0000 (03:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16575 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcRegisterInfo.cpp
lib/Target/SparcV8/SparcV8RegisterInfo.cpp

index efd851f36f21519381aa02d81773cfa393914a8b..9b3c68b8fe7e298fe1c64372517f169b101b58c4 100644 (file)
@@ -68,6 +68,8 @@ void SparcV8RegisterInfo::copyRegToReg(MachineBasicBlock &MBB,
     BuildMI (MBB, I, V8::ORrr, 2, DestReg).addReg (V8::G0).addReg (SrcReg);
   else if (RC == SparcV8::FPRegsRegisterClass)
     BuildMI (MBB, I, V8::FMOVS, 1, DestReg).addReg (SrcReg);
+  else if (RC == SparcV8::DFPRegsRegisterClass)
+    BuildMI (MBB, I, V8::FpMOVD, 1, DestReg).addReg (SrcReg);
   else
     assert (0 && "Can't copy this register");
 }
index efd851f36f21519381aa02d81773cfa393914a8b..9b3c68b8fe7e298fe1c64372517f169b101b58c4 100644 (file)
@@ -68,6 +68,8 @@ void SparcV8RegisterInfo::copyRegToReg(MachineBasicBlock &MBB,
     BuildMI (MBB, I, V8::ORrr, 2, DestReg).addReg (V8::G0).addReg (SrcReg);
   else if (RC == SparcV8::FPRegsRegisterClass)
     BuildMI (MBB, I, V8::FMOVS, 1, DestReg).addReg (SrcReg);
+  else if (RC == SparcV8::DFPRegsRegisterClass)
+    BuildMI (MBB, I, V8::FpMOVD, 1, DestReg).addReg (SrcReg);
   else
     assert (0 && "Can't copy this register");
 }