diff options
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r-- | gcc/config/sh/sh.md | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index dd926893166..8cc9195c988 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -8776,25 +8776,21 @@ label: }) ; operand 0 is the loop count pseudo register -; operand 1 is the number of loop iterations or 0 if it is unknown -; operand 2 is the maximum number of loop iterations -; operand 3 is the number of levels of enclosed loops -; operand 4 is the label to jump to at the top of the loop +; operand 1 is the label to jump to at the top of the loop (define_expand "doloop_end" [(parallel [(set (pc) (if_then_else (ne:SI (match_operand:SI 0 "" "") (const_int 1)) - (label_ref (match_operand 4 "" "")) + (label_ref (match_operand 1 "" "")) (pc))) (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))) - (clobber (reg:SI T_REG))]) - (match_operand 5 "" "")] + (clobber (reg:SI T_REG))])] "TARGET_SH2" { if (GET_MODE (operands[0]) != SImode) FAIL; - emit_jump_insn (gen_doloop_end_split (operands[0], operands[4], operands[0])); + emit_jump_insn (gen_doloop_end_split (operands[0], operands[1], operands[0])); DONE; }) |