2016-11-21 20:12 GMT+03:00 Martin Sebor <mse...@gmail.com>: > On 11/20/2016 11:16 AM, Uros Bizjak wrote: >> >> On Sat, Nov 19, 2016 at 7:52 PM, Uros Bizjak <ubiz...@gmail.com> wrote: >>> >>> On Sat, Nov 19, 2016 at 6:24 PM, Jakub Jelinek <ja...@redhat.com> wrote: >>>> >>>> On Sat, Nov 19, 2016 at 12:28:22PM +0100, Jakub Jelinek wrote: >>>>> >>>>> On x86_64-linux with the 3 patches I'm not seeing any new FAILs >>>>> compared to before r242569, on i686-linux there is still: >>>>> +FAIL: gcc.target/i386/pr57756.c (test for errors, line 6) >>>>> +FAIL: gcc.target/i386/pr57756.c (test for warnings, line 14) >>>>> compared to pre-r242569 (so some further fix is needed). >>>> >>>> >>>> And finally here is yet another patch that fixes pr57756 on i686-linux. >>>> Ok for trunk together with the other 3 patches? >>> >>> >>> OK for the whole patch series. >> >> >> Hm, I still see (both, 32bit and 64bit targets): >> >> In file included from /ssd/uros/gcc-build/gcc/include/immintrin.h:45:0,^M >> from >> /home/uros/gcc-svn/trunk/gcc/testsuite/gcc.target/i386/sse-22.c:223,^M >> from >> /home/uros/gcc-svn/trunk/gcc/testsuite/gcc.target/i386/sse-22a.c:7:^M >> /ssd/uros/gcc-build/gcc/include/avx5124fmapsintrin.h: In function >> '_mm512_maskz_4fmadd_ps':^M >> /ssd/uros/gcc-build/gcc/include/avx512fintrin.h:244:1: error: inlining >> failed in call to always_inline '_mm512_setzero_ps': target specific >> option mismatch^M >> In file included from /ssd/uros/gcc-build/gcc/include/immintrin.h:71:0,^M >> from >> /home/uros/gcc-svn/trunk/gcc/testsuite/gcc.target/i386/sse-22.c:223,^M >> from >> /home/uros/gcc-svn/trunk/gcc/testsuite/gcc.target/i386/sse-22a.c:7:^M >> /ssd/uros/gcc-build/gcc/include/avx5124fmapsintrin.h:77:17: note: >> called from here^M >> compiler exited with status 1 >> FAIL: gcc.target/i386/sse-22a.c (test for excess errors) >> Excess errors: >> /ssd/uros/gcc-build/gcc/include/avx512fintrin.h:244:1: error: inlining >> failed in call to always_inline '_mm512_setzero_ps': target specific >> option mismatch > > > FWIW, I came across the same error in my own testing and raised > bug 78451.
Can we fix it with the following patch? Regtesting in progress. PR target/78451 * gcc/config/i386/avx5124fmapsintrin.h: Avoid call to _mm512_setzero_ps. * gcc/config/i386/avx5124vnniwintrin.h: Ditto. diff --git a/gcc/config/i386/avx5124fmapsintrin.h b/gcc/config/i386/avx5124fmapsintrin.h index 6113ee9..dd9a322 --- a/gcc/config/i386/avx5124fmapsintrin.h +++ b/gcc/config/i386/avx5124fmapsintrin.h @@ -74,7 +74,9 @@ _mm512_maskz_4fmadd_ps (__mmask16 __U, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F, - (__v16sf) _mm512_setzero_ps (), + (__v16sf) {0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0}, (__mmask16) __U); } @@ -161,7 +163,9 @@ _mm512_maskz_4fnmadd_ps (__mmask16 __U, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F, - (__v16sf) _mm512_setzero_ps (), + (__v16sf) {0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0}, (__mmask16) __U); } diff --git a/gcc/config/i386/avx5124vnniwintrin.h b/gcc/config/i386/avx5124vnniwintrin.h index 392c6a5..a4faa24 --- a/gcc/config/i386/avx5124vnniwintrin.h +++ b/gcc/config/i386/avx5124vnniwintrin.h @@ -75,7 +75,9 @@ _mm512_maskz_4dpwssd_epi32 (__mmask16 __U, __m512i __A, __m512i __B, (__v16si) __E, (__v16si) __A, (const __v4si *) __F, - (__v16si) _mm512_setzero_ps (), + (__v16si) {0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0}, (__mmask16) __U); } @@ -120,7 +122,9 @@ _mm512_maskz_4dpwssds_epi32 (__mmask16 __U, __m512i __A, __m512i __B, (__v16si) __E, (__v16si) __A, (const __v4si *) __F, - (__v16si) _mm512_setzero_ps (), + (__v16si) {0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0}, (__mmask16) __U); } -- WBR, Andrew
sse-22a-fix.patch
Description: Binary data