https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
--- Comment #9 from Uroš Bizjak ---
(In reply to Marcus Kool from comment #8)
> Can you confirm that the code has
> return __builtin_ctzl(v);
__inline__ long find_pos32( unsigned char ch, mycharset32 set )
{
__m256i regchx256;
__m256
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
--- Comment #8 from Marcus Kool ---
(In reply to Uroš Bizjak from comment #5)
> Created attachment 35693 [details]
> Patch to add zero-extended MOVMSK patterns
>
> This patch adds zero-extended MOVMSK patterns.
>
> However, one more cast from (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
Uroš Bizjak changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
--- Comment #6 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Jun 4 10:06:11 2015
New Revision: 224120
URL: https://gcc.gnu.org/viewcvs?rev=224120&root=gcc&view=rev
Log:
PR target/66369
* config/i386/sse.md (_pmovmsk): M
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
Uroš Bizjak changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
--- Comment #4 from Marcus Kool ---
> The intrinsic returns "int", and from the above tree dump, the compiler
> won't even consider to combine the sign-extension with vpmovmskb.
>
> So, why not:
>
>unsigned int v;
>
>v = (unsigned int)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
--- Comment #3 from Marcus Kool ---
> The intrinsic returns "int", and from the above tree dump, the compiler
> won't even consider to combine the sign-extension with vpmovmskb.
That is the core of the issue: the part of gcc that deals with int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
--- Comment #2 from Uroš Bizjak ---
I have looked briefly at this. The compiler actually generates the following:
vpmovmskb %ymm0, %edx # 16avx2_pmovmskb [length = 4]
testl %edx, %edx # 18*cmpsi_ccno_1/
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
Richard Biener changed:
What|Removed |Added
Target||x86_64-*-*, i?86-*-*
--- Comment #1 fro