https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
liuhongt at gcc dot gnu.org changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
--- Comment #6 from Hongtao.liu ---
Fixed in trunk.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
--- Comment #5 from CVS Commits ---
The master branch has been updated by hongtao Liu :
https://gcc.gnu.org/g:54e54f77c1012ab53126314181c51eaee146ad5d
commit r14-2833-g54e54f77c1012ab53126314181c51eaee146ad5d
Author: liuhongt
Date: Thu Jul
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
--- Comment #4 from Hongtao.liu ---
> kmovw %edx, %k0
> vpbroadcastmw2d %k0, %xmm1
>
> instead of
>
> vpbroadcastw%edx, %xmm1
>
It's not vpbroadcastw, it's
movzwl %dx, %ecx
vpbroadcastd%ecx, %xmm0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
--- Comment #3 from Uroš Bizjak ---
(In reply to Richard Biener from comment #0)
> I suppose it could also be a missed optimization in REE since I think
> the HImode regs should already be zero-extended?
No, only SImode moves have implicit zero
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
--- Comment #2 from Hongtao.liu ---
(In reply to Hongtao.liu from comment #1)
> I prefer to add an UNSPEC to vpbroadcastm, don't want to mix gpr and kmask
> too much for vec_duplicate:zero_extend pattern.
And got this:
.L3:
vmovapd b(%
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110788
--- Comment #1 from Hongtao.liu ---
I prefer to add an UNSPEC to vpbroadcastm, don't want to mix gpr and kmask too
much for vec_duplicate:zero_extend pattern.