On 19/12/2024 16:45, Christophe Lyon wrote:
> Commit r15-6245-g4f4e13dd235b introduced new modes for MVE tuples, but
> missed adding support for them in a few places.
> 
> Adding them to the list in arm_attr_length_move_neon is not sufficient
> since we later face another ICE where the compiler does not know how
> to split move of such data.
> 
> The patch therefore enhances the define_splits for OI and XI moves in
> neon.md, via the introduction of new iterators.
> 
> In addition, it seems consistent to update output_move_neon such that
> VALID_NEON_*_MODE are used only when TARGET_NEON.
> 
> gcc/ChangeLog:
> 
>       PR target/118131
>       * config/arm/arm.cc (output_move_neon): Check TARGET_NEON as
>       needed.
>       (arm_attr_length_move_neon): Add support for V2x and V4x MVE tuple
>       modes.
>       * config/arm/iterators.md (VSTRUCT2, VSTRUCT4): New.
>       * config/arm/neon.md: Use VSTRUCT2 instead of OI and VSTRUCT4
>       instead of XI in define_split.

OK.

R.

Reply via email to