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
2bbfc542
Commit
2bbfc542
authored
Feb 12, 2003
by
Kazu Hirata
Committed by
Kazu Hirata
Feb 12, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/h8300/h8300.md (a peephole2): New.
From-SVN: r62792
parent
e72fcfe8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
0 deletions
+34
-0
gcc/ChangeLog
+4
-0
gcc/config/h8300/h8300.md
+30
-0
No files found.
gcc/ChangeLog
View file @
2bbfc542
2003
-
02
-
12
Kazu
Hirata
<
kazu
@cs
.
umass
.
edu
>
*
config
/
h8300
/
h8300
.
md
(
a
peephole2
)
:
New
.
Wed
Feb
12
22
:
47
:
18
CET
2003
Jan
Hubicka
<
jh
@suse
.
cz
>
*
Makefile
.
in
(
CRTSTUFF_CFLAGS
)
:
Add
-
fno
-
unit
-
at
-
a
-
time
...
...
gcc/config/h8300/h8300.md
View file @
2bbfc542
...
...
@@ -3561,6 +3561,36 @@
gen_rtx_NE (VOIDmode, cc0_rtx, const0_rtx) :
gen_rtx_EQ (VOIDmode, cc0_rtx, const0_rtx));")
;; For constants like -1, -2, 1, 2, it is still cheaper to make a copy
;; of the register being tested, do the subtraction on the copy, and
;; then test the copy. We avoid this transformation if we see more
;; than one copy of the same compare insn.
(define_peephole2
[
(match_scratch:SI 4 "r")
(set (cc0)
(compare:SI (match_operand:SI 0 "register_operand" "")
(match_operand:SI 1 "incdec_operand" "")))
(set (pc)
(if_then_else (match_operator 3 "eqne_operator"
[
(cc0) (const_int 0)
]
)
(label_ref (match_operand 2 "" ""))
(pc)))]
"(TARGET_H8300H || TARGET_H8300S)
&& !peep2_reg_dead_p (1, operands
[
0
]
)
&& !rtx_equal_p (PATTERN (insn),
PATTERN (next_nonnote_insn (next_nonnote_insn (insn))))"
[
(set (cc0)
(match_dup 0))
(set (pc)
(if_then_else (match_op_dup 3
[
(cc0) (const_int 0)
]
)
(label_ref (match_dup 2))
(pc)))]
"emit_move_insn (operands
[
4
]
, operands
[
0
]
);
operands
[
0
]
= operands
[
4
]
;
operands
[
1
]
= GEN_INT (- INTVAL (operands
[
1
]
));
split_adds_subs (SImode, operands, 1);")
;; Narrow the mode of testing if possible.
(define_peephole2
...
...
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