When building GCC with --enable-default-ssp, the stack protector is enabled for got-load.C, causing additional GOT loads for __stack_chk_guard. So mem/u will be matched more than 2 times and the test will fail.
Disable stack protector to fix this issue. gcc/testsuite: * g++.target/loongarch/got-load.C (dg-options): Add -fno-stack-protector. --- Ok for trunk? gcc/testsuite/g++.target/loongarch/got-load.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.target/loongarch/got-load.C b/gcc/testsuite/g++.target/loongarch/got-load.C index 20924c73942..17870176ab4 100644 --- a/gcc/testsuite/g++.target/loongarch/got-load.C +++ b/gcc/testsuite/g++.target/loongarch/got-load.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mabi=lp64d -O2 -mexplicit-relocs -mcmodel=normal -fdump-rtl-expand" } */ +/* { dg-options "-mabi=lp64d -O2 -mexplicit-relocs -mcmodel=normal -fdump-rtl-expand -fno-stack-protector" } */ /* { dg-final { scan-rtl-dump-times "mem/u" 2 "expand" } } */ #include <bits/stdc++.h> -- 2.43.0