This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Generalise VEC_DUPLICATE folding for variable-length vectors


On 7/11/19 2:06 AM, Richard Sandiford wrote:
> This patch uses the constant vector encoding scheme to handle
> more cases of a VEC_DUPLICATE of another vector.  Duplicating
> any fixed-length vector is fine, and duplicating a variable-length
> vector is OK as long as that vector is also a duplicate of a
> fixed-length sequence.
> 
> Other cases fell through to:
> 
>   if (VECTOR_MODE_P (mode) && GET_CODE (op) == CONST_VECTOR)
> 
> which was only expecting to deal with elementwise operations.
> 
> Tested on aarch64-linux-gnu, aarch64_be-elf and x86_64-linux-gnu.
> OK to install?
> 
> Richard
> 
> 
> 2019-07-11  Richard Sandiford  <richard.sandiford@arm.com>
> 
> gcc/
> 	* simplify-rtx.c (simplify_const_unary_operation): Fold a
> 	VEC_DUPLICATE of a fixed-length vector even if the result
> 	is variable-length.  Likewise fold a duplicate of a
> 	variable-length vector if the variable-length vector is
> 	itself a duplicate of a fixed-length sequence.
> 	(test_vector_ops_duplicate): Test more cases.
OK
jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]