Subzero. X8664. Fix broken call sequence.

BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4077
R=sehr@chromium.org

Review URL: https://codereview.chromium.org/1614453002 .
diff --git a/Makefile.standalone b/Makefile.standalone
index c80b7c7..9f6e655 100644
--- a/Makefile.standalone
+++ b/Makefile.standalone
@@ -497,12 +497,21 @@
 # Run lit tests, cross tests, unit tests, and spec2k/x86-32.
 	+make -f Makefile.standalone \
           check check-spec
+# Run spec2k/x86-64.
+	+make -f Makefile.standalone \
+          TARGET=x8664 check-spec
 # Build spec2k under -Om1/x86-32, to check for liveness errors.
 	+make -f Makefile.standalone \
           SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec
+# Build spec2k under -Om1/x86-64, to check for liveness errors.
+	+make -f Makefile.standalone \
+          SPECFLAGS='-Om1' TARGET=x8664 SPECBUILDONLY=true check-spec
 # Run spec2k for x86-32 without advanced phi lowering.
 	+make -f Makefile.standalone \
           SPECFLAGS='--sz=--phi-edge-split=0' check-spec
+# Run spec2k for x86-64 without advanced phi lowering.
+	+make -f Makefile.standalone \
+          SPECFLAGS='--sz=--phi-edge-split=0' TARGET=x8664 check-spec
 # Run cross tests and lit tests to validate filetype=asm output.
 	+make -f Makefile.standalone \
           FORCEASM=1 check-xtest check-lit
diff --git a/src/IceTargetLoweringX86BaseImpl.h b/src/IceTargetLoweringX86BaseImpl.h
index 28f3f2f..2669fcf 100644
--- a/src/IceTargetLoweringX86BaseImpl.h
+++ b/src/IceTargetLoweringX86BaseImpl.h
@@ -2152,7 +2152,7 @@
   // Ensure there is enough space for the fstp/movs for floating returns.
   Variable *Dest = Instr->getDest();
   const Type DestTy = Dest ? Dest->getType() : IceType_void;
-  if (Traits::X86_PASS_SCALAR_FP_IN_XMM) {
+  if (!Traits::X86_PASS_SCALAR_FP_IN_XMM) {
     if (isScalarFloatingType(DestTy)) {
       ParameterAreaSizeBytes =
           std::max(static_cast<size_t>(ParameterAreaSizeBytes),