]> git.ipfire.org Git - thirdparty/gcc.git/commit
LoongArch: Remove vec_concatz<mode> pattern.
authorJiahao Xu <xujiahao@loongson.cn>
Wed, 24 Jan 2024 09:19:13 +0000 (17:19 +0800)
committerLulu Cheng <chenglulu@loongson.cn>
Thu, 25 Jan 2024 07:50:24 +0000 (15:50 +0800)
commit77159546b2848b61159ac49882f7b1144e62eaaa
treee781dd262dbad0e9b82e1d079eb00cebc360c19e
parent578c7b91f418ebbef1bf169117815409e06f5197
LoongArch: Remove vec_concatz<mode> pattern.

It is incorrect to use vld/vori to implement the vec_concatz<mode> because when the LSX
instruction is used to update the value of the vector register, the upper 128 bits of
the vector register will not be zeroed.

gcc/ChangeLog:

* config/loongarch/lasx.md (@vec_concatz<mode>): Remove this define_insn pattern.
* config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): Use vec_concat<mode>.
gcc/config/loongarch/lasx.md
gcc/config/loongarch/loongarch.cc