From 0d1cf53834bdcbe23c20c872036754c028caaa06 Mon Sep 17 00:00:00 2001 From: Dominik Infuehr Date: Mon, 30 Oct 2017 18:35:32 +0000 Subject: [PATCH] Wrong type-attribute for stp and str Fix the type attributes of the integer stores in aarch64_simd_mov. gcc/ * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rename both identically named patterns to (*aarch64_simd_mov) and (*aarch64_simd_mov). (*aarch64_simd_mov): Change type attribute to match pattern alternative. (*aarch64_simd_mov): Re-order and change type attributes to match pattern alternative. From-SVN: r254236 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/aarch64/aarch64-simd.md | 10 +++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 380ae334cf0..bfd68e9f755 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-10-30 Dominik Infuehr + + * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rename + both identically named patterns to (*aarch64_simd_mov) + and (*aarch64_simd_mov). + (*aarch64_simd_mov): Change type attribute to match + pattern alternative. + (*aarch64_simd_mov): Re-order and change type + attributes to match pattern alternative. + 2017-10-30 Steven Munroe * config.gcc (powerpc*-*-*): Add emmintrin.h. diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index 49f615cfdbf..447ee3afd17 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -102,7 +102,7 @@ [(set_attr "type" "neon_dup")] ) -(define_insn "*aarch64_simd_mov" +(define_insn "*aarch64_simd_mov" [(set (match_operand:VD 0 "nonimmediate_operand" "=w, m, m, w, ?r, ?w, ?r, w") (match_operand:VD 1 "general_operand" @@ -126,12 +126,12 @@ default: gcc_unreachable (); } } - [(set_attr "type" "neon_load1_1reg, neon_stp, neon_store1_1reg,\ + [(set_attr "type" "neon_load1_1reg, store_8, neon_store1_1reg,\ neon_logic, neon_to_gp, f_mcr,\ mov_reg, neon_move")] ) -(define_insn "*aarch64_simd_mov" +(define_insn "*aarch64_simd_mov" [(set (match_operand:VQ 0 "nonimmediate_operand" "=w, Umq, m, w, ?r, ?w, ?r, w") (match_operand:VQ 1 "general_operand" @@ -160,8 +160,8 @@ gcc_unreachable (); } } - [(set_attr "type" "neon_load1_1reg, neon_store1_1reg,\ - neon_stp, neon_logic, multiple, multiple,\ + [(set_attr "type" "neon_load1_1reg, store_16, neon_store1_1reg,\ + neon_logic, multiple, multiple,\ multiple, neon_move") (set_attr "length" "4,4,4,4,8,8,8,4")] ) -- 2.30.2