aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2020-06-25 23:57:44 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2020-07-10 18:02:16 -0400
commit3ddc0eca2229846bfecc3485648a6cb85a466dc7 (patch)
treea3cd4056d93b0d5624a558d6f6eae46f72f5face /target
parent9e7871b1fca452e6ca125ff74baa3332e99ad5fe (diff)
downloadqemu-3ddc0eca2229846bfecc3485648a6cb85a466dc7.zip
qemu-3ddc0eca2229846bfecc3485648a6cb85a466dc7.tar.gz
qemu-3ddc0eca2229846bfecc3485648a6cb85a466dc7.tar.bz2
target/i386: set SSE FTZ in correct floating-point state
The code to set floating-point state when MXCSR changes calls set_flush_to_zero on &env->fp_status, so affecting the x87 floating-point state rather than the SSE state. Fix to call it for &env->sse_status instead. Signed-off-by: Joseph Myers <joseph@codesourcery.com> Message-Id: <alpine.DEB.2.21.2006252357170.3832@digraph.polyomino.org.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target')
-rw-r--r--target/i386/fpu_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/i386/fpu_helper.c b/target/i386/fpu_helper.c
index 71cec39..ec5b9db 100644
--- a/target/i386/fpu_helper.c
+++ b/target/i386/fpu_helper.c
@@ -2972,7 +2972,7 @@ void update_mxcsr_status(CPUX86State *env)
set_flush_inputs_to_zero((mxcsr & SSE_DAZ) ? 1 : 0, &env->sse_status);
/* set flush to zero */
- set_flush_to_zero((mxcsr & SSE_FZ) ? 1 : 0, &env->fp_status);
+ set_flush_to_zero((mxcsr & SSE_FZ) ? 1 : 0, &env->sse_status);
}
void helper_ldmxcsr(CPUX86State *env, uint32_t val)