John Naylor <johncnaylorls@gmail.com> writes:
Hi,
>> Just be curious, what kind of optimization (like what -O2 does) could
>> mask this issue?
>
> In case Andy is asking about "how" rather than "under what
> circumstances", my guess is: -O1+ may have just chosen instructions
> that also happen to zero-extend, which are common. -O0 doesn't
> represent the naive straightforward structure of what the programmer
> wrote, it's more like an "exploded" representation suitable for later
> optimization passes. That's why it always looks goofy.
Thanks for the explaination!
>> > Replacing that with _mm512_zextsi128_si512 fixes the problem.
>
> Here's a patch for testing, which also reverts the previous
> workaround. Help welcome, but I still promise to test it in the near
> future regardless.
I verified the your patch, it works for me.
--
Best Regards
Andy Fan