diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0dfb95c569e..bad8dc246af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-06-16 Richard Henderson + + * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern. + 2002-06-16 Richard Henderson * c-common.c (flag_ms_extensions): Move from c++ front end. diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md index c19427908df..56e18a06391 100644 --- a/gcc/config/vax/vax.md +++ b/gcc/config/vax/vax.md @@ -1931,24 +1931,17 @@ ;; This is here to accept 5 arguments (as passed by expand_end_case) ;; and pass the first 4 along to the casesi1 pattern that really does the work. (define_expand "casesi" - [(set (pc) - (if_then_else - (leu (minus:SI (match_operand:SI 0 "general_operand" "g") - (match_operand:SI 1 "general_operand" "g")) - (match_operand:SI 2 "general_operand" "g")) - (plus:SI (sign_extend:SI - (mem:HI (plus:SI (mult:SI (minus:SI (match_dup 0) - (match_dup 1)) - (const_int 2)) - (pc)))) - (label_ref:SI (match_operand 3 "" ""))) - (pc))) - (match_operand 4 "" "")] + [(match_operand:SI 0 "general_operand" "") ; index + (match_operand:SI 1 "general_operand" "") ; lower + (match_operand:SI 2 "general_operand" "") ; upper-lower + (match_operand 3 "" "") ; table label + (match_operand 4 "" "")] ; default label "" - " - emit_insn (gen_casesi1 (operands[0], operands[1], operands[2], operands[3])); +{ + emit_jump_insn (gen_casesi1 (operands[0], operands[1], + operands[2], operands[3])); DONE; -") +}) (define_insn "casesi1" [(set (pc)