aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-06-16 12:41:11 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-06-16 12:41:11 -0700
commit7ee0238171813f4ba29544a61a2da294088d7ab3 (patch)
tree38be8fe9b95914a2d0b0082a81d2bec3de3a3210 /gcc
parent006a94b08c59a00a79d60c2c9f5dc4652fde02ea (diff)
downloadgcc-7ee0238171813f4ba29544a61a2da294088d7ab3.zip
gcc-7ee0238171813f4ba29544a61a2da294088d7ab3.tar.gz
gcc-7ee0238171813f4ba29544a61a2da294088d7ab3.tar.bz2
* vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
From-SVN: r54673
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/vax/vax.md25
2 files changed, 13 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0dfb95c..bad8dc2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2002-06-16 Richard Henderson <rth@redhat.com>
+ * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
+
+2002-06-16 Richard Henderson <rth@redhat.com>
+
* c-common.c (flag_ms_extensions): Move from c++ front end.
* c-common.h (flag_ms_extensions): Declare.
* c-decl.c (c_decode_option): Add -fms-extensions.
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index c194279..56e18a0 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)