On 01/12/2018 03:00 AM, Richard Sandiford wrote:
> Ping.
>
> FWIW, the SLP test failures it fixes were ICEs rather than code-quality
> tests, so this is a correctness fix rather than an optimisation.
>
> Thanks,
> Richard
>
> Richard Sandiford <richard.sandif...@linaro.org> writes:
>> The SVE support for the new CONST_VECTOR encoding needs to be able
>> to extract the first N bits of the vector and duplicate it. This patch
>> adds a simplify_subreg rule for that.
>>
>> The code is covered by the gcc.target/aarch64/sve_slp_*.c tests.
>>
>> Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu.
>> Also tested by comparing the before and after assembly output for at
>> least one target per CPU directory. OK to install?
>>
>> Richard
>>
>>
>> 2018-01-04 Richard Sandiford <richard.sandif...@linaro.org>
>>
>> gcc/
>> * simplify-rtx.c (simplify_immed_subreg): Add an inner_bytes
>> parameter and use it instead of GET_MODE_SIZE (innermode). Use
>> inner_bytes * BITS_PER_UNIT instead of GET_MODE_BITSIZE (innermode).
>> Use CEIL (inner_bytes, GET_MODE_UNIT_SIZE (innermode)) instead of
>> GET_MODE_NUNITS (innermode). Also add a first_elem parameter.
>> Change innermode from fixed_mode_size to machine_mode.
>> (simplify_subreg): Update call accordingly. Handle a constant-sized
>> subreg of a variable-length CONST_VECTOR.
OK.
jeff