This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] define-constraints rewrite for s390 back end
- From: Andreas Krebbel <Andreas dot Krebbel at de dot ibm dot com>
- To: Wolfgang Gellerich <gellerich at de dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 17 Oct 2006 16:34:16 +0200
- Subject: Re: [PATCH] define-constraints rewrite for s390 back end
- References: <200610101422.k9AEMTb5025955@d12av02.megacenter.de.ibm.com>
Hi Wolfgang,
I've applied your patch to gcc mainline.
I've modified your ChangeLog entry a bit:
2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/contraints.md: New file.
* config/s390/s390-protos.h (s390_mem_constraint,
s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): Function prototypes added.
* config/s390/s390.c (s390_extra_constraint_str,
s390_const_double_ok_for_constraint_p,
s390_const_ok_for_constraint_p): Functions removed.
(s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): New functions.
* config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
Macro definitions removed.
(s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
s390_extra_constraint_str): Functions removed.
And I've removed the following whitespace diff chunk:
> *************** s390_extra_constraint_str (rtx op, int c
> *** 1929,1935 ****
> if (GET_CODE (op) != MEM)
> return 0;
> /* Any invalid address here will be fixed up by reload,
> ! so accept it for the most generic constraint. */
> if (s390_decompose_address (XEXP (op, 0), &addr)
> && s390_short_displacement (addr.disp))
> return 0;
> --- 1930,1936 ----
> if (GET_CODE (op) != MEM)
> return 0;
> /* Any invalid address here will be fixed up by reload,
> ! so accept it for the most generic constraint. */
> if (s390_decompose_address (XEXP (op, 0), &addr)
> && s390_short_displacement (addr.disp))
> return 0;
> *************** s390_extra_constraint_str (rtx op, int c
> *** 1949,1955 ****
> if (!TARGET_LONG_DISPLACEMENT)
> return 0;
> /* Any invalid address here will be fixed up by reload,
> ! so accept it for the most generic constraint. */
> if (s390_decompose_address (op, &addr)
> && s390_short_displacement (addr.disp))
> return 0;
> --- 1950,1956 ----
> if (!TARGET_LONG_DISPLACEMENT)
> return 0;
> /* Any invalid address here will be fixed up by reload,
> ! so accept it for the most generic constraint. */
> if (s390_decompose_address (op, &addr)
> && s390_short_displacement (addr.disp))
> return 0;
Thanks!
Bye,
-Andreas-