When using binutils, which does not support vectorization, and the gcc compiler toolchain, which does support vectorization, the following two types of error problems occur in gcc regression testing.
1.Failure of common tests in the gcc.dg/vect directory??? Regression testing of GCC has found that vect-bic-bitmask-{12/23}.c has errors at compile time, and similar problems exist on various architectures (e.g. x86, aarch64,riscv, etc.). The reason is that the behavior of the program is the assembly state, and the vector instruction cannot be recognized in the assembly stage and an error occurs. 2.FAIL items of common vectorization tests are supported. When LoongArch architecture supports common vector test cases, GCC regression testing has many failures. Reasons include a lack of detection of targets Rules, lack of vectorization options, lack of specific compilation options, check for instruction set differences and test behavior for program Settings, etc. For details, see the following patches: chenxiaolong (8): LoongArch: testsuite:Add detection procedures supported by the target. LoongArch: testsuite:Modify the test behavior of the vect-bic-bitmask-{12,23}.c file. LoongArch: testsuite:Added test support for vect-{82,83}.c. LoongArch: testsuite:Fix FAIL in file bind_c_array_params_2.f90. LoongArch: testsuite:Modify the test behavior in file pr60510.f. LoongArch: testsuite:Added additional vectorization "-mlasx" compilation option. LoongArch: testsuite:Added additional vectorization "-mlsx" compilation option. LoongArch: testsuite:Modify the result check in the FMA file. gcc/testsuite/gcc.dg/fma-3.c | 2 +- gcc/testsuite/gcc.dg/fma-4.c | 2 +- gcc/testsuite/gcc.dg/fma-6.c | 2 +- gcc/testsuite/gcc.dg/fma-7.c | 2 +- gcc/testsuite/gcc.dg/signbit-2.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/scev-16.c | 1 + gcc/testsuite/gcc.dg/vect/bb-slp-pattern-1.c | 1 + .../gcc.dg/vect/slp-widen-mult-half.c | 1 + gcc/testsuite/gcc.dg/vect/vect-82.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-83.c | 2 +- .../gcc.dg/vect/vect-bic-bitmask-12.c | 2 +- .../gcc.dg/vect/vect-bic-bitmask-23.c | 2 +- .../gcc.dg/vect/vect-widen-mult-const-s16.c | 1 + .../gcc.dg/vect/vect-widen-mult-const-u16.c | 1 + .../gcc.dg/vect/vect-widen-mult-half-u8.c | 1 + .../gcc.dg/vect/vect-widen-mult-half.c | 1 + .../gcc.dg/vect/vect-widen-mult-u16.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8-s16-s32.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8-u32.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8.c | 1 + .../gfortran.dg/bind_c_array_params_2.f90 | 4 +- .../gfortran.dg/graphite/vect-pr40979.f90 | 1 + .../gfortran.dg/vect/fast-math-mgrid-resid.f | 1 + gcc/testsuite/gfortran.dg/vect/pr60510.f | 1 - gcc/testsuite/lib/target-supports.exp | 219 +++++++++++++----- 25 files changed, 186 insertions(+), 68 deletions(-) -- 2.20.1