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

Jan Beulich
2018-10-03T14:30:43Z

>>> Simon Marchi <simon.marchi@ericsson.com> 10/02/18 9:20 PM >>>
>On 2018-09-25 11:04 AM, Jan Beulich wrote:
>>>>> 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.
>
>Thanks, this has now been fixed in master.

Ah, good to know.

>Here's the revised version with this fixed. I am not sure about the output
>for zmm0 though.

I'll give this a go and adjust if need be, but it'll likely take me a couple of
days to get to it. I take it that ...

>--- a/gdb/testsuite/gdb.arch/i386-avx512.c
>+++ b/gdb/testsuite/gdb.arch/i386-avx512.c
>@@ -249,6 +249,13 @@ main (int argc, char **argv)
>move back to array and check values. */
>move_zmm_data_to_memory ();
>asm ("nop"); /* sixth breakpoint here */
>+
>+ asm ("vpternlogd $0xff, %zmm0, %zmm0, %zmm0");
>+#ifdef __x86_64__s

... the trailing s here simply is a typo.

Jan