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
22859ae8
Commit
22859ae8
authored
Mar 14, 1995
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
({add,sub,mul,div}[sdx]f3): Add new patterns for recognizing SImode,
HImode, and QImode operands. From-SVN: r9183
parent
49a0b204
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
282 additions
and
0 deletions
+282
-0
gcc/config/m68k/m68k.md
+282
-0
No files found.
gcc/config/m68k/m68k.md
View file @
22859ae8
...
@@ -2406,6 +2406,27 @@
...
@@ -2406,6 +2406,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
[
(set (match_operand:DF 0 "general_operand" "=f")
(plus:DF (float:DF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881"
"f%&add%.l %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(plus:DF (float:DF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881"
"f%&add%.w %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(plus:DF (float:DF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881"
"f%&add%.b %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(plus:DF (match_operand:DF 1 "general_operand" "%0")
(plus:DF (match_operand:DF 1 "general_operand" "%0")
(match_operand:DF 2 "general_operand" "fmG")))]
(match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -2441,6 +2462,27 @@
...
@@ -2441,6 +2462,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
[
(set (match_operand:SF 0 "general_operand" "=f")
(plus:SF (float:SF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881"
"f%$add%.l %2,%0")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(plus:SF (float:SF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881"
"f%$add%.w %2,%0")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(plus:SF (float:SF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881"
"f%$add%.b %2,%0")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(plus:SF (match_operand:SF 1 "general_operand" "%0")
(plus:SF (match_operand:SF 1 "general_operand" "%0")
(match_operand:SF 2 "general_operand" "fdmF")))]
(match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -2601,6 +2643,27 @@
...
@@ -2601,6 +2643,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
[
(set (match_operand:DF 0 "general_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0")
(minus:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
"f%&sub%.l %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"f%&sub%.w %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"f%&sub%.b %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(minus:DF (match_operand:DF 1 "general_operand" "0")
(match_operand:DF 2 "general_operand" "fmG")))]
(match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
"
*
"
*
...
@@ -2636,6 +2699,27 @@
...
@@ -2636,6 +2699,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
[
(set (match_operand:SF 0 "general_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0")
(minus:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
"f%$sub%.l %2,%0")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"f%$sub%.w %2,%0")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"f%$sub%.b %2,%0")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(minus:SF (match_operand:SF 1 "general_operand" "0")
(match_operand:SF 2 "general_operand" "fdmF")))]
(match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881"
"TARGET_68881"
"
*
"
*
...
@@ -2925,6 +3009,27 @@
...
@@ -2925,6 +3009,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
[
(set (match_operand:DF 0 "general_operand" "=f")
(mult:DF (float:DF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881"
"f%&mul%.l %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(mult:DF (float:DF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881"
"f%&mul%.w %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(mult:DF (float:DF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:DF 1 "general_operand" "0")))]
"TARGET_68881"
"f%&mul%.b %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(mult:DF (match_operand:DF 1 "general_operand" "%0")
(mult:DF (match_operand:DF 1 "general_operand" "%0")
(match_operand:DF 2 "general_operand" "fmG")))]
(match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -2969,6 +3074,42 @@
...
@@ -2969,6 +3074,42 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
[
(set (match_operand:SF 0 "general_operand" "=f")
(mult:SF (float:SF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881"
"
*
{
return (TARGET_68040_ONLY
?
\"
fsmul%.l %2,%0
\"
:
\"
fsglmul%.l %2,%0
\"
);
}")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(mult:SF (float:SF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881"
"
*
{
return (TARGET_68040_ONLY
?
\"
fsmul%.w %2,%0
\"
:
\"
fsglmul%.w %2,%0
\"
);
}")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(mult:SF (float:SF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:SF 1 "general_operand" "0")))]
"TARGET_68881"
"
*
{
return (TARGET_68040_ONLY
?
\"
fsmul%.b %2,%0
\"
:
\"
fsglmul%.b %2,%0
\"
);
}")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(mult:SF (match_operand:SF 1 "general_operand" "%0")
(mult:SF (match_operand:SF 1 "general_operand" "%0")
(match_operand:SF 2 "general_operand" "fdmF")))]
(match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -3111,6 +3252,27 @@
...
@@ -3111,6 +3252,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
[
(set (match_operand:DF 0 "general_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0")
(div:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
"f%&div%.l %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"f%&div%.w %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0")
(float:DF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"f%&div%.b %2,%0")
(define_insn ""
[
(set (match_operand:DF 0 "general_operand" "=f")
(div:DF (match_operand:DF 1 "general_operand" "0")
(match_operand:DF 2 "general_operand" "fmG")))]
(match_operand:DF 2 "general_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
"
*
"
*
...
@@ -3146,6 +3308,42 @@
...
@@ -3146,6 +3308,42 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
[
(set (match_operand:SF 0 "general_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0")
(div:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
"
*
{
return (TARGET_68040_ONLY
?
\"
fsdiv%.l %2,%0
\"
:
\"
fsgldiv%.l %2,%0
\"
);
}")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"
*
{
return (TARGET_68040_ONLY
?
\"
fsdiv%.w %2,%0
\"
:
\"
fsgldiv%.w %2,%0
\"
);
}")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0")
(float:SF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"
*
{
return (TARGET_68040_ONLY
?
\"
fsdiv%.b %2,%0
\"
:
\"
fsgldiv%.b %2,%0
\"
);
}")
(define_insn ""
[
(set (match_operand:SF 0 "general_operand" "=f")
(div:SF (match_operand:SF 1 "general_operand" "0")
(match_operand:SF 2 "general_operand" "fdmF")))]
(match_operand:SF 2 "general_operand" "fdmF")))]
"TARGET_68881"
"TARGET_68881"
"
*
"
*
...
@@ -6237,6 +6435,27 @@
...
@@ -6237,6 +6435,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
[
(set (match_operand:XF 0 "general_operand" "=f")
(plus:XF (float:XF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881"
"fadd%.l %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(plus:XF (float:XF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881"
"fadd%.w %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(plus:XF (float:XF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881"
"fadd%.b %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(plus:XF (match_operand:XF 1 "nonimmediate_operand" "%0")
(plus:XF (match_operand:XF 1 "nonimmediate_operand" "%0")
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -6262,6 +6481,27 @@
...
@@ -6262,6 +6481,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
[
(set (match_operand:XF 0 "general_operand" "=f")
(minus:XF (match_operand:XF 1 "general_operand" "0")
(float:XF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
"fsub%.l %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(minus:XF (match_operand:XF 1 "general_operand" "0")
(float:XF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"fsub%.w %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(minus:XF (match_operand:XF 1 "general_operand" "0")
(float:XF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"fsub%.b %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(minus:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(minus:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -6287,6 +6527,27 @@
...
@@ -6287,6 +6527,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
[
(set (match_operand:XF 0 "general_operand" "=f")
(mult:XF (float:XF (match_operand:SI 2 "general_operand" "dmi"))
(match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881"
"fmul%.l %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(mult:XF (float:XF (match_operand:HI 2 "general_operand" "dmn"))
(match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881"
"fmul%.w %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(mult:XF (float:XF (match_operand:QI 2 "general_operand" "dmn"))
(match_operand:XF 1 "general_operand" "0")))]
"TARGET_68881"
"fmul%.b %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(mult:XF (match_operand:XF 1 "nonimmediate_operand" "%0")
(mult:XF (match_operand:XF 1 "nonimmediate_operand" "%0")
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
...
@@ -6312,6 +6573,27 @@
...
@@ -6312,6 +6573,27 @@
(define_insn ""
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
[
(set (match_operand:XF 0 "general_operand" "=f")
(div:XF (match_operand:XF 1 "general_operand" "0")
(float:XF (match_operand:SI 2 "general_operand" "dmi"))))]
"TARGET_68881"
"fdiv%.l %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(div:XF (match_operand:XF 1 "general_operand" "0")
(float:XF (match_operand:HI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"fdiv%.w %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(div:XF (match_operand:XF 1 "general_operand" "0")
(float:XF (match_operand:QI 2 "general_operand" "dmn"))))]
"TARGET_68881"
"fdiv%.b %2,%0")
(define_insn ""
[
(set (match_operand:XF 0 "general_operand" "=f")
(div:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(div:XF (match_operand:XF 1 "nonimmediate_operand" "0")
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
(match_operand:XF 2 "nonimmediate_operand" "fmG")))]
"TARGET_68881"
"TARGET_68881"
...
...
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