gcc, Arm: Fix MVE move from GPR -> GPR
authorAndre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
Fri, 20 Mar 2020 09:07:10 +0000 (09:07 +0000)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 20 Mar 2020 09:08:39 +0000 (09:08 +0000)
commit0efe7d8796e00a5737017fe472680b653bd83d90
treebf319ea475f48f72c4e48adb57e67b7edeef34b2
parent4119cd693d27e9dd87c547de75283edd45bf6dce
gcc, Arm: Fix MVE move from GPR -> GPR

This patch fixes the pattern mve_mov for the case where both MVE vectors are in
R registers and the move does not get optimized away.  I use the same approach
as we do for NEON, where we use four register moves.

gcc/ChangeLog:
2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/mve.md (mve_mov<mode>): Fix R->R case.

gcc/testsuite/ChangeLog:
2020-03-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: New test.
gcc/ChangeLog
gcc/config/arm/mve.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c [new file with mode: 0644]