From: Tamar Christina Date: Thu, 16 Aug 2018 10:26:05 +0000 (+0000) Subject: Remove dead pattern on ARM. X-Git-Tag: basepoints/gcc-10~4740 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a77042b50c292a128fbd4178b5633bf60a174804;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2831d6e7d0b5..85bf69c7bc4a 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 1646b2172970..97d88e686ab3 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"