re PR target/65117 (xtensa: With -Os, invalid parameter c1 for reg_class_subset_p...
authorJeff Law <law@redhat.com>
Tue, 24 Feb 2015 23:17:49 +0000 (16:17 -0700)
committerJeff Law <law@gcc.gnu.org>
Tue, 24 Feb 2015 23:17:49 +0000 (16:17 -0700)
       PR target/65117
        * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
        of operand 0 and operand 2.
        (zero_cost_loop_end, loop_end): Similarly.

From-SVN: r220953

gcc/ChangeLog
gcc/config/xtensa/xtensa.md

index 255d4ceaed12f5e9f747986b5a1d1bf20450f9d1..776821bb5453948213517cb163c439aa0e00494e 100644 (file)
@@ -1,3 +1,10 @@
+2015-02-24  Jeff Law  <law@redhat.com>
+
+       PR target/65117
+       * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
+       of operand 0 and operand 2.
+       (zero_cost_loop_end, loop_end): Similarly.
+       
 2015-02-24  Aldy Hernandez  <aldyh@redhat.com>
 
        * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
index 9c2afad3c641476dbababc19a33c115606cffbef..ccaa2b2f560ad3831b66d2ff4a31f38e3c575282 100644 (file)
 
 (define_insn "zero_cost_loop_start"
   [(set (pc)
-        (if_then_else (ne (match_operand:SI 0 "register_operand" "2")
+        (if_then_else (ne (match_operand:SI 2 "register_operand" "0")
                           (const_int 1))
                       (label_ref (match_operand 1 "" ""))
                       (pc)))
-   (set (match_operand:SI 2 "register_operand" "=a")
+   (set (match_operand:SI 0 "register_operand" "=a")
         (plus (match_dup 0)
               (const_int -1)))
    (unspec [(const_int 0)] UNSPEC_LSETUP_START)]
 
 (define_insn "zero_cost_loop_end"
   [(set (pc)
-        (if_then_else (ne (match_operand:SI 0 "nonimmediate_operand" "2,2")
+        (if_then_else (ne (match_operand:SI 2 "nonimmediate_operand" "0,0")
                           (const_int 1))
                       (label_ref (match_operand 1 "" ""))
                       (pc)))
-   (set (match_operand:SI 2 "nonimmediate_operand" "=a,m")
+   (set (match_operand:SI 0 "nonimmediate_operand" "=a,m")
         (plus (match_dup 0)
               (const_int -1)))
    (unspec [(const_int 0)] UNSPEC_LSETUP_END)
 
 (define_insn "loop_end"
   [(set (pc)
-        (if_then_else (ne (match_operand:SI 0 "register_operand" "2")
+        (if_then_else (ne (match_operand:SI 2 "register_operand" "0")
                           (const_int 1))
                       (label_ref (match_operand 1 "" ""))
                       (pc)))
-   (set (match_operand:SI 2 "register_operand" "=a")
+   (set (match_operand:SI 0 "register_operand" "=a")
         (plus (match_dup 0)
               (const_int -1)))
    (unspec [(const_int 0)] UNSPEC_LSETUP_END)]