diff options
Diffstat (limited to 'gcc/config/v850/v850.md')
-rw-r--r-- | gcc/config/v850/v850.md | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md index a074f651351..f56d54a91a0 100644 --- a/gcc/config/v850/v850.md +++ b/gcc/config/v850/v850.md @@ -1357,20 +1357,11 @@ (define_expand "doloop_begin" [(use (match_operand 0 "" "")) ; loop pseudo - (use (match_operand 1 "" "")) ; iterations; zero if unknown - (use (match_operand 2 "" "")) ; max iterations - (use (match_operand 3 "" "")) ; loop level - (use (match_operand 4 "" ""))] ; condition + (use (match_operand 1 "" ""))] ; doloop_end pattern "TARGET_V850E3V5_UP && TARGET_LOOP" { - rtx loop_cnt = operands[0]; - rtx loop_level = operands[3]; - - if (INTVAL (loop_level) > 1) - FAIL; - if (GET_MODE (loop_cnt) != SImode) - FAIL; - + rtx loop_cnt = operands[0]; + gcc_assert (GET_MODE (loop_cnt) == SImode); emit_insn (gen_fix_loop_counter (loop_cnt)); DONE; } @@ -1394,19 +1385,12 @@ (define_expand "doloop_end" [(use (match_operand 0 "" "")) ; loop pseudo - (use (match_operand 1 "" "")) ; iterations; zero if unknown - (use (match_operand 2 "" "")) ; max iterations - (use (match_operand 3 "" "")) ; loop level - (use (match_operand 4 "" "")) ; label - (use (match_operand 5 "" ""))] ; entered at top + (use (match_operand 1 "" ""))] ; label "TARGET_V850E3V5_UP && TARGET_LOOP" { - rtx loop_cnt = operands[0]; - rtx loop_level = operands[3]; - rtx label = operands[4]; + rtx loop_cnt = operands[0]; + rtx label = operands[1]; - if (INTVAL (loop_level) > 1) - FAIL; if (GET_MODE (loop_cnt) != SImode) FAIL; |