re PR target/65117 (xtensa: With -Os, invalid parameter c1 for reg_class_subset_p() to cause segment fault.)

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
This commit is contained in:
Jeff Law 2015-02-24 16:17:49 -07:00 committed by Jeff Law
parent 5c925255ee
commit 48c55a0a46
2 changed files with 13 additions and 6 deletions

View 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

View file

@ -1290,11 +1290,11 @@
(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)]
@ -1306,11 +1306,11 @@
(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)
@ -1323,11 +1323,11 @@
(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)]