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

Evan Cheng evan.cheng at apple.com
Wed Nov 8 12:35:52 PST 2006



Changes in directory llvm/lib/Target/X86:

X86Subtarget.cpp updated: 1.38 -> 1.39
---
Log message:

Use movl+xchgl instead of pushl+popl.

---
Diffs of the changes:  (+2 -3)

 X86Subtarget.cpp |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/X86/X86Subtarget.cpp
diff -u llvm/lib/Target/X86/X86Subtarget.cpp:1.38 llvm/lib/Target/X86/X86Subtarget.cpp:1.39
--- llvm/lib/Target/X86/X86Subtarget.cpp:1.38	Mon Oct 16 19:24:49 2006
+++ llvm/lib/Target/X86/X86Subtarget.cpp	Wed Nov  8 14:35:37 2006
@@ -44,10 +44,9 @@
   return false;
 #elif defined(i386) || defined(__i386__) || defined(__x86__) || defined(_M_IX86)
 #if defined(__GNUC__)
-  asm ("pushl\t%%ebx\n\t"
+  asm ("movl\t%%ebx, %%esi\n\t"
        "cpuid\n\t"
-       "movl\t%%ebx, %%esi\n\t"
-       "popl\t%%ebx"
+       "xchgl\t%%ebx, %%esi\n\t"
        : "=a" (*rEAX),
          "=S" (*rEBX),
          "=c" (*rECX),






More information about the llvm-commits mailing list