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

Jan Beulich JBeulich@suse.com
Tue Sep 25 15:04:00 GMT 2018


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




More information about the Gdb-patches mailing list