svn commit: r242143 - stable/9/contrib/llvm/lib/Target/X86/MCTargetDesc

Dimitry Andric dim at FreeBSD.org
Fri Oct 26 16:30:50 UTC 2012


Author: dim
Date: Fri Oct 26 16:30:49 2012
New Revision: 242143
URL: http://svn.freebsd.org/changeset/base/242143

Log:
  MFC r241895:
  
  Pull in r165878 from upstream llvm trunk:
  
    X86: Disable long nops for all cpus prior to pentiumpro/i686.
  
  This is the safest approach for now.  If you think long nops matter a
  lot for performance, compile with -march=i686 or higher. :)

Modified:
  stable/9/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Directory Properties:
  stable/9/contrib/llvm/   (props changed)

Modified: stable/9/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
==============================================================================
--- stable/9/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp	Fri Oct 26 16:07:53 2012	(r242142)
+++ stable/9/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp	Fri Oct 26 16:30:49 2012	(r242143)
@@ -307,7 +307,9 @@ bool X86AsmBackend::writeNopData(uint64_
   };
 
   // This CPU doesnt support long nops. If needed add more.
-  if (CPU == "geode") {
+  // FIXME: Can we get this from the subtarget somehow?
+  if (CPU == "generic" || CPU == "i386" || CPU == "i486" || CPU == "i586" ||
+      CPU == "pentium" || CPU == "pentium-mmx" || CPU == "geode") {
     for (uint64_t i = 0; i < Count; ++i)
       OW->Write8(0x90);
     return true;


More information about the svn-src-all mailing list