Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
50dc89b5
Commit
50dc89b5
authored
Apr 28, 1995
by
Stan Cox
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(umulsidi3) Doesn't work for 88110 with mod/div changes
,. From-SVN: r9538
parent
1dd4b7a8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
11 deletions
+20
-11
gcc/config/m88k/m88k.md
+20
-11
No files found.
gcc/config/m88k/m88k.md
View file @
50dc89b5
;;- Machine description for the Motorola 88000 for GNU C compiler
;;- 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)
;; Contributed by Michael Tiemann (tiemann@mcc.com)
;; Additional changes by Michael Meissner (meissner@osf.org)
;; Additional changes by Michael Meissner (meissner@osf.org)
;; Version 2 port by Tom Wood (twood@pets.sps.mot.com)
;; Version 2 port by Tom Wood (twood@pets.sps.mot.com)
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
(define_expand "m88k_rcs_id"
(define_expand "m88k_rcs_id"
[
(match_operand:SI 0 "" "")
]
[
(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; }")
FAIL; }")
;; Attribute describing the processor. This attribute must match exactly
;; Attribute describing the processor. This attribute must match exactly
...
@@ -2728,13 +2728,14 @@
...
@@ -2728,13 +2728,14 @@
"mul %0,%1,%2"
"mul %0,%1,%2"
[(set_attr "type" "imul")])
[(set_attr "type" "imul")])
(define_insn "umulsidi3"
;; Loses for acvs/P60504.c (mod case) on 88110
[(set (match_operand:DI 0 "register_operand" "=r")
;; (define_insn "umulsidi3"
(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%r"))
;; [(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI (match_operand:SI 2 "register_operand" "r"))))]
;; (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%r"))
"TARGET_88110"
;; (zero_extend:DI (match_operand:SI 2 "register_operand" "r"))))]
"mulu.d %0,%1,%2"
;; "TARGET_88110"
[(set_attr "type" "imul")])
;; "mulu.d %0,%1,%2"
;; [(set_attr "type" "imul")])
;; patterns for mixed mode floating point
;; patterns for mixed mode floating point
;; Do not define patterns that utilize mixed mode arithmetic that result
;; Do not define patterns that utilize mixed mode arithmetic that result
...
@@ -3852,7 +3853,7 @@
...
@@ -3852,7 +3853,7 @@
emit_jump_insn (gen_casesi_enter (label, index_diff, operands[3]));
emit_jump_insn (gen_casesi_enter (label, index_diff, operands[3]));
else
else
/* Load the table entry and jump to it. */
/* 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
/* Claim that flow drops into the table so it will be adjacent by not
emitting a barrier. */
emitting a barrier. */
...
@@ -3864,10 +3865,18 @@
...
@@ -3864,10 +3865,18 @@
(mem:SI (plus:SI (match_operand:SI 1 "" "")
(mem:SI (plus:SI (match_operand:SI 1 "" "")
(mult:SI (match_operand:SI 2 "" "")
(mult:SI (match_operand:SI 2 "" "")
(const_int 4)))))
(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
;; The bsr.n instruction is directed to the END of the table. See
;; ASM_OUTPUT_CASE_END.
;; ASM_OUTPUT_CASE_END.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment