This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Your patch to push_rounding
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: Your patch to push_rounding
- From: Jan Hubicka <jh at suse dot cz>
- Date: Wed, 21 Mar 2001 20:44:26 +0100
- Cc: gcc-patches at gcc dot gnu dot org
- References: <10103211907.AA01168@vlsi1.ultra.nyu.edu>
Hi,
I am leaving and still don't see reply from you.
I don't want all non PUSH_ROUDNING targets broken when I am offline, so hope
you won't mind if I install your patch as obvious bugfix.
I will wait few minutes before doing so to let peopple complain.
Thanks,
Honza
> Index: recog.c
> ===================================================================
> RCS file: /cvs/gcc/egcs/gcc/recog.c,v
> retrieving revision 1.91
> diff -c -2 -p -r1.91 recog.c
> *** recog.c 2001/03/21 17:54:00 1.91
> --- recog.c 2001/03/21 18:54:44
> *************** push_operand (op, mode)
> *** 1351,1354 ****
> --- 1351,1360 ----
> enum machine_mode mode;
> {
> + unsigned int rounded_size = GET_MODE_SIZE (mode);
> +
> + #ifdef PUSH_ROUNDING
> + rounded_size = PUSH_ROUNDING (rounded_size);
> + #endif
> +
> if (GET_CODE (op) != MEM)
> return 0;
> *************** push_operand (op, mode)
> *** 1359,1363 ****
> op = XEXP (op, 0);
>
> ! if (PUSH_ROUNDING (GET_MODE_SIZE (mode)) == GET_MODE_SIZE (mode))
> {
> if (GET_CODE (op) != STACK_PUSH_CODE)
> --- 1365,1369 ----
> op = XEXP (op, 0);
>
> ! if (rounded_size == GET_MODE_SIZE (mode))
> {
> if (GET_CODE (op) != STACK_PUSH_CODE)
> *************** push_operand (op, mode)
> *** 1366,1370 ****
> else
> {
> - int rounded_size = PUSH_ROUNDING (GET_MODE_SIZE (mode));
> if (GET_CODE (op) != PRE_MODIFY
> || GET_CODE (XEXP (op, 1)) != PLUS
> --- 1372,1375 ----
> *************** push_operand (op, mode)
> *** 1372,1376 ****
> || GET_CODE (XEXP (XEXP (op, 1), 1)) != CONST_INT
> #ifdef STACK_GROWS_DOWNWARD
> ! || INTVAL (XEXP (XEXP (op, 1), 1)) != -rounded_size
> #else
> || INTVAL (XEXP (XEXP (op, 1), 1)) != rounded_size
> --- 1377,1381 ----
> || GET_CODE (XEXP (XEXP (op, 1), 1)) != CONST_INT
> #ifdef STACK_GROWS_DOWNWARD
> ! || INTVAL (XEXP (XEXP (op, 1), 1)) != - (int) rounded_size
> #else
> || INTVAL (XEXP (XEXP (op, 1), 1)) != rounded_size