diff mbox series

[PATCH/AARCH64] Use neon_move instead of move_logic in some places

Message ID 1552254364-1488-1-git-send-email-apinski@marvell.com
State New
Headers show
Series [PATCH/AARCH64] Use neon_move instead of move_logic in some places | expand

Commit Message

Andrew Pinski March 10, 2019, 9:46 p.m. UTC
From: Andrew Pinski <apinski@marvell.com>

Hi,
  In some places in the aarch64 backend, neon_logic is used for
mov v0.16b, v1.16b
mov v0.<Vbtype>, v1.<Vbtype>

This patch moves them over to use neon_move<q> instead.
For most cores, this does not matter but for OcteonTX2 core
it does matter.

OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions.

Thanks,
Andrew Pinski

ChangeLog:
* config/aarch64/aarch64.md (*movti_aarch64): Fix type attribute
for neon move.
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<VD:mode>): Likewise.
(*aarch64_simd_mov<VQ:mode>): Likewise.
---
 gcc/config/aarch64/aarch64-simd.md | 4 ++--
 gcc/config/aarch64/aarch64.md      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index e3852c5..24fbb3d 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -125,7 +125,7 @@ 
      }
 }
   [(set_attr "type" "neon_load1_1reg<q>, store_8, neon_store1_1reg<q>,\
-		     neon_logic<q>, neon_to_gp<q>, f_mcr,\
+		     neon_move<q>, neon_to_gp<q>, f_mcr,\
 		     mov_reg, neon_move<q>")]
 )
 
@@ -159,7 +159,7 @@ 
     }
 }
   [(set_attr "type" "neon_load1_1reg<q>, store_16, neon_store1_1reg<q>,\
-		     neon_logic<q>, multiple, multiple,\
+		     neon_move<q>, multiple, multiple,\
 		     multiple, neon_move<q>")
    (set_attr "length" "4,4,4,4,8,8,8,4")]
 )
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 70f0418..350ae11 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -1195,7 +1195,7 @@ 
    stp\\txzr, xzr, %0
    ldr\\t%q0, %1
    str\\t%q1, %0"
-  [(set_attr "type" "multiple,f_mcr,f_mrc,neon_logic_q, \
+  [(set_attr "type" "multiple,f_mcr,f_mrc,neon_move_q, \
 		             load_16,store_16,store_16,\
                              load_16,store_16")
    (set_attr "length" "8,8,8,4,4,4,4,4,4")