wire up 64-bit MCCodeEmitter.
[oota-llvm.git] / lib / Target / X86 / X86CodeEmitter.cpp
index dbb83c8e78c222688b0a4a81890f24c05c9b310c..480c0cd27ecf84a5a13f3c394851d6766e0a75e0 100644 (file)
@@ -1117,8 +1117,11 @@ MCCodeEmitter *llvm::createHeinousX86MCCodeEmitter(const Target &T,
                                                    TargetMachine &TM) {
   
   // FIXME: Remove the heinous one when the new one works.
-  if (EnableNewEncoder)
-    return createX86MCCodeEmitter(T, TM);
+  if (EnableNewEncoder) {
+    if (TM.getTargetData()->getPointerSize() == 4)
+      return createX86_32MCCodeEmitter(T, TM);
+    return createX86_64MCCodeEmitter(T, TM);
+  }
 
   return new X86MCCodeEmitter(static_cast<X86TargetMachine&>(TM));
 }