On 09/04/2015 06:05 AM, Bastian Koppelmann wrote:
On 09/03/2015 02:17 AM, Richard Henderson wrote:
{
/* Sync the tb dependent flag between translate and runtime. */
- if (dc->tb_flags != dc->synced_flags) {
- tcg_gen_movi_tl(env_flags, dc->tb_flags);
+ if ((dc->tb_flags ^ dc->synced_flags) & D_FLAG) {
+ tcg_gen_movi_tl(env_flags, dc->tb_flags & D_FLAG);
dc->synced_flags = dc->tb_flags;
}
}
Why do we only need to sync D_FLAG? Will there only be D_FLAG, which needs to
be synced?
It's a somewhat silly way to mark the delayed branch status. I don't recall if
I eventually got around to fixing this or not.
r~