Re: [PATCH for-6.2 08/34] target/arm: Fix VPT advance when ECI is non-zero

2021-07-19 Thread Peter Maydell
On Fri, 16 Jul 2021 at 17:58, Richard Henderson wrote: > > On 7/13/21 6:37 AM, Peter Maydell wrote: > > if (mask01 > 8) { > > -/* high bit set, but not 0b1000: invert the relevant half of P0 */ > > -vpr ^= 0xff; > > +if (eci == ECI_NONE) { > > +/* high bit

Re: [PATCH for-6.2 08/34] target/arm: Fix VPT advance when ECI is non-zero

2021-07-16 Thread Richard Henderson
On 7/13/21 6:37 AM, Peter Maydell wrote: if (mask01 > 8) { -/* high bit set, but not 0b1000: invert the relevant half of P0 */ -vpr ^= 0xff; +if (eci == ECI_NONE) { +/* high bit set, but not 0b1000: invert the relevant half of P0 */ +vpr ^= 0x

Re: [PATCH for-6.2 08/34] target/arm: Fix VPT advance when ECI is non-zero

2021-07-16 Thread Richard Henderson
On 7/13/21 6:37 AM, Peter Maydell wrote: We were not paying attention to the ECI state when advancing the VPT state. Architecturally, VPT state advance happens for every beat (see the pseudocode VPTAdvance()), so on every beat the 4 bits of VPR.P0 corresponding to the current beat are inverted i

[PATCH for-6.2 08/34] target/arm: Fix VPT advance when ECI is non-zero

2021-07-13 Thread Peter Maydell
We were not paying attention to the ECI state when advancing the VPT state. Architecturally, VPT state advance happens for every beat (see the pseudocode VPTAdvance()), so on every beat the 4 bits of VPR.P0 corresponding to the current beat are inverted if required, and at the end of beats 1 and 3