https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90357
Bug ID: 90357 Summary: [9 regression][MIPS] New FAIL: gcc.c-torture/execute/20080502-1.c -O0 start with r269880 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: paul.hua.gm at gmail dot com Target Milestone: --- Created attachment 46300 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46300&action=edit preprocessed .i file Hi: There are some regressions start with r269880. The r269880 try to forward SRC into the next instruction. Take 20080502-1.c as a example, it fails cause they use the same reg between src and dest. good asm: 81 ld $2,%got_page(.LC1)($28) 82 ld $3,%got_ofst(.LC1+8)($2) 83 ld $2,%got_ofst(.LC1)($2) 84 dmtc1 $2,$f12 85 dmtc1 $3,$f13 after r269880: 81 ld $2,%got_page(.LC1)($28) 82 ld $3,%got_ofst(.LC1+8)($2) 83 ld $2,%got_ofst(.LC1)($2) 84 ldc1 $f12,%got_ofst(.LC1)($2) 85 ldc1 $f13,%got_ofst(.LC1+8)($2) The line 83 $2 is dead, line 84 get the wrong address. build cmd: cc1 -fpreprocessed 20080502-1.i -mel -quiet -dumpbase 20080502-1.c -march=mips64r2 -mabi=64 -mllsc -mips64r2 -mno-shared -auxbase 20080502-1 -O0 -w -version -fdiagnostics-color=never -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -o 20080502-1.s