[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/4] target-i386: fix movntsd on big-endian host
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 1/4] target-i386: fix movntsd on big-endian hosts |
Date: |
Wed, 14 Jan 2015 14:24:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 14/01/2015 14:17, Eduardo Habkost wrote:
>>> > > Do we have (or will patch 4/4 introduce) the same bug on the
>>> > > tcg_gen_addi_ptr() calls that don't use the XMM_Q macro?
>> >
>> > No, they all call into helpers that use the XMM_Q macro themselves.
> tcg_gen_addi_ptr() is called sometimes using the fpregs[reg].mmx offset,
> and sometimes using the xmm_regs[reg] offset. How can it know if the
> XMM_Q macro is necessary or not?
It can't, but I audited the calls.
Note that one helper is foo_xmm, the other is foo_mmx:
tcg_gen_addi_ptr(cpu_ptr0, cpu_env,
offsetof(CPUX86State,xmm_regs[rm]));
gen_helper_pmovmskb_xmm(cpu_tmp2_i32, cpu_env, cpu_ptr0);
} else {
rm = (modrm & 7);
tcg_gen_addi_ptr(cpu_ptr0, cpu_env,
offsetof(CPUX86State,fpregs[rm].mmx));
gen_helper_pmovmskb_mmx(cpu_tmp2_i32, cpu_env, cpu_ptr0);
Paolo
[Qemu-devel] [PATCH 4/4] target-i386: make xmm_regs 512-bit wide, Paolo Bonzini, 2015/01/07
[Qemu-devel] [PATCH 2/4] target-i386: do not memcpy in and out of xmm_regs, Paolo Bonzini, 2015/01/07
[Qemu-devel] [PATCH 3/4] target-i386: use vmstate_offset_sub_array for AVX registers, Paolo Bonzini, 2015/01/07