[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-04 Thread ubizjak at gmail dot com
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

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-04 Thread marcus.kool at urlfilterdb dot com
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 (

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-04 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369 Uroš Bizjak changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-04 Thread uros at gcc dot gnu.org
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

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-03 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369 Uroš Bizjak changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-02 Thread marcus.kool at urlfilterdb dot com
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)

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-02 Thread marcus.kool at urlfilterdb dot com
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

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-02 Thread ubizjak at gmail dot com
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/

[Bug target/66369] gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb

2015-06-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369 Richard Biener changed: What|Removed |Added Target||x86_64-*-*, i?86-*-* --- Comment #1 fro