[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 Jakub Jelinek changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #16 from Jakub Jelinek --- Should be fixed now.
[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 --- Comment #15 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:6043bfbd89b335dd10f093a653ee58c5b1e08ed3 commit r14-5430-g6043bfbd89b335dd10f093a653ee58c5b1e08ed3 Author: Jakub Jelinek Date: Tue Nov 14 08:11:44 2023 +0100 i386: Don't optimize vshuf{i,f}{32x4,64x2} and vperm{i,f}128 to vblendps for %ymm16+ [PR112435] The vblendps instruction is only VEX encoded, not EVEX, so can't be used if there are %ymm16+ or EGPR registers involved. 2023-11-14 Jakub Jelinek Hu, Lin1 PR target/112435 * config/i386/sse.md (avx512vl_shuf_32x4_1, avx512dq_shuf_64x2_1): Add alternative with just x instead of v constraints and xjm instead of vm and use vblendps as optimization only with that alternative. * gcc.target/i386/avx512vl-pr112435-1.c: New test. * gcc.target/i386/avx512vl-pr112435-2.c: New test. * gcc.target/i386/avx512vl-pr112435-3.c: New test.
[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 --- Comment #14 from Andrew Pinski --- (In reply to Jakub Jelinek from comment #13) > Created attachment 56553 [details] > gcc14-pr112435.patch > > Untested fix. https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635760.html ? But I think your patch might be better ... though that includes more testcases.
[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 Jakub Jelinek changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #13 from Jakub Jelinek --- Created attachment 56553 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56553=edit gcc14-pr112435.patch Untested fix.
[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Target||x86_64-*-*
[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 --- Comment #12 from Haochen Jiang --- Seems like we should prevent the optimization in that commit to register x/ymm16+.
[Bug target/112435] [14 regression] GCC generates assembly which gas rejects with AVX when building ncnn (Error: unsupported instruction `vblendps') since r14-96-gc2dac2e5fbbcdd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112435 Sam James changed: What|Removed |Added See Also||https://sourceware.org/bugz ||illa/show_bug.cgi?id=31043 --- Comment #11 from Sam James --- (In reply to Andrew Pinski from comment #7) > [...] > > vblendps only supports up to %ymm15 ... > > The error message is not so good though. Filed gas bug for a better error message at https://sourceware.org/bugzilla/show_bug.cgi?id=31043