This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix <avx512>_blendm<mode>
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Kirill Yukhin <kirill dot yukhin at gmail dot com>, Uros Bizjak <ubizjak at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 28 Mar 2018 21:24:06 +0200
- Subject: [PATCH] Fix <avx512>_blendm<mode>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
When looking at PR85090, I've looked into tmp-mddump.md and noticed there
some instructions that can't assemble - vblendmd etc., there is only
vpblendmd or vblendmps. I couldn't make a testcase that would reproduce
this though, seems the masked *mov<mode>_internal is used instead.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2018-03-28 Jakub Jelinek <jakub@redhat.com>
* config/i386/sse.md (<avx512>_blendm<mode>): Use <sseintprefix>.
--- gcc/config/i386/sse.md.jj 2018-03-13 09:02:28.714937979 +0100
+++ gcc/config/i386/sse.md 2018-03-28 17:46:49.928240731 +0200
@@ -1138,7 +1138,7 @@ (define_insn "<avx512>_blendm<mode>"
(match_operand:V48_AVX512VL 1 "register_operand" "v")
(match_operand:<avx512fmaskmode> 3 "register_operand" "Yk")))]
"TARGET_AVX512F"
- "vblendm<ssemodesuffix>\t{%2, %1, %0%{%3%}|%0%{%3%}, %1, %2}"
+ "v<sseintprefix>blendm<ssemodesuffix>\t{%2, %1, %0%{%3%}|%0%{%3%}, %1, %2}"
[(set_attr "type" "ssemov")
(set_attr "prefix" "evex")
(set_attr "mode" "<sseinsnmode>")])
Jakub