On Fri, Feb 08, 2019 at 11:29:10AM +0000, Matthew Malcomson wrote:
> I'm pretty sure there's no difference between the iwmmxt target and 
> others so believe your simpler fix of just using 'q' is a good idea.
> (there's no difference in gas and no documentation I have found mentions 
> a difference).

The simpler patch would be then (but of course in that case the question is
why iwmmxt.md doesn't use those q constraints for the output_move_double
alternatives).

2019-02-08  Jakub Jelinek  <ja...@redhat.com>

        PR bootstrap/88714
        * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint
        instead of r.

--- gcc/config/arm/ldrdstrd.md.jj       2019-02-08 11:25:42.368916124 +0100
+++ gcc/config/arm/ldrdstrd.md  2019-02-08 12:38:33.647585108 +0100
@@ -157,9 +157,9 @@ (define_peephole2 ; swap the destination
 ;; We use gen_operands_ldrd_strd() with a modify argument as false so that the
 ;; operands are not changed.
 (define_insn "*arm_ldrd"
-  [(parallel [(set (match_operand:SI 0 "s_register_operand" "=r")
+  [(parallel [(set (match_operand:SI 0 "s_register_operand" "=q")
                   (match_operand:SI 2 "memory_operand" "m"))
-             (set (match_operand:SI 1 "s_register_operand" "=r")
+             (set (match_operand:SI 1 "s_register_operand" "=q")
                   (match_operand:SI 3 "memory_operand" "m"))])]
   "TARGET_LDRD && TARGET_ARM && reload_completed
   && valid_operands_ldrd_strd (operands, true)"
@@ -178,9 +178,9 @@ (define_insn "*arm_ldrd"
 
 (define_insn "*arm_strd"
   [(parallel [(set (match_operand:SI 2 "memory_operand" "=m")
-                  (match_operand:SI 0 "s_register_operand" "r"))
+                  (match_operand:SI 0 "s_register_operand" "q"))
              (set (match_operand:SI 3 "memory_operand" "=m")
-                  (match_operand:SI 1 "s_register_operand" "r"))])]
+                  (match_operand:SI 1 "s_register_operand" "q"))])]
   "TARGET_LDRD && TARGET_ARM && reload_completed
   && valid_operands_ldrd_strd (operands, false)"
   {


        Jakub

Reply via email to