aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-02-24 16:17:49 -0700
committerJeff Law <law@gcc.gnu.org>2015-02-24 16:17:49 -0700
commit48c55a0a46a26e9c90179c7613bb69640e21e73a (patch)
tree5389d1590db4bfedaf314bd950c59a018aa48905 /gcc/config
parent5c925255ee3cb10089f74c310a29f770ca8dad0b (diff)
downloadgcc-48c55a0a46a26e9c90179c7613bb69640e21e73a.zip
gcc-48c55a0a46a26e9c90179c7613bb69640e21e73a.tar.gz
gcc-48c55a0a46a26e9c90179c7613bb69640e21e73a.tar.bz2
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/xtensa/xtensa.md12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index 9c2afad..ccaa2b2 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -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)]