A couple of FP-related fixes (prompted by Adam having trouble
running SPEC FP codes). arch/alpha/isa_desc: Don't warn about non-standard trapping modes more than once per static instruction. (Had the flag to suppress these but forgot to check it!) build/SConstruct: Add USE_SSE2 option to enable compiling w/SSE2 (important for getting IEEE-compliant FP on x86). --HG-- extra : convert_revision : eac69efb28cce7b48035480d8b7cb004782969f4
This commit is contained in:
parent
902e27e692
commit
e701cf48d9
2 changed files with 8 additions and 2 deletions
|
@ -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;
|
||||
|
|
|
@ -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.)
|
||||
|
|
Loading…
Reference in a new issue