[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