https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127459

--- Comment #1 from Haochen Jiang <haochen.jiang at intel dot com> ---
In avx_vec_concat<mode>, when there is no avx512vl, we should never use 256-bit
vinserti32x4.

It is a legacy bug triggered in GCC14 when adding EGPR. Before EGPR, it is hard
to trigger since we always prefer vinserti128. Thus, both condition need to
meet to trigger the issue: using ymm16+ and no avx512vl. It is quite hard to
trigger in real world scenario.

However, since EGPR is added, we prohibited vinserti128 when there is avx512f
due to the instructions itself does not support EGPR addr. Then we will not
prefer vinserti128 when avx512f is present. The condition for using ymm16+ is
removed. Then it is triggered. The isa_attr should be divided between 256/512.
When it is 256 bit, it should be noavx512vl instead of noavx512f.

Working on a patch to do that.

Reply via email to