]> gcc.gnu.org Git - gcc.git/commit
LoongArch: Optimizations of vector construction.
authorGuo Jie <guojie@loongson.cn>
Thu, 21 Sep 2023 01:19:18 +0000 (09:19 +0800)
committerLulu Cheng <chenglulu@loongson.cn>
Mon, 25 Sep 2023 02:41:06 +0000 (10:41 +0800)
commit39bab88b42da134c9979ed995d1aa7d45694ef3d
tree3371cad4e5c87a4774e87b19efad9db506db2d39
parent1eb80f78f114f6582c349f75e08b361a0a582091
LoongArch: Optimizations of vector construction.

gcc/ChangeLog:

* config/loongarch/lasx.md (lasx_vecinit_merge_<LASX:mode>): New
pattern for vector construction.
(vec_set<mode>_internal): Ditto.
(lasx_xvinsgr2vr_<mode256_i_half>_internal): Ditto.
(lasx_xvilvl_<lasxfmt_f>_internal): Ditto.
* config/loongarch/loongarch.cc (loongarch_expand_vector_init):
Optimized the implementation of vector construction.
(loongarch_expand_vector_init_same): New function.
* config/loongarch/lsx.md (lsx_vilvl_<lsxfmt_f>_internal): New
pattern for vector construction.
(lsx_vreplvei_mirror_<lsxfmt_f>): New pattern for vector
construction.
(vec_concatv2df): Ditto.
(vec_concatv4sf): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/loongarch/vector/lasx/lasx-vec-construct-opt.c: New test.
* gcc.target/loongarch/vector/lsx/lsx-vec-construct-opt.c: New test.
gcc/config/loongarch/lasx.md
gcc/config/loongarch/loongarch.cc
gcc/config/loongarch/lsx.md
gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-vec-construct-opt.c [new file with mode: 0644]
gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-vec-construct-opt.c [new file with mode: 0644]
This page took 0.062651 seconds and 5 git commands to generate.