This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: PR target/15084: -O/-O2 generate wrong code on structure modification
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: "H. J. Lu" <hjl at lucon dot org>, Jan Hubicka <jh at suse dot cz>, gcc-patches at gcc dot gnu dot org
- Date: 16 May 2004 17:46:39 +0200
- Subject: Re: PATCH: PR target/15084: -O/-O2 generate wrong code on structure modification
- Organization: Integrable Solutions
- References: <20040427193457.GA9028@lucon.org><20040427224400.GN1248@kam.mff.cuni.cz><20040427230731.GA12799@lucon.org><20040427233446.GA31967@atrey.karlin.mff.cuni.cz>
Jan Hubicka <hubicka@ucw.cz> writes:
| > On Wed, Apr 28, 2004 at 12:44:00AM +0200, Jan Hubicka wrote:
| > > > The problem is movsi_insv_1_rex64 is invalid in 64bit since the 32bit
| > > > move will be zero extended to 64bit for registers. insv for 64bit
| > > > should be in DImode. The encloded patch seems to fix the problem
| > > > for gcc 3.2 and gcc 3.4. I expect it should work for 3.3 and mainline.
| > > >
| > > >
| > > > H.J.
| > >
| > > > 2004-04-27 H.J. Lu <hongjiu.lu@intel.com>
| > > >
| > > > * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
| > > > and renamed to movdi_insv_1_rex64.
| > > > (insv): Support SImode for 32bit and DImode for 64bit.
| > >
| > > This patch looks is fine for mainline and for 3.4.1 week or so later.
| > > Perhaps it would make sense to duplicate the movsi_insv_1_rex64 pattern
| > > to SI and DImode version so combine will match if it will convert the
| > > first one. I am not sure if it makes some difference since combine has
| > > some logic to always use word mode. It would be nice to look into it.
| > >
| >
| > I'd like to see mainline, 3.3 and 3.4 get fixed soon one way or the
| > other. The current compiler just siliently generates the wrong code.
| > Let me know if I should check in my patch.
|
| It is fine for 3.3/3.4 too if it won't cause any problems for mainline
| for a week (I would not expect so).
HJ, what happened on this front?
-- Gaby