On Mon, 29 Aug 2016, Uros Bizjak wrote:

On Mon, Aug 29, 2016 at 5:22 PM, Marc Glisse <marc.gli...@inria.fr> wrote:
On Mon, 29 Aug 2016, Kirill Yukhin wrote:

On 29.08.2016 14:58, Marc Glisse wrote:

this patch gets rid of a few more builtins (well, I actually kept them,
since Ada users may still need them). I had to tweak the flags for
pr59539-2.c, otherwise the compiler thinks it is more efficient to split the
loads, reading 128 bits at a time. This still breaks one testcase:
avx512f-vmovdqu32-1.c. I don't think it really matters, and I'll just adapt
the scan-assembler-times regex if you agree, but from
https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00757.html it looks like
getting 32 instead of 64 might be on purpose, so I'd like your opinion on
that

32/64 matters only when you're using embedded masking.
if not - they are synonyms.


Then for the review, please consider that the patch now has this extra
piece:

        * gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm.

-/* { dg-final { scan-assembler-times "vmovdqu32\[
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vmovdqu\[36\]\[24\]\[
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */

"vmovdqu(32|64)..." please.

Apparently, I need to use (?:32|64) instead (not sure why it won't pass otherwise...)

There is an existing line above:
/* { dg-final { scan-assembler-times "vmovdqu\[36\]\[24\]\[ \\t\]+\[^\{\n\]*\\)\[^\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */

I'll change it at the same time.

Patch is OK with the above change.

Thanks.

--
Marc Glisse

Reply via email to