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
c9325fd6
Commit
c9325fd6
authored
May 06, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(addsi3, subsi3): Add define_expand to make adddi3/subdi3; old pattern
is now anonymous. From-SVN: r7226
parent
8b7b2e36
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
2 deletions
+32
-2
gcc/config/alpha/alpha.md
+32
-2
No files found.
gcc/config/alpha/alpha.md
View file @
c9325fd6
...
...
@@ -85,7 +85,23 @@
cvtql %1,%0
\;
cvtlq %0,%0"
[
(set_attr "type" "iaddlog,ld,fpop")
]
)
(define_insn "addsi3"
;; Do addsi3 the way expand_binop would do if we didn't have one. This
;; generates better code. We have the anonymous addsi3 pattern below in
;; case combine wants to make it.
(define_expand "addsi3"
[
(set (match_operand:SI 0 "register_operand" "")
(plus:SI (match_operand:SI 1 "reg_or_0_operand" "")
(match_operand:SI 2 "add_operand" "")))]
""
"
{ emit_insn (gen_rtx (SET, VOIDmode, gen_lowpart (DImode, operands
[
0
]
),
gen_rtx (PLUS, DImode,
gen_lowpart (DImode, operands
[
1
]
),
gen_lowpart (DImode, operands
[
2
]
))));
DONE;
} ")
(define_insn ""
[
(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
(plus:SI (match_operand:SI 1 "reg_or_0_operand" "%rJ,rJ,rJ,rJ")
(match_operand:SI 2 "add_operand" "rI,O,K,L")))]
...
...
@@ -273,7 +289,21 @@
"subq $31,%1,%0"
[
(set_attr "type" "iaddlog")
]
)
(define_insn "subsi3"
(define_expand "subsi3"
[
(set (match_operand:SI 0 "register_operand" "")
(minus:SI (match_operand:SI 1 "reg_or_0_operand" "")
(match_operand:SI 2 "reg_or_8bit_operand" "")))]
""
"
{ emit_insn (gen_rtx (SET, VOIDmode, gen_lowpart (DImode, operands
[
0
]
),
gen_rtx (MINUS, DImode,
gen_lowpart (DImode, operands
[
1
]
),
gen_lowpart (DImode, operands
[
2
]
))));
DONE;
} ")
(define_insn ""
[
(set (match_operand:SI 0 "register_operand" "=r")
(minus:SI (match_operand:SI 1 "reg_or_0_operand" "rJ")
(match_operand:SI 2 "reg_or_8bit_operand" "rI")))]
...
...
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