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