在 2023/11/19 上午2:25, Xi Ruoyao 写道:
On Fri, 2023-11-17 at 10:21 +0800, chenglulu wrote:
Pushed to r14-5545.
在 2023/11/16 下午4:44, Jiahao Xu 写道:
Based on SPEC2017 performance evaluation results, it's better to make them equal
to the cost of unaligned store/load so as to avoid odd alignment peeling.
gcc/ChangeLog:
* config/loongarch/loongarch.cc
(loongarch_builtin_vectorization_cost): Adjust.
/* snip */
+ case vector_load:
+ case vector_store:
case unaligned_load:
case unaligned_store:
return 2;
It seems penalizing the vectorizing and causes:
FAIL: gcc.target/loongarch/vector/lasx/lasx-xvstelm.c -mlasx
scan-assembler-times xvstelm.w 8
Maybe we can make unaligned_load and unaligned_store cost 1 too instead
of increasing vector_load and vector_store?
If make the cost of unaligned_load and unaligned_store cost 1 too, it
will result in a 1.5% overall performance decrease in SPEC CPU 2017
fprate on 3A6000. Therefore, I don't think it's a good idea. The
lasx-xvstelm.c file tests whether the vec_extract operation and fst can
be combined into xvstelm.I think it would be better to add a compilation
option, such as "-fno-vect-cost-model," to make it unaffected by the
cost model.