On Mon, 2023-12-25 at 11:20 +0800, Li Wei wrote: > We found that using the latest compiled gcc will cause a miscompare error > when running spec2006 400.perlbench test with -flto turned on. After testing, > it was found that only the LoongArch architecture will report errors. > The first error commit was located through the git bisect command as > r14-3773-g5b857e87201335. Through debugging, it was found that the problem > was that the split condition of the *bstrins_<mode>_for_ior_mask template was > empty, which should actually be consistent with the insn condition. > > gcc/ChangeLog: > > * config/loongarch/loongarch.md: Adjust.
LGTM. I had some misunderstandings here. Sorry for the bug. If a test case can be minimized and added it would be better, but I understand that for a LTO-revealed issue it can be difficult to do so. > --- > gcc/config/loongarch/loongarch.md | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/config/loongarch/loongarch.md > b/gcc/config/loongarch/loongarch.md > index 7021105b241..2b0609f2f31 100644 > --- a/gcc/config/loongarch/loongarch.md > +++ b/gcc/config/loongarch/loongarch.md > @@ -1489,7 +1489,7 @@ (define_insn_and_split "*bstrins_<mode>_for_ior_mask" > "loongarch_pre_reload_split () && \ > loongarch_use_bstrins_for_ior_with_mask (<MODE>mode, operands)" > "#" > - "" > + "&& true" > [(set (match_dup 0) (match_dup 1)) > (set (zero_extract:GPR (match_dup 0) (match_dup 2) (match_dup 4)) > (match_dup 3))] -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University