https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116445
--- Comment #6 from Torbjorn SVENSSON <azoff at gcc dot gnu.org> --- (In reply to Christophe Lyon from comment #5) > The test has: > /* { dg-require-effective-target arm_thumb2_ok_no_arm_v8_1_lob } */ > since commit g:d2ed233cb940aa3eecc163d98b47979dd81dbc0a > with this comment: "Do not run when generating low loop overhead." > but that effective-target will only check if low-overhead-loops can / cannot > be executed, which is not adequate for a 'dg-do compile' test... > > It looks like that commit tried to disable the test for a target with > low-overhead-loops? I don't know if the reason was that the test was failing > as reported by Torbjorn. > > Maybe a simple fix would be to switch back to arm_thumb2_ok, and use -O2 > instead of just -O? > > Side note: Torbjorn, why does arm_v8_1_lob_ok fail on your target? I'd > thought it should pass, thus making arm_thumb2_ok_no_arm_v8_1_lob fail and > disable the test? The reason why arm_thumb2_ok_no_arm_v8_1_lob is reporting "success" is that check_effective_target_arm_v8_1_lob_ok checks with -march=armv8.1-m.main while my test was ran with -mcpu=cortex-m55 and then I get this excess error: cc1: warning: switch '-mcpu=cortex-m55' conflicts with switch '-march=armv8.1-m.main' so, this means that the test fails, but for the wrong reason and then the check_effective_target_arm_v8_1_lob_ok returns success as it is expecting a failure. The problem with arm_thumb2_ok_no_arm_v8_1_lob is also just for GCC14 since GCC15 uses the -mcpu=unset feature.