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
be8b493b
Commit
be8b493b
authored
Jun 29, 1999
by
Jeffrey A Law
Committed by
Jeff Law
Jun 28, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* mips.md (leasi, leadi): New patterns.
From-SVN: r27827
parent
35393415
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
0 deletions
+26
-0
gcc/ChangeLog
+2
-0
gcc/config/mips/mips.md
+24
-0
No files found.
gcc/ChangeLog
View file @
be8b493b
Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
* mips.md (leasi, leadi): New patterns.
* expr.c (emit_block_move): Properly handle case where one of the
* expr.c (emit_block_move): Properly handle case where one of the
block move arguments has a queued increment or decrement.
block move arguments has a queued increment or decrement.
(clear_storage): Similarly. Fix formatting goof.
(clear_storage): Similarly. Fix formatting goof.
...
...
gcc/config/mips/mips.md
View file @
be8b493b
...
@@ -10395,3 +10395,27 @@ move\\t%0,%z4\\n\\
...
@@ -10395,3 +10395,27 @@ move\\t%0,%z4\\n\\
[
(set_attr "type" "branch")
[
(set_attr "type" "branch")
(set_attr "mode" "none")
(set_attr "mode" "none")
(set_attr "length" "8")])
(set_attr "length" "8")])
;; For the rare case where we need to load an address into a register
;; that can not be recognized by the normal movsi/addsi instructions.
;; I have no idea how many insns this can actually generate. It should
;; be rare, so over-estimating as 10 instructions should not have any
;; real performance impact.
(define_insn "leasi"
[
(set (match_operand:SI 0 "register_operand" "=d")
(match_operand:SI 1 "address_operand" "p"))]
"Pmode == SImode"
"la %0,%a1"
[
(set_attr "type" "arith")
(set_attr "mode" "SI")
(set_attr "length" "40")])
;; Similarly for targets where we have 64bit pointers.
(define_insn "leadi"
[
(set (match_operand:DI 0 "register_operand" "=d")
(match_operand:DI 1 "address_operand" "p"))]
"Pmode == DImode"
"la %0,%a1"
[
(set_attr "type" "arith")
(set_attr "mode" "DI")
(set_attr "length" "40")])
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