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
5aa58c13
Commit
5aa58c13
authored
Mar 26, 1993
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(multiply/multiplu/mulm/mulmu insns): These clobber Q.
From-SVN: r3885
parent
cc5ae869
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
18 deletions
+29
-18
gcc/config/a29k/a29k.md
+29
-18
No files found.
gcc/config/a29k/a29k.md
View file @
5aa58c13
...
@@ -1115,7 +1115,8 @@
...
@@ -1115,7 +1115,8 @@
(define_insn "mulsi3"
(define_insn "mulsi3"
[
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
[
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(mult:SI (match_operand:SI 1 "gpc_reg_operand" "%r")
(mult:SI (match_operand:SI 1 "gpc_reg_operand" "%r")
(match_operand:SI 2 "gpc_reg_operand" "r")))]
(match_operand:SI 2 "gpc_reg_operand" "r")))
(clobber (match_scratch:SI 3 "=&q"))]
""
""
"multiply %0,%1,%2")
"multiply %0,%1,%2")
...
@@ -1124,7 +1125,8 @@
...
@@ -1124,7 +1125,8 @@
(subreg:SI
(subreg:SI
(mult:DI
(mult:DI
(sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r"))
(sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r"))
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))) 0))]
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))) 0))
(clobber (match_scratch:SI 3 "=&q"))]
""
""
"multm %0,%1,%2")
"multm %0,%1,%2")
...
@@ -1133,14 +1135,16 @@
...
@@ -1133,14 +1135,16 @@
(subreg:SI
(subreg:SI
(mult:DI
(mult:DI
(zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r"))
(zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r"))
(zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))) 0))]
(zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))) 0))
(clobber (match_scratch:SI 3 "=&q"))]
""
""
"multmu %0,%1,%2")
"multmu %0,%1,%2")
(define_insn "mulsidi3"
(define_insn "mulsidi3"
[
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
[
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r"))
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r"))
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))))]
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))))
(clobber (match_scratch:SI 3 "=&q"))]
""
""
"multiply %L0,%1,%2
\;
multm %0,%1,%2"
"multiply %L0,%1,%2
\;
multm %0,%1,%2"
[
(set_attr "type" "multi")
]
)
[
(set_attr "type" "multi")
]
)
...
@@ -1148,14 +1152,17 @@
...
@@ -1148,14 +1152,17 @@
(define_split
(define_split
[
(set (match_operand:DI 0 "gpc_reg_operand" "")
[
(set (match_operand:DI 0 "gpc_reg_operand" "")
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" ""))
(mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" ""))
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" ""))))]
(sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" ""))))
(clobber (reg:SI 180))]
"reload_completed"
"reload_completed"
[
(set (match_dup 3)
[
(parallel
[
(set (match_dup 3)
(mult:SI (match_dup 1) (match_dup 2)))
(mult:SI (match_dup 1) (match_dup 2)))
(set (match_dup 4)
(clobber (reg:SI 180))])
(subreg:SI (mult:DI
(parallel
[
(set (match_dup 4)
(sign_extend:DI (match_dup 1))
(subreg:SI (mult:DI
(sign_extend:DI (match_dup 2))) 0))]
(sign_extend:DI (match_dup 1))
(sign_extend:DI (match_dup 2))) 0))
(clobber (reg:SI 180))])]
"
"
{ operands
[
3
]
= operand_subword (operands
[
0
]
, 1, 1, DImode);
{ operands
[
3
]
= operand_subword (operands
[
0
]
, 1, 1, DImode);
operands
[
4
]
= operand_subword (operands
[
1
]
, 0, 1, DImode); } ")
operands
[
4
]
= operand_subword (operands
[
1
]
, 0, 1, DImode); } ")
...
@@ -1163,7 +1170,8 @@
...
@@ -1163,7 +1170,8 @@
(define_insn "umulsidi3"
(define_insn "umulsidi3"
[
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
[
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(mult:DI (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r"))
(mult:DI (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r"))
(zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))))]
(zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))))
(clobber (match_scratch:SI 3 "=&q"))]
""
""
"multiplu %L0,%1,%2
\;
multmu %0,%1,%2"
"multiplu %L0,%1,%2
\;
multmu %0,%1,%2"
[
(set_attr "type" "multi")
]
)
[
(set_attr "type" "multi")
]
)
...
@@ -1171,13 +1179,16 @@
...
@@ -1171,13 +1179,16 @@
(define_split
(define_split
[
(set (match_operand:DI 0 "gpc_reg_operand" "")
[
(set (match_operand:DI 0 "gpc_reg_operand" "")
(mult:DI (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" ""))
(mult:DI (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" ""))
(zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" ""))))]
(zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" ""))))
(clobber (reg:SI 180))]
"reload_completed"
"reload_completed"
[
(set (match_dup 3)
[
(parallel
[
(set (match_dup 3)
(mult:SI (match_dup 1) (match_dup 2)))
(mult:SI (match_dup 1) (match_dup 2)))
(set (match_dup 4)
(clobber (reg:SI 180))])
(subreg:SI (mult:DI (zero_extend:DI (match_dup 1))
(parallel
[
(set (match_dup 4)
(zero_extend:DI (match_dup 2))) 0))]
(subreg:SI (mult:DI (zero_extend:DI (match_dup 1))
(zero_extend:DI (match_dup 2))) 0))
(clobber (reg:SI 180))])]
"
"
{ operands
[
3
]
= operand_subword (operands
[
0
]
, 1, 1, DImode);
{ operands
[
3
]
= operand_subword (operands
[
0
]
, 1, 1, DImode);
operands
[
4
]
= operand_subword (operands
[
1
]
, 0, 1, DImode); } ")
operands
[
4
]
= operand_subword (operands
[
1
]
, 0, 1, DImode); } ")
...
...
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