r256617 - in /trunk/gcc: ChangeLog doc/tm.texi ...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Sat Jan 13 17:57:00 GMT 2018


Author: rsandifo
Date: Sat Jan 13 17:57:25 2018
New Revision: 256617

URL: https://gcc.gnu.org/viewcvs?rev=256617&root=gcc&view=rev
Log:
Give the target more control over ARRAY_TYPE modes

So far we've used integer modes for LD[234] and ST[234] arrays.
That doesn't scale well to SVE, since the sizes aren't fixed at
compile time (and even if they were, we wouldn't want integers
to be so wide).

This patch lets the target use double-, triple- and quadruple-length
vectors instead.

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

gcc/
	* target.def (array_mode): New target hook.
	* doc/tm.texi.in (TARGET_ARRAY_MODE): New hook.
	* doc/tm.texi: Regenerate.
	* hooks.h (hook_optmode_mode_uhwi_none): Declare.
	* hooks.c (hook_optmode_mode_uhwi_none): New function.
	* tree-vect-data-refs.c (vect_lanes_optab_supported_p): Use
	targetm.array_mode.
	* stor-layout.c (mode_for_array): Likewise.  Support polynomial
	type sizes.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/doc/tm.texi
    trunk/gcc/doc/tm.texi.in
    trunk/gcc/hooks.c
    trunk/gcc/hooks.h
    trunk/gcc/stor-layout.c
    trunk/gcc/target.def
    trunk/gcc/tree-vect-data-refs.c



More information about the Gcc-cvs mailing list