summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/alpha/isa_desc4
-rw-r--r--build/SConstruct6
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/alpha/isa_desc b/arch/alpha/isa_desc
index e80da6091..34e86c3a7 100644
--- a/arch/alpha/isa_desc
+++ b/arch/alpha/isa_desc
@@ -712,7 +712,7 @@ def template FloatingPointExecute {{
Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
Trace::InstRecord *traceData) const
{
- if (trappingMode != Imprecise) {
+ if (trappingMode != Imprecise && !warnedOnTrapping) {
warn("%s: non-standard trapping mode not supported",
generateDisassembly(0, NULL));
warnedOnTrapping = true;
@@ -755,7 +755,7 @@ def template FPFixedRoundingExecute {{
Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
Trace::InstRecord *traceData) const
{
- if (trappingMode != Imprecise) {
+ if (trappingMode != Imprecise && !warnedOnTrapping) {
warn("%s: non-standard trapping mode not supported",
generateDisassembly(0, NULL));
warnedOnTrapping = true;
diff --git a/build/SConstruct b/build/SConstruct
index cbb966196..45461b0af 100644
--- a/build/SConstruct
+++ b/build/SConstruct
@@ -233,6 +233,9 @@ sticky_opts.AddOptions(
BoolOption('SS_COMPATIBLE_FP',
'Make floating-point results compatible with SimpleScalar',
False),
+ BoolOption('USE_SSE2',
+ 'Compile for SSE2 (-msse2) to get IEEE FP on x86 hosts',
+ False),
BoolOption('STATS_BINNING', 'Bin statistics by CPU mode', have_mysql),
BoolOption('USE_MYSQL', 'Use MySQL for stats output', have_mysql),
BoolOption('USE_FENV', 'Use <fenv.h> IEEE mode control', have_fenv),
@@ -376,6 +379,9 @@ for build_dir in build_dirs:
env['CC'] = env['BATCH_CMD'] + ' ' + env['CC']
env['CXX'] = env['BATCH_CMD'] + ' ' + env['CXX']
+ if env['USE_SSE2']:
+ env.Append(CCFLAGS='-msse2')
+
# The m5/SConscript file sets up the build rules in 'env' according
# to the configured options. It returns a list of environments,
# one for each variant build (debug, opt, etc.)