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 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.)