Re: [PATCH] x86-64: fix ZMM register state tracking

Jan Beulich
2018-09-25T15:04:33Z

>>> On 25.09.18 at 05:28, <simon.marchi@ericsson.com> wrote:
> On 2018-09-18 09:37 AM, Jan Beulich wrote:
> Thanks for the instructions. There is already a test covering AVX512
> instructions, so I figured I would add it there. However, I don't
> have a processor that supports AVX512, so I'm unable to run the test.
>
> Here's a patch, can you try to confirm that the test fails without the
> fix and passes with the fix? I probably screwed up somewhere, but it
> should be pretty close.

There are two issues here: First of all, unrelated to this patch, the
construct around line 95 in i386-avx512.exp should look like

if [is_amd64_regs_target] {
set nr_regs 32
} else {
set nr_regs 8
}

Of course this also affects other tests in here, but without this correction
the loop you add does nothing at all.

And then that very loop and the i386-avx512.c addition are not in sync,
and I'm not sure which way you meant it to be: Either in the C file all 16
upper ZMM registers need to be set identically (not just ZMM16), or
there should be no loop.

Furthermore I think the C code addition and hence the test will need to
be x86-64-specific, as registers ZMM8 and higher are inaccessible in
32-bit mode.

So what I can confirm at this point is that with the fix in place there's
one less new failure from the test than with the fix no in place.

Jan