r256161 - in /trunk/gcc: ChangeLog calls.c

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Wed Jan 3 07:18:00 GMT 2018


Author: rsandifo
Date: Wed Jan  3 07:18:58 2018
New Revision: 256161

URL: https://gcc.gnu.org/viewcvs?rev=256161&root=gcc&view=rev
Log:
poly_int: load_register_parameters

This patch makes load_register_parameters cope with polynomial sizes.
The requirement here is that any register parameters with non-constant
sizes must either have a specific mode (e.g. a variable-length vector
mode) or must be represented with a PARALLEL.  This is in practice
already a requirement for parameters passed in vector registers,
since the default behaviour of splitting parameters into words doesn't
make sense for them.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	* calls.c (load_register_parameters): Cope with polynomial
	mode sizes.  Require a constant size for BLKmode parameters
	that aren't described by a PARALLEL.  If BLOCK_REG_PADDING
	forces a parameter to be padded at the lsb end in order to
	fill a complete number of words, require the parameter size
	to be ordered wrt UNITS_PER_WORD.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/calls.c



More information about the Gcc-cvs mailing list