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
860cd40a
Commit
860cd40a
authored
Aug 03, 2000
by
Jeffrey A Law
Committed by
Jeff Law
Aug 03, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* pa.md (shadd height reduction patterns/splitters): Remove.
From-SVN: r35442
parent
af6ca671
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
67 deletions
+4
-67
gcc/ChangeLog
+4
-0
gcc/config/pa/pa.md
+0
-67
No files found.
gcc/ChangeLog
View file @
860cd40a
Thu Aug 3 01:05:32 2000 Jeffrey A Law (law@cygnus.com)
* pa.md (shadd height reduction patterns/splitters): Remove.
2000-08-02 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64-protos.h (flag_ssa): Declare.
...
...
gcc/config/pa/pa.md
View file @
860cd40a
...
...
@@ -5166,73 +5166,6 @@
[
(set_attr "type" "binary")
(set_attr "length" "4")])
;; This anonymous pattern and splitter wins because it reduces the latency
;; of the shadd sequence without increasing the latency of the shift.
;;
;; We want to make sure and split up the operations for the scheduler since
;; these instructions can (and should) schedule independently.
;;
;; It would be clearer if combine used the same operator for both expressions,
;; it's somewhat confusing to have a mult in ine operation and an ashift
;; in the other.
;;
;; If this pattern is not split before register allocation, then we must expose
;; the fact that operand 4 is set before operands 1, 2 and 3 have been read.
(define_insn ""
[
(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (mult:SI (match_operand:SI 2 "register_operand" "r")
(match_operand:SI 3 "shadd_operand" ""))
(match_operand:SI 1 "register_operand" "r")))
(set (match_operand:SI 4 "register_operand" "=&r")
(ashift:SI (match_dup 2)
(match_operand:SI 5 "const_int_operand" "i")))]
"(INTVAL (operands
[
5
]
) == exact_log2 (INTVAL (operands
[
3
]
))
&& ! (reg_overlap_mentioned_p (operands
[
4
]
, operands
[
2
]
)))"
"#"
[
(set_attr "type" "binary")
(set_attr "length" "8")])
(define_split
[
(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (mult:SI (match_operand:SI 2 "register_operand" "r")
(match_operand:SI 3 "shadd_operand" ""))
(match_operand:SI 1 "register_operand" "r")))
(set (match_operand:SI 4 "register_operand" "=&r")
(ashift:SI (match_dup 2)
(match_operand:SI 5 "const_int_operand" "i")))]
"INTVAL (operands
[
5
]
) == exact_log2 (INTVAL (operands
[
3
]
))"
[
(set (match_dup 4) (ashift:SI (match_dup 2) (match_dup 5)))
(set (match_dup 0) (plus:SI (mult:SI (match_dup 2) (match_dup 3))
(match_dup 1)))]
"")
(define_insn ""
[
(set (match_operand:DI 0 "register_operand" "=r")
(plus:DI (mult:DI (match_operand:DI 2 "register_operand" "r")
(match_operand:DI 3 "shadd_operand" ""))
(match_operand:DI 1 "register_operand" "r")))
(set (match_operand:DI 4 "register_operand" "=&r")
(ashift:DI (match_dup 2)
(match_operand:DI 5 "const_int_operand" "i")))]
"TARGET_64BIT && INTVAL (operands
[
5
]
) == exact_log2 (INTVAL (operands
[
3
]
))"
"#"
[
(set_attr "type" "binary")
(set_attr "length" "8")])
(define_split
[
(set (match_operand:DI 0 "register_operand" "=r")
(plus:DI (mult:DI (match_operand:DI 2 "register_operand" "r")
(match_operand:DI 3 "shadd_operand" ""))
(match_operand:DI 1 "register_operand" "r")))
(set (match_operand:DI 4 "register_operand" "=&r")
(ashift:DI (match_dup 2)
(match_operand:DI 5 "const_int_operand" "i")))]
"TARGET_64BIT && INTVAL (operands
[
5
]
) == exact_log2 (INTVAL (operands
[
3
]
))"
[
(set (match_dup 4) (ashift:DI (match_dup 2) (match_dup 5)))
(set (match_dup 0) (plus:DI (mult:DI (match_dup 2) (match_dup 3))
(match_dup 1)))]
"")
(define_expand "ashlsi3"
[
(set (match_operand:SI 0 "register_operand" "")
(ashift:SI (match_operand:SI 1 "lhs_lshift_operand" "")
...
...
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