[llvm-commits] CVS: llvm/lib/Target/X86/X86RegisterInfo.cpp

Evan Cheng evan.cheng at apple.com
Thu Feb 16 13:20:38 PST 2006



Changes in directory llvm/lib/Target/X86:

X86RegisterInfo.cpp updated: 1.122 -> 1.123
---
Log message:

Use movaps / movapd to spill / restore V4F4 / V2F8 registers.


---
Diffs of the changes:  (+12 -4)

 X86RegisterInfo.cpp |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/X86/X86RegisterInfo.cpp
diff -u llvm/lib/Target/X86/X86RegisterInfo.cpp:1.122 llvm/lib/Target/X86/X86RegisterInfo.cpp:1.123
--- llvm/lib/Target/X86/X86RegisterInfo.cpp:1.122	Wed Feb 15 19:50:02 2006
+++ llvm/lib/Target/X86/X86RegisterInfo.cpp	Thu Feb 16 15:20:26 2006
@@ -57,10 +57,14 @@
     Opc = X86::MOV16mr;
   } else if (RC == &X86::RFPRegClass || RC == &X86::RSTRegClass) {
     Opc = X86::FpST64m;
-  } else if (RC == &X86::FR32RegClass || RC == &X86::V4F4RegClass) {
+  } else if (RC == &X86::FR32RegClass) {
     Opc = X86::MOVSSmr;
-  } else if (RC == &X86::FR64RegClass || RC == &X86::V2F8RegClass) {
+  } else if (RC == &X86::FR64RegClass) {
     Opc = X86::MOVSDmr;
+  } else if (RC == &X86::V4F4RegClass) {
+    Opc = X86::MOVAPSmr;
+  } else if (RC == &X86::V2F8RegClass) {
+    Opc = X86::MOVAPDmr;
   } else {
     assert(0 && "Unknown regclass");
     abort();
@@ -81,10 +85,14 @@
     Opc = X86::MOV16rm;
   } else if (RC == &X86::RFPRegClass || RC == &X86::RSTRegClass) {
     Opc = X86::FpLD64m;
-  } else if (RC == &X86::FR32RegClass || RC == &X86::V4F4RegClass) {
+  } else if (RC == &X86::FR32RegClass) {
     Opc = X86::MOVSSrm;
-  } else if (RC == &X86::FR64RegClass || RC == &X86::V2F8RegClass) {
+  } else if (RC == &X86::FR64RegClass) {
     Opc = X86::MOVSDrm;
+  } else if (RC == &X86::V4F4RegClass) {
+    Opc = X86::MOVAPSrm;
+  } else if (RC == &X86::V2F8RegClass) {
+    Opc = X86::MOVAPDrm;
   } else {
     assert(0 && "Unknown regclass");
     abort();






More information about the llvm-commits mailing list