Commit 14ca4616 authored by Patrick Williams's avatar Patrick Williams Committed by GitHub

Merge pull request #1 from dgilbert999/gcc-4_9_2-ppe42

PPE42 compare immediate branch with immediate value out of range
parents 246277a8 5101dc76
......@@ -14854,14 +14854,31 @@
;; Define PPE fused compare and branch
;; There is no cmplwib<cond> fused instruction!!!
;; If op 3 is a reg then no problem - if op3 is short then use
;; something else - checked in predicate rs6000_fused_cbranch_operator
;; There is no cmplwib... fused instruction!!!
(define_insn "*cmpwb"
[(set (pc)
(if_then_else (match_operator 1 "rs6000_fused_cbranch_operator"
[(match_operand:GPR 2 "gpc_reg_operand" "r")
(match_operand:GPR 3 "reg_or_short_operand" "rI")])
(match_operand:GPR 3 "gpc_reg_operand" "r")])
(label_ref (match_operand 0 "" ""))
(pc)))]
"(rs6000_cpu == PROCESSOR_PPE42) && optimize_size"
"*
{
return output_fused_cbranch (operands, \"%l0\", insn);
}"
[(set_attr "type" "fused_branch")])
;; Keep this separate from above to prevent reload from forming
;; illegal immediaate values
(define_insn "*cmpwib"
[(set (pc)
(if_then_else (match_operator 1 "rs6000_fused_cbranch_operator"
[(match_operand:GPR 2 "gpc_reg_operand" "r")
(match_operand:SI 3 "u5bit_cint_operand" "I")])
(label_ref (match_operand 0 "" ""))
(pc)))]
"(rs6000_cpu == PROCESSOR_PPE42) && optimize_size"
......
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