From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Hubicka To: Richard Henderson Cc: gcc@gcc.gnu.org Subject: Re: pre_inc/pre_dec/PUSH_ROUNDING inconsistency Date: Mon, 17 Jul 2000 14:10:00 -0000 Message-id: <20000717231040.F27658@atrey.karlin.mff.cuni.cz> References: <20000716160420.A26370@atrey.karlin.mff.cuni.cz> <20000717140714.D13024@cygnus.com> X-SW-Source: 2000-07/msg00531.html > On Sun, Jul 16, 2000 at 04:04:20PM +0200, Jan Hubicka wrote: > > What do you think is the correct way off this situation? Modify the > > emit_push_insn in explow.c to change push insn representation for example > > to something like: > > (set (mem/f:DI (pre_dec:DI (reg:DI sp)) (subreg:DI val))) > > since thats what the instruction does? > > I would think that widening the store like this to reflect the > actual instruction is the only correct solution. Yes, but whats about the floating point stores. I remember Jeff claiming that (subreg:TF (reg:XF)) is incorrect... is (subreg:TI (reg:XF)) better? > > > (can I easilly convert number of bytes returned by push_rounding to mode?) > > See smallest_mode_for_size. Duh :) Honza > > > r~