[llvm-commits] [llvm] r93307 - /llvm/trunk/lib/Target/X86/X86InstrInfo.cpp

Evan Cheng evan.cheng at apple.com
Wed Jan 13 00:01:33 PST 2010


Author: evancheng
Date: Wed Jan 13 02:01:32 2010
New Revision: 93307

URL: http://llvm.org/viewvc/llvm-project?rev=93307&view=rev
Log:
For now, avoid issuing extract_subreg to reuse lower 8-bit, it's not safe in 32-bit.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrInfo.cpp

Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=93307&r1=93306&r2=93307&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Wed Jan 13 02:01:32 2010
@@ -724,6 +724,10 @@
   case X86::MOVZX32rr8:
   case X86::MOVSX64rr8:
   case X86::MOVZX64rr8:
+    if (!TM.getSubtarget<X86Subtarget>().is64Bit())
+      // It's not always legal to reference the low 8-bit of the larger
+      // register in 32-bit mode.
+      return false;
   case X86::MOVSX32rr16:
   case X86::MOVZX32rr16:
   case X86::MOVSX64rr16:





More information about the llvm-commits mailing list