This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
- From: "dje at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 May 2008 21:41:48 -0000
- Subject: [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
- References: <bug-36182-507@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from dje at gcc dot gnu dot org 2008-05-09 21:41 -------
HP,
If there is no CONST wrapping the difference of symbols, does the CRIS port
continue to believe the address is legitimate? In other words, Paolo's patch
without the CONST? I would not object to removing the CONST because that
particular RTX disappears later and CONST is placed in the correct position.
Separate from the specific grouping satisfying legitimate_address, the RTL does
contain a difference of SYMBOL_REFs from different sections. If it is not a
valid address, valid instruction, valid relocation, GCC will generate the
difference as an explicit subtraction across multiple instructions because it
is trying to calculate that operation. I do not understand how the operation
GCC is trying to perform in the CRIS port is valid using multiple instructions.
Thanks, David
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182