Don't emit address size prefixes for native x86-64 ABI.

Address size prefixes are used in 64-bit x86 for PNaCl's use of the
x32 ABI with ILP32 data model. Don't emit them for any other ABI.

BUG=swiftshader:9

Change-Id: I1351db086d44ce4b144b3428866a54e84637b9a4
Reviewed-on: https://chromium-review.googlesource.com/390409
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/IceTargetLoweringX8664.h b/src/IceTargetLoweringX8664.h
index 69500f0..e90f66a 100644
--- a/src/IceTargetLoweringX8664.h
+++ b/src/IceTargetLoweringX8664.h
@@ -42,7 +42,9 @@
   }
 
   std::unique_ptr<::Ice::Assembler> createAssembler() const override {
-    const bool EmitAddrSizeOverridePrefix = !NeedSandboxing;
+    const bool EmitAddrSizeOverridePrefix =
+        !NeedSandboxing &&
+        getFlags().getApplicationBinaryInterface() == ABI_PNaCl;
     return makeUnique<X8664::AssemblerX8664>(EmitAddrSizeOverridePrefix);
   }