diff options
author | Stan Cox <coxs@gnu.org> | 1995-04-28 17:04:06 +0000 |
---|---|---|
committer | Stan Cox <coxs@gnu.org> | 1995-04-28 17:04:06 +0000 |
commit | 50dc89b594351c5d2f20024a206c8c7cc83efef5 (patch) | |
tree | fb3579f1cb722630d36b1b9b499b942023aafc97 /gcc | |
parent | 1dd4b7a8b1eff30db92d909df714905a09969619 (diff) | |
download | gcc-50dc89b594351c5d2f20024a206c8c7cc83efef5.zip gcc-50dc89b594351c5d2f20024a206c8c7cc83efef5.tar.gz gcc-50dc89b594351c5d2f20024a206c8c7cc83efef5.tar.bz2 |
(umulsidi3) Doesn't work for 88110 with mod/div changes
,.
From-SVN: r9538
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m88k/m88k.md | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/gcc/config/m88k/m88k.md b/gcc/config/m88k/m88k.md index 4507517..d102d11 100644 --- a/gcc/config/m88k/m88k.md +++ b/gcc/config/m88k/m88k.md @@ -1,5 +1,5 @@ ;;- Machine description for the Motorola 88000 for GNU C compiler -;; Copyright (C) 1988, 89, 90, 91, 93, 1994 Free Software Foundation, Inc. +;; Copyright (C) 1988, 92, 93, 94, 1995 Free Software Foundation, Inc. ;; Contributed by Michael Tiemann (tiemann@mcc.com) ;; Additional changes by Michael Meissner (meissner@osf.org) ;; Version 2 port by Tom Wood (twood@pets.sps.mot.com) @@ -28,7 +28,7 @@ (define_expand "m88k_rcs_id" [(match_operand:SI 0 "" "")] "" - "{ static char rcs_id[] = \"$What: <@(#) m88k.md,v 1.5> $\"; + "{ static char rcs_id[] = \"$What: <@(#) m88k.md,v 1.1.1.2.2.2> $\"; FAIL; }") ;; Attribute describing the processor. This attribute must match exactly @@ -2728,13 +2728,14 @@ "mul %0,%1,%2" [(set_attr "type" "imul")]) -(define_insn "umulsidi3" - [(set (match_operand:DI 0 "register_operand" "=r") - (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%r")) - (zero_extend:DI (match_operand:SI 2 "register_operand" "r"))))] - "TARGET_88110" - "mulu.d %0,%1,%2" - [(set_attr "type" "imul")]) +;; Loses for acvs/P60504.c (mod case) on 88110 +;; (define_insn "umulsidi3" +;; [(set (match_operand:DI 0 "register_operand" "=r") +;; (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%r")) +;; (zero_extend:DI (match_operand:SI 2 "register_operand" "r"))))] +;; "TARGET_88110" +;; "mulu.d %0,%1,%2" +;; [(set_attr "type" "imul")]) ;; patterns for mixed mode floating point ;; Do not define patterns that utilize mixed mode arithmetic that result @@ -3852,7 +3853,7 @@ emit_jump_insn (gen_casesi_enter (label, index_diff, operands[3])); else /* Load the table entry and jump to it. */ - emit_jump_insn (gen_casesi_jump (gen_reg_rtx (SImode), base, index_diff)); + emit_jump_insn (gen_casesi_jump (gen_reg_rtx (SImode), base, index_diff, operands[3])); /* Claim that flow drops into the table so it will be adjacent by not emitting a barrier. */ @@ -3864,10 +3865,18 @@ (mem:SI (plus:SI (match_operand:SI 1 "" "") (mult:SI (match_operand:SI 2 "" "") (const_int 4))))) - (set (pc) (match_dup 0))] + (parallel [(set (pc) (match_dup 0)) + (use (label_ref (match_operand 3 "" "")))])] "" "") +(define_insn "" + [(set (pc) (match_operand:SI 0 "register_operand" "r")) + (use (label_ref (match_operand 1 "" "")))] + "" + "jmp%. %0" + [(set_attr "type" "jump")]) + ;; The bsr.n instruction is directed to the END of the table. See ;; ASM_OUTPUT_CASE_END. |