[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 Jakub Jelinek changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 --- Comment #8 from Jakub Jelinek --- Author: jakub Date: Thu Dec 13 08:00:42 2018 New Revision: 267077 URL: https://gcc.gnu.org/viewcvs?rev=267077&root=gcc&view=rev Log: PR target/88461 * config/i386/sse.md (VI1248_AVX512VLBW, A

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Thu Dec 13 07:58:42 2018 New Revision: 267076 URL: https://gcc.gnu.org/viewcvs?rev=267076&root=gcc&view=rev Log: PR target/88461 * config/i386/i386.md (*zero_extendsidi2,

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 --- Comment #6 from Jakub Jelinek --- Created attachment 45219 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45219&action=edit gcc9-pr88461-2.patch Patch that seems to work for me (though, it adjusts just the vptest{,n}m patterns and noth

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 --- Comment #5 from Jakub Jelinek --- Created attachment 45218 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45218&action=edit gcc9-pr88461.patch Patch I've tried, but it doesn't change anything on this testcase (not even if I remove all

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread bugzi...@poradnik-webmastera.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 --- Comment #3 from Daniel Fruzynski --- Good catch, mask should be 16-bit. Here is fixed version: [code] #include #include int test(uint16_t* data, int a) { __m128i v = _mm_load_si128((const __m128i*)data); __mmask16 m = _mm_testn_ep

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 Richard Biener changed: What|Removed |Added Keywords||missed-optimization Target|

[Bug target/88461] AVX512: gcc should keep value in kN registers if possible

2018-12-12 Thread bugzi...@poradnik-webmastera.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88461 --- Comment #1 from Daniel Fruzynski --- For comparison, this is code generated by icc 19.0.1: [asm] test(unsigned short*, int): vmovdqu xmm0, XMMWORD PTR [rdi] #6.48 vptestnmw k0, xmm0, xmm0