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
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
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
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