[Bug target/94962] Suboptimal AVX2 code for _mm256_zextsi128_si256(_mm_set1_epi8(-1))

2020-05-19 Thread n...@self-evident.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94962 --- Comment #7 from Nemo --- (In reply to Hongtao.liu from comment #6) > > vmovdqa xmm0, xmm0 is not redundant here, it would clear up 128-256 bit > which is the meaning of `zext`. No, it is redundant because "vpcmpeqd xmm0, xmm0, xmm0" already

[Bug target/94962] Suboptimal AVX2 code for _mm256_zextsi128_si256(_mm_set1_epi8(-1))

2020-05-18 Thread n...@self-evident.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94962 --- Comment #5 from Nemo --- (In reply to Jakub Jelinek from comment #2) I would be happy if GCC could just emit optimal code (single vcmpeqd instruction) for this useful constant: _mm256_set_m128i(_mm_setzero_si128(), _mm_set1_epi8(-1)) a

[Bug tree-optimization/94962] New: Suboptimal AVX2 code for _mm256_zextsi128_si256(_mm_set1_epi8(-1))

2020-05-05 Thread n...@self-evident.org
Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: n...@self-evident.org Target Milestone: --- Background: https://stackoverflow.com/q/61601902/ GCC emits an unnecessary "vmovdqa xmm0,xmm0" for the foll