On Fri, 2023-07-21 at 13:11 +0100, Matthew Malcomson via Gcc-patches wrote: > This change ensures those operations are not fused and hence stops the test > being flaky on that particular machine. There is no expected change in the > generated code. > Bootstrap & regtest on AArch64 passes with no regressions. > > gcc/ChangeLog: > > * timevar.cc (get_time): Make this noinline to avoid fusing > behaviour and associated test flakyness.
I don't think it's correct. It will break bootstrapping GCC from other ISO C++11 compilers, you need to at least guard it with #ifdef __GNUC__. And IMO it's just hiding the real problem. We need more info of the "particular machine". Is this a hardware bug (i.e. the machine violates the AArch64 spec) or a GCC code generation issue? Or should we generally use -ffp-contract=off in BOOT_CFLAGS? -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University