------- Comment #26 from hubicka at gcc dot gnu dot org 2008-09-06 12:00 ------- IRA seems to fix the remaining problem with spill in internal loop on 32bit nicely, so we produce good scores for gzip compared to older GCC versions. http://gcc.opensuse.org/SPEC-britten/CINT/sandbox-britten-32bit/164_gzip_big.png and with profile feedback http://gcc.opensuse.org/SPEC-britten/CINT/sandbox-britten-FDO/164_gzip_big.png we get close to ICC scores.
We now output comparsion loop as: .L98: movzbl 1(%eax), %edx #, leal 1(%eax), %edi #, scan cmpb 1(%ecx), %dl #, jne .L161 #, movzbl 2(%eax), %edx #, leal 2(%eax), %edi #, scan cmpb 2(%ecx), %dl #, jne .L161 #, movzbl 3(%eax), %edx #, leal 3(%eax), %edi #, scan cmpb 3(%ecx), %dl #, jne .L161 #, movzbl 4(%eax), %edx #, leal 4(%eax), %edi #, scan cmpb 4(%ecx), %dl #, jne .L161 #, movzbl 5(%eax), %edx #, leal 5(%eax), %edi #, scan cmpb 5(%ecx), %dl #, jne .L161 #, movzbl 6(%eax), %edx #, leal 6(%eax), %edi #, scan cmpb 6(%ecx), %dl #, jne .L161 #, movzbl 7(%eax), %edx #, leal 7(%eax), %edi #, scan cmpb 7(%ecx), %dl #, jne .L161 #, there is still room for improvement however. Remaining problem is that we still miss coaliescing of scan_end and scan_end1 (so -fno-tree-dominator-opts -fno-tree-copyrename still helps). Vladimir, perhaps this can be solved in IRA too? Honza -- hubicka at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33761