Re: [Qemu-devel] [PATCH] tcg/i386: fix vector operations on 32-bit hosts

2018-09-26 Thread Richard Henderson
On 8/24/18 6:17 AM, Roman Kapl wrote: > The TCG backend uses LOWREGMASK to get the low 7 bits of register numbers. > This > was defined as no-op for 32-bit x86, with the assumption that we have eight > registers anyway. This assumption is not true once we have xmm regs. > > Since LOWREGMASK was a

Re: [Qemu-devel] [PATCH] tcg/i386: fix vector operations on 32-bit hosts

2018-09-20 Thread Roman Kapl
Hi, On 09/20/2018 02:19 PM, Philippe Mathieu-Daudé wrote: On 8/24/18 3:17 PM, Roman Kapl wrote: The TCG backend uses LOWREGMASK to get the low 7 bits of register numbers. This 7 = 0b111: the low 3 bits? Yes, low 3 bits, 8 registers, the commit message is wrong. Thanks, Roman Kapl

Re: [Qemu-devel] [PATCH] tcg/i386: fix vector operations on 32-bit hosts

2018-09-20 Thread Philippe Mathieu-Daudé
On 8/24/18 3:17 PM, Roman Kapl wrote: > The TCG backend uses LOWREGMASK to get the low 7 bits of register numbers. > This 7 = 0b111: the low 3 bits? > was defined as no-op for 32-bit x86, with the assumption that we have eight > registers anyway. This assumption is not true once we have xmm regs

Re: [Qemu-devel] [PATCH] tcg/i386: fix vector operations on 32-bit hosts

2018-09-20 Thread Roman Kapl
ping http://patchwork.ozlabs.org/patch/961849/ On 08/24/2018 03:17 PM, Roman Kapl wrote: The TCG backend uses LOWREGMASK to get the low 7 bits of register numbers. This was defined as no-op for 32-bit x86, with the assumption that we have eight registers anyway. This assumption is not true once

[Qemu-devel] [PATCH] tcg/i386: fix vector operations on 32-bit hosts

2018-08-24 Thread Roman Kapl
The TCG backend uses LOWREGMASK to get the low 7 bits of register numbers. This was defined as no-op for 32-bit x86, with the assumption that we have eight registers anyway. This assumption is not true once we have xmm regs. Since LOWREGMASK was a no-op, xmm register indidices were wrong in opcode