This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/16028] Bad code gen for vector code with -O3 (caused by GRA/reload)
- From: "fjahanian at apple dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Jun 2004 16:39:38 -0000
- Subject: [Bug rtl-optimization/16028] Bad code gen for vector code with -O3 (caused by GRA/reload)
- References: <20040616215137.16028.fjahanian@apple.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From fjahanian at apple dot com 2004-06-17 16:39 -------
I looked at the follow-up thread and used the modified patch, very similar to yours.
FYI, this patch passed bootstrap and dejagnu tests on ppc-darwin. How ever, We are all still
concerned with performance implications of this change. I plan to run SPEC with this patch
on a G5 machine and see if it shows any regressions.
RCS file: /cvs/gcc/gcc/gcc/reload1.c,v
retrieving revision 1.346.2.33.2.1
diff -c -p -r1.346.2.33.2.1 reload1.c
*** reload1.c 7 Jun 2004 17:05:08 -0000 1.346.2.33.2.1
--- reload1.c 17 Jun 2004 16:35:02 -0000
*************** choose_reload_regs (struct insn_chain *c
*** 5654,5664 ****
i);
}
! if ((regs_used
! && ! free_for_value_p (regno, rld[r].mode,
! rld[r].opnum, rld[r].when_needed,
! rld[r].in, rld[r].out, r, 1))
! || bad_for_class)
equiv = 0;
}
--- 5654,5665 ----
i);
}
! if (bad_for_class
! || ! free_for_value_p (regno, rld[r].mode,
! rld[r].opnum, rld[r].when_needed,
! rld[r].in, rld[r].out, r, 1))
equiv = 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16028