https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79291
Bug ID: 79291 Summary: r244397 introduces alias related performance issues for daxpy on MIPS Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: doug.gilmore at imgtec dot com Target Milestone: --- It appears that r244397 introduces pealing for DP daxpy, which per bug 69710, introduces a performance degradation due to alias issues. After IVOPTS before r244897 (use daxpy example from bug 69710): ivtmp.20_36 = ivtmp.20_35 + 1; ivtmp.21_24 = ivtmp.21_9 + 16; ivtmp.24_3 = ivtmp.24_2 + 16; After IVOPTS after r244897: ivtmp.23_56 = ivtmp.23_24 + 1; ivtmp.24_11 = ivtmp.24_9 + 16; ivtmp.27_87 = ivtmp.27_86 + 16; ivtmp.29_90 = ivtmp.29_89 + 16; Thus after r244397 we have a problem in DP daxpy that we were only seeing for SP daxpy (or saxpy) as shown in bug69710. BTW: I have been investigating another IVOPTS related regression on MIPS32R2 that is related to the generation of indexed memory OPs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176#c12 I'll be updating that report with more information on how to fix the regression and how it relates to this issue. Bin: I suspect this is also now broken on ARM, can you check? Thanks, Doug