Hi,

This patch set tries to reduce the number of failed test cases for ARM based
targets by leveraging the -mcpu=unset/-march=unset feature introduced in
r15-3606-g7d6c6a0d15c.  With the patch set applied, the test cases listed below
will be reported as "regressions", but it's really that the test cases needs to
be adapted to the different context they might be tested in.

I have checked for regressions with r15-5047-g7e1d9f58858 as a baseline for
Cortex-A7, Cortex-M0/3/4/7/33/55/85.

For some of the regressions listed below, there is either patches shared that
should fix them, or discussion has started on how to address them.

FAIL: gcc.dg/vect/complex/fast-math-complex-mls-float.c -flto -ffat-lto-objects 
 scan-tree-dump vect "Found COMPLEX_FMA"
FAIL: gcc.dg/vect/complex/fast-math-complex-mls-float.c scan-tree-dump vect 
"Found COMPLEX_FMA"
FAIL: gcc.target/arm/aes_xor_combine.c scan-assembler-not veor
FAIL: gcc.target/arm/armv8_2-fp16-scalar-1.c (test for excess errors)
FAIL: gcc.target/arm/armv8_2-fp16-scalar-2.c (test for excess errors)
FAIL: gcc.target/arm/bfloat16_scalar_1_1.c check-function-bodies bfloat_mov_mr
FAIL: gcc.target/arm/bfloat16_scalar_1_2.c check-function-bodies bfloat_mov_mr
FAIL: gcc.target/arm/bfloat16_scalar_2_1.c check-function-bodies bfloat_mov_mr
FAIL: gcc.target/arm/bfloat16_scalar_2_2.c check-function-bodies bfloat_mov_mr
FAIL: gcc.target/arm/bfloat16_scalar_3_1.c check-function-bodies bfloat_mov_mr
FAIL: gcc.target/arm/bfloat16_scalar_3_2.c check-function-bodies bfloat_mov_mr
FAIL: gcc.target/arm/bfloat16_simd_1_2.c check-function-bodies stacktest1
FAIL: gcc.target/arm/bfloat16_simd_2_2.c check-function-bodies stacktest1
FAIL: gcc.target/arm/bfloat16_simd_3_2.c check-function-bodies stacktest1
FAIL: gcc.target/arm/crypto-vsha1cq_u32.c scan-assembler-times 
vdup.32\\tq[0-9]+, r[0-9]+ 4
FAIL: gcc.target/arm/crypto-vsha1h_u32.c scan-assembler-times 
vdup.32\\tq[0-9]+, r[0-9]+ 4
FAIL: gcc.target/arm/crypto-vsha1mq_u32.c scan-assembler-times 
vdup.32\\tq[0-9]+, r[0-9]+ 4
FAIL: gcc.target/arm/crypto-vsha1pq_u32.c scan-assembler-times 
vdup.32\\tq[0-9]+, r[0-9]+ 4
FAIL: gcc.target/arm/mve/dlstp-compile-asm-2.c check-function-bodies test7
FAIL: gcc.target/arm/mve/dlstp-invalid-asm.c scan-assembler-not \tdlstp
FAIL: gcc.target/arm/mve/dlstp-invalid-asm.c scan-assembler-not \tletp
FAIL: gcc.target/arm/pr110268-1.c (test for excess errors)
FAIL: gcc.target/arm/pr110268-2.c (test for excess errors)
FAIL: gcc.target/arm/pr112337.c (test for excess errors)
FAIL: gcc.target/arm/simd/bf16_vstn_1.c check-function-bodies test_vst3q_bf16
FAIL: gcc.target/arm/simd/mve-vabs.c scan-assembler-times memmove 3
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vabs\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vadd\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.f16\\.s32\\ts[0-9]+, s[0-9]+ 2
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.f16\\.s32\\ts[0-9]+, s[0-9]+, #1 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.f16\\.u32\\ts[0-9]+, s[0-9]+ 2
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.f16\\.u32\\ts[0-9]+, s[0-9]+, #1 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.s32\\.f16\\ts[0-9]+, s[0-9]+ 2
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.s32\\.f16\\ts[0-9]+, s[0-9]+, #1 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.u32\\.f16\\ts[0-9]+, s[0-9]+ 2
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvt\\.u32\\.f16\\ts[0-9]+, s[0-9]+, #1 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvta\\.s32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvta\\.u32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvtm\\.s32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvtm\\.u32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvtn\\.s32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvtn\\.u32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvtp\\.s32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vcvtp\\.u32\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vdiv\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vfma\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vfms\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vmaxnm\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vminnm\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vmul\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vneg\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vrinta\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vrintr\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vrintz\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vsqrt\\.f16\\ts[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-1.c scan-assembler-times 
vsub\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-2.c scan-assembler-times 
vadd.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 2
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-2.c scan-assembler-times 
vmla\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-2.c scan-assembler-times 
vmls\\.f16 2
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-2.c scan-assembler-times 
vmov.f16\\ts[0-9]+, #1\\.0e\\+0 4
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-2.c scan-assembler-times 
vnmla\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
UNRESOLVED: gcc.target/arm/armv8_2-fp16-scalar-2.c scan-assembler-times 
vnmls\\.f16\\ts[0-9]+, s[0-9]+, s[0-9]+ 1
XPASS: g++.target/arm/bfloat_cpp_typecheck.C  (test for bogus messages, line 10)
XPASS: g++.target/arm/bfloat_cpp_typecheck.C  (test for bogus messages, line 11)


Without the patch set, I see 270 unique tests that are failing.
With the patch set, I see 213 unique tests that are failing.
These figures have been collected using the following .exp files as argument to
the dejagnu testsuite:

arm.exp
acle.exp
cmse.exp
mve.exp
simd.exp
pure-code.exp
vect.exp
complex.exp
dg.exp=*_arm-*
dg-torture.exp=arm-*
arm-isr.exp


Ok for trunk?

Kind regards,
Torbjörn


Reply via email to