From a77042b50c292a128fbd4178b5633bf60a174804 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Thu, 16 Aug 2018 10:26:05 +0000 Subject: [PATCH] Remove dead pattern on ARM. About 13 years ago the reg-to-reg patterns were split up, before that time output_move_double could actually handle this case. After the split was done most patterns were updated except for *neon_mov which incorrectly retained reg,reg as a valid alternative. However output_move_double can not handle this and simply returns "" and asserts. This pattern is essentially dead and I'm removing it for clarity. gcc/ 2018-08-16 Tamar Christina * config/arm/neon.md (*neon_mov): Remove reg-to-reg alternative. From-SVN: r263582 --- gcc/ChangeLog | 4 ++++ gcc/config/arm/neon.md | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2831d6e7d0b..85bf69c7bc4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2018-08-16 Tamar Christina + + * config/arm/neon.md (*neon_mov): Remove reg-to-reg alternative. + 2018-08-16 Sam Tebbs * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt) diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 1646b217297..97d88e686ab 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -25,9 +25,9 @@ (define_insn "*neon_mov" [(set (match_operand:VDX 0 "nonimmediate_operand" - "=w,Un,w, w, ?r,?w,?r,?r, ?Us") + "=w,Un,w, w, ?r,?w,?r, ?Us") (match_operand:VDX 1 "general_operand" - " w,w, Dn,Uni, w, r, r, Usi,r"))] + " w,w, Dn,Uni, w, r, Usi,r"))] "TARGET_NEON && (register_operand (operands[0], mode) || register_operand (operands[1], mode))" @@ -61,12 +61,12 @@ } } [(set_attr "type" "neon_move,neon_store1_1reg,neon_move,\ - neon_load1_1reg, neon_to_gp,neon_from_gp,mov_reg,\ + neon_load1_1reg, neon_to_gp,neon_from_gp,\ neon_load1_2reg, neon_store1_2reg") - (set_attr "length" "4,4,4,4,4,4,8,8,8") - (set_attr "arm_pool_range" "*,*,*,1020,*,*,*,1020,*") - (set_attr "thumb2_pool_range" "*,*,*,1018,*,*,*,1018,*") - (set_attr "neg_pool_range" "*,*,*,1004,*,*,*,1004,*")]) + (set_attr "length" "4,4,4,4,4,4,8,8") + (set_attr "arm_pool_range" "*,*,*,1020,*,*,1020,*") + (set_attr "thumb2_pool_range" "*,*,*,1018,*,*,1018,*") + (set_attr "neg_pool_range" "*,*,*,1004,*,*,1004,*")]) (define_insn "*neon_mov" [(set (match_operand:VQXMOV 0 "nonimmediate_operand" -- 2.30.2