Commit f475349b by Michael Hayes Committed by Michael Hayes

* config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.

From-SVN: r31000
parent d7eb5a45
1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
1999-12-17 13:21 -0800 Zack Weinberg <zack@rabi.columbia.edu> 1999-12-17 13:21 -0800 Zack Weinberg <zack@rabi.columbia.edu>
* fixtests.c (is_cxx_header): New fn, split out of * fixtests.c (is_cxx_header): New fn, split out of
......
...@@ -3414,6 +3414,7 @@ ...@@ -3414,6 +3414,7 @@
"#" "#"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
; This can generate invalid stack slot displacements ; This can generate invalid stack slot displacements
(define_split (define_split
[(set (match_operand:QF 0 "reg_operand" "=f") [(set (match_operand:QF 0 "reg_operand" "=f")
...@@ -5120,8 +5121,7 @@ ...@@ -5120,8 +5121,7 @@
(set (match_dup 0) (set (match_dup 0)
(plus:QI (match_dup 0) (plus:QI (match_dup 0)
(const_int -1)))] (const_int -1)))]
"reload_completed && (TARGET_DB && (find_reg_note (insn, REG_NONNEG, 0) "reload_completed && TARGET_DB && TARGET_LOOP_UNSIGNED"
|| TARGET_LOOP_UNSIGNED))"
"dbu%#\\t%0,%l1" "dbu%#\\t%0,%l1"
[(set_attr "type" "db")]) [(set_attr "type" "db")])
...@@ -5136,8 +5136,7 @@ ...@@ -5136,8 +5136,7 @@
(plus:QI (match_dup 0) (plus:QI (match_dup 0)
(const_int -1))) (const_int -1)))
(clobber (reg:CC_NOOV 21))] (clobber (reg:CC_NOOV 21))]
"reload_completed && (TARGET_DB && (find_reg_note (insn, REG_NONNEG, 0) "reload_completed && TARGET_DB && TARGET_LOOP_UNSIGNED"
|| TARGET_LOOP_UNSIGNED))"
[(parallel [(set (pc) [(parallel [(set (pc)
(if_then_else (ge (plus:QI (match_dup 0) (if_then_else (ge (plus:QI (match_dup 0)
(const_int -1)) (const_int -1))
...@@ -5168,7 +5167,9 @@ ...@@ -5168,7 +5167,9 @@
; ;
(define_insn "rptb_top" (define_insn "rptb_top"
[(use (label_ref (match_operand 0 "" ""))) [(use (label_ref (match_operand 0 "" "")))
(use (label_ref (match_operand 1 "" "")))] (use (label_ref (match_operand 1 "" "")))
(clobber (reg:QI 25))
(clobber (reg:QI 26))]
"" ""
"* "*
return ! final_sequence && c4x_rptb_rpts_p (insn, operands[0]) return ! final_sequence && c4x_rptb_rpts_p (insn, operands[0])
...@@ -5178,7 +5179,9 @@ ...@@ -5178,7 +5179,9 @@
(define_insn "rpts_top" (define_insn "rpts_top"
[(unspec [(use (label_ref (match_operand 0 "" ""))) [(unspec [(use (label_ref (match_operand 0 "" "")))
(use (label_ref (match_operand 1 "" "")))] 2)] (use (label_ref (match_operand 1 "" "")))] 2)
(clobber (reg:QI 25))
(clobber (reg:QI 26))]
"" ""
"* "*
return ! final_sequence && c4x_rptb_rpts_p (insn, operands[0]) return ! final_sequence && c4x_rptb_rpts_p (insn, operands[0])
...@@ -5209,7 +5212,7 @@ ...@@ -5209,7 +5212,7 @@
"" ""
"if (INTVAL (operands[3]) > 1 || ! TARGET_RPTB) "if (INTVAL (operands[3]) > 1 || ! TARGET_RPTB)
FAIL; FAIL;
emit_jump_insn (gen_rptb_init (operands[0])); emit_insn (gen_rptb_init (operands[0]));
DONE; DONE;
") ")
...@@ -6904,7 +6907,6 @@ ...@@ -6904,7 +6907,6 @@
; ;
; Which moves the bCC condition outside the inner loop for free. ; Which moves the bCC condition outside the inner loop for free.
; ;
(define_peephole (define_peephole
[(set (pc) (if_then_else (match_operator 3 "comparison_operator" [(set (pc) (if_then_else (match_operator 3 "comparison_operator"
[(reg:CC 21) (const_int 0)]) [(reg:CC 21) (const_int 0)])
...@@ -6920,7 +6922,8 @@ ...@@ -6920,7 +6922,8 @@
(pc))) (pc)))
(set (match_dup 0) (set (match_dup 0)
(plus:QI (match_dup 0) (plus:QI (match_dup 0)
(const_int -1)))])] (const_int -1)))
(clobber (reg:CC_NOOV 21))])]
"! c4x_label_conflict (insn, operands[2], operands[1])" "! c4x_label_conflict (insn, operands[2], operands[1])"
"db%I3\\t%0,%l1\\n\\tb%3\\t%l2" "db%I3\\t%0,%l1\\n\\tb%3\\t%l2"
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
...@@ -6947,6 +6950,7 @@ ...@@ -6947,6 +6950,7 @@
; ;
; Peepholes to convert 'call label; rets' into jump label ; Peepholes to convert 'call label; rets' into jump label
; ;
(define_peephole (define_peephole
[(parallel [(call (mem:QI (match_operand:QI 0 "call_address_operand" "")) [(parallel [(call (mem:QI (match_operand:QI 0 "call_address_operand" ""))
(match_operand:QI 1 "general_operand" "")) (match_operand:QI 1 "general_operand" ""))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment