[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2024-07-19 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #11 from Andrew Pinski --- I know the missed optimization is fixed in GCC 10 at the RTL level. But shouldn't these optimized at gimple level to similar to: ``` __m256i cvt_setr1(__m128i low) { return __builtin_shufflevector (low,

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-07 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #10 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:f82617f229b336d856c18313339b14657e05c129 commit r10-6499-gf82617f229b336d856c18313339b14657e05c129 Author: Jakub Jelinek Date: F

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-06 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #9 from Marc Glisse --- (In reply to Jakub Jelinek from comment #6) > if we change the cast patterns so that they are a > vec_concat of the operand and UNSPEC_CAST that then represents just the > uninitialized higher part, simplify-rt

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #8 from Jakub Jelinek --- _mm256_permute2x128_si256 issue moved to separate PR93613.

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #7 from Jakub Jelinek --- The _mm256_permute2x128_si256 issues are similar, but really unrelated and IMHO should be tracked in a separate PR. The problem there is that the pattern we use doesn't really describe what the instruction d

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #6 from Jakub Jelinek --- Created attachment 47789 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47789&action=edit gcc10-pr93594-2.patch Actually, thinking about it some more, rather than having a special pattern to handle UNS

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-06 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #5 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:3f740c67dbb90177aa71d3c60ef9b0fd2f44dbd9 commit r10-6472-g3f740c67dbb90177aa71d3c60ef9b0fd2f44dbd9 Author: Jakub Jelinek Date: Th

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-06 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #4 from Marc Glisse --- The versions involving _mm256_cast* may be related to PR50829 and others (UNSPEC hiding the semantics of the operation).

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-05 Thread andysem at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #3 from andysem at mail dot ru --- ...and probably other permute variants involving zeroed input registers, e.g.: __m256i cvt_permute_zero_v1(__m128i low) { return _mm256_permute2x128_si256(_mm256_setzero_si256(), _mm256_castsi128

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-05 Thread andysem at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 --- Comment #2 from andysem at mail dot ru --- Another test case: __m256i cvt_permute(__m128i low) { return _mm256_permute2x128_si256(_mm256_castsi128_si256(low), _mm256_castsi128_si256(low), 0x80); } https://gcc.godbolt.org/z/4Ddt3C

[Bug target/93594] Missed optimization with _mm256_set/setr_m128i intrinsics

2020-02-05 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|