summaryrefslogtreecommitdiff
path: root/gcc/config/v850/v850.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/v850/v850.md')
-rw-r--r--gcc/config/v850/v850.md28
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;