removed ifdef for x64 in fpu saving

This commit is contained in:
mothran 2015-08-30 19:39:46 -07:00
parent e1ab761e8a
commit 6aa2b73bea

View file

@ -986,7 +986,7 @@ void helper_fstenv(CPUX86State *env, target_ulong ptr, int data32)
} }
} }
} }
#ifdef TARGET_X86_64
// DFLAG enum: tcg.h, case here to int // DFLAG enum: tcg.h, case here to int
if (env->hflags & HF_CS64_MASK) { if (env->hflags & HF_CS64_MASK) {
cpu_stl_data(env, ptr, env->fpuc); cpu_stl_data(env, ptr, env->fpuc);
@ -996,29 +996,24 @@ void helper_fstenv(CPUX86State *env, target_ulong ptr, int data32)
cpu_stl_data(env, ptr + 20, 0); /* fpcs */ cpu_stl_data(env, ptr + 20, 0); /* fpcs */
cpu_stl_data(env, ptr + 24, 0); /* fpoo */ cpu_stl_data(env, ptr + 24, 0); /* fpoo */
cpu_stl_data(env, ptr + 28, 0); /* fpos */ cpu_stl_data(env, ptr + 28, 0); /* fpos */
} } else if (data32) {
#endif /* 32 bit */
if (!(env->hflags & HF_CS64_MASK)) cpu_stl_data(env, ptr, env->fpuc);
{ cpu_stl_data(env, ptr + 4, fpus);
if (data32) { cpu_stl_data(env, ptr + 8, fptag);
/* 32 bit */ cpu_stl_data(env, ptr + 12, env->fpip); /* fpip */
cpu_stl_data(env, ptr, env->fpuc); cpu_stl_data(env, ptr + 16, 0); /* fpcs */
cpu_stl_data(env, ptr + 4, fpus); cpu_stl_data(env, ptr + 20, 0); /* fpoo */
cpu_stl_data(env, ptr + 8, fptag); cpu_stl_data(env, ptr + 24, 0); /* fpos */
cpu_stl_data(env, ptr + 12, env->fpip); /* fpip */ } else {
cpu_stl_data(env, ptr + 16, 0); /* fpcs */ /* 16 bit */
cpu_stl_data(env, ptr + 20, 0); /* fpoo */ cpu_stw_data(env, ptr, env->fpuc);
cpu_stl_data(env, ptr + 24, 0); /* fpos */ cpu_stw_data(env, ptr + 2, fpus);
} else { cpu_stw_data(env, ptr + 4, fptag);
/* 16 bit */ cpu_stw_data(env, ptr + 6, env->fpip);
cpu_stw_data(env, ptr, env->fpuc); cpu_stw_data(env, ptr + 8, 0);
cpu_stw_data(env, ptr + 2, fpus); cpu_stw_data(env, ptr + 10, 0);
cpu_stw_data(env, ptr + 4, fptag); cpu_stw_data(env, ptr + 12, 0);
cpu_stw_data(env, ptr + 6, env->fpip);
cpu_stw_data(env, ptr + 8, 0);
cpu_stw_data(env, ptr + 10, 0);
cpu_stw_data(env, ptr + 12, 0);
}
} }
} }