Bug 1300380: Build the ARM simulator under macosx with sse2 too; r=jandem

And workaround a small oversight of clang in Simulator::canonicalizeNaN(float),
which does a float->double->float conversion messing up with the signal/quiet
bit of NaN values.

MozReview-Commit-ID: 9izzAfPpP3b

--HG--
extra : rebase_source : 646603c182eee90ffa925f08cdfc4d879ab80e71
extra : amend_source : 60ee8d3e5c7053f14193dc60de87530e512e04cd
extra : histedit_source : 3977dce49fdc590c6552a086bac598e8ee1e4c37
This commit is contained in:
Benjamin Bouvier 2016-09-22 18:21:36 +02:00
parent 68d9d89340
commit 8bd74b039e
2 changed files with 5 additions and 7 deletions

View File

@ -2687,17 +2687,15 @@ Simulator::softwareInterrupt(SimInstruction* instr)
void
Simulator::canonicalizeNaN(double* value)
{
*value = !JitOptions.wasmTestMode && FPSCR_default_NaN_mode_
? JS::CanonicalizeNaN(*value)
: *value;
if (!JitOptions.wasmTestMode && FPSCR_default_NaN_mode_)
*value = JS::CanonicalizeNaN(*value);
}
void
Simulator::canonicalizeNaN(float* value)
{
*value = !JitOptions.wasmTestMode && FPSCR_default_NaN_mode_
? JS::CanonicalizeNaN(*value)
: *value;
if (!JitOptions.wasmTestMode && FPSCR_default_NaN_mode_)
*value = JS::CanonicalizeNaN(*value);
}
// Stop helper functions.

View File

@ -484,7 +484,7 @@ elif CONFIG['JS_CODEGEN_ARM']:
'jit/arm/Simulator-arm.cpp'
]
# Configuration used only for testing.
if CONFIG['OS_ARCH'] == 'Linux':
if CONFIG['OS_ARCH'] == 'Linux' or CONFIG['OS_ARCH'] == 'Darwin':
CXXFLAGS += [ '-msse2', '-mfpmath=sse' ]
elif CONFIG['OS_ARCH'] == 'Darwin':
SOURCES += [