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
ae959397
Commit
ae959397
authored
Sep 22, 1999
by
Michael Hayes
Committed by
Michael Hayes
Sep 22, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/c4x/c4x.md: Delete parallel instruction peepholes.
From-SVN: r29581
parent
7ae0297f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
583 deletions
+4
-583
gcc/ChangeLog
+4
-0
gcc/config/c4x/c4x.md
+0
-583
No files found.
gcc/ChangeLog
View file @
ae959397
Wed
Sep
22
20
:
25
:
00
1999
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
*
config
/
c4x
/
c4x
.
md
:
Delete
parallel
instruction
peepholes
.
Wed
Sep
22
19
:
59
:
19
1999
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
Wed
Sep
22
19
:
59
:
19
1999
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
*
config
/
c4x
/
c4x
.
c
(
c4x_add_gc_roots
)
:
Add
tree
roots
.
*
config
/
c4x
/
c4x
.
c
(
c4x_add_gc_roots
)
:
Add
tree
roots
.
...
...
gcc/config/c4x/c4x.md
View file @
ae959397
...
@@ -6675,45 +6675,6 @@
...
@@ -6675,45 +6675,6 @@
return
\"
br%#
\\
t%C1
\"
;"
return
\"
br%#
\\
t%C1
\"
;"
[
(set_attr "type" "jump")
]
)
[
(set_attr "type" "jump")
]
)
;
; Peepholes for parallel instructions
;
(define_peephole
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(match_operand:QI 1 "par_ind_operand" ""))
(set (match_operand:QI 2 "ext_low_reg_operand" "")
(match_operand:QI 3 "par_ind_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
2
]
))
&& ! c4x_address_conflict (operands
[
1
]
, operands
[
3
]
, 0, 0)"
"ldi1
\\
t%1,%0
\\
n||
\\
tldi2
\\
t%3,%2")
; load occurs before store if 1 and 2 point to same address
(define_peephole
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(match_operand:QI 1 "par_ind_operand" ""))
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))
&& ! c4x_address_conflict (operands
[
1
]
, operands
[
2
]
, 0, 1)"
"ldi
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
; load occurs before store if 0 and 3 point to same address
(define_peephole
[
(set (match_operand:QI 0 "par_ind_operand" "")
(match_operand:QI 1 "ext_low_reg_operand" ""))
(set (match_operand:QI 2 "ext_low_reg_operand" "")
(match_operand:QI 3 "par_ind_operand" ""))]
"(REGNO (operands
[
1
]
) != REGNO (operands
[
2
]
))
&& ! c4x_address_conflict (operands
[
0
]
, operands
[
3
]
, 1, 0)"
"ldi
\\
t%3,%2
\\
n||
\\
tsti
\\
t%1,%0")
(define_peephole
[
(set (match_operand:QI 0 "par_ind_operand" "")
(match_operand:QI 1 "ext_low_reg_operand" ""))
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"! c4x_address_conflict (operands
[
0
]
, operands
[
2
]
, 1, 1)"
"sti
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
; This peephole should be unnecessary with my patches to flow.c
; This peephole should be unnecessary with my patches to flow.c
; for better autoincrement detection
; for better autoincrement detection
...
@@ -6727,15 +6688,6 @@
...
@@ -6727,15 +6688,6 @@
""
""
"ldf
\\
t
*%1++,%0\\n\\tldf\\t*
%1++,%2")
"ldf
\\
t
*%1++,%0\\n\\tldf\\t*
%1++,%2")
(define_peephole
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(match_operand:QF 1 "par_ind_operand" ""))
(set (match_operand:QF 2 "ext_low_reg_operand" "")
(match_operand:QF 3 "par_ind_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
2
]
))
&& ! c4x_address_conflict (operands
[
1
]
, operands
[
3
]
, 0, 1)"
"ldf1
\\
t%1,%0
\\
n||
\\
tldf2
\\
t%3,%2")
; This peephole should be unnecessary with my patches to flow.c
; This peephole should be unnecessary with my patches to flow.c
; for better autoincrement detection
; for better autoincrement detection
(define_peephole
(define_peephole
...
@@ -6748,541 +6700,6 @@
...
@@ -6748,541 +6700,6 @@
""
""
"stf
\\
t%1,
*%0++\\n\\tstf\\t%2,*
%0++")
"stf
\\
t%1,
*%0++\\n\\tstf\\t%2,*
%0++")
(define_peephole
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(match_operand:QF 1 "par_ind_operand" ""))
(set (match_operand:QF 2 "par_ind_operand" "")
(match_operand:QF 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"ldf
\\
t%1,%0
\\
n||
\\
tstf
\\
t%3,%2")
(define_peephole
[
(set (match_operand:QF 0 "par_ind_operand" "")
(match_operand:QF 1 "ext_low_reg_operand" ""))
(set (match_operand:QF 2 "ext_low_reg_operand" "")
(match_operand:QF 3 "par_ind_operand" ""))]
"! c4x_address_conflict (operands
[
0
]
, operands
[
3
]
, 1, 1)"
"ldf
\\
t%3,%2
\\
n||
\\
tstf
\\
t%1,%0")
(define_peephole
[
(set (match_operand:QF 0 "par_ind_operand" "")
(match_operand:QF 1 "ext_low_reg_operand" ""))
(set (match_operand:QF 2 "par_ind_operand" "")
(match_operand:QF 3 "ext_low_reg_operand" ""))]
"! c4x_address_conflict (operands
[
0
]
, operands
[
2
]
, 1, 1)"
"stf1
\\
t%1,%0
\\
n||
\\
tstf2
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (abs:QF (match_operand:QF 1 "par_ind_operand" ""))
(match_operand:QF 2 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(abs:QF (match_dup 1)))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"absf
\\
t%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(abs:QF (match_operand:QF 1 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QF 2 "par_ind_operand" "")
(match_operand:QF 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"absf
\\
t%1,%0
\\
n||
\\
tstf
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (abs:QI (match_operand:QI 1 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(abs:QI (match_dup 1)))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"absi
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(abs:QI (match_operand:QI 1 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"absi
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (plus:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(plus:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"addi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (plus:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(plus:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"addi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(plus:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"addi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(plus:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"addi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (plus:QF (match_operand:QF 1 "ext_low_reg_operand" "")
(match_operand:QF 2 "par_ind_operand" ""))
(match_operand:QF 3 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(plus:QF (match_dup 1) (match_dup 2)))])
(set (match_operand:QF 4 "par_ind_operand" "")
(match_operand:QF 5 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
5
]
))"
"addf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%5,%4")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (plus:QF (match_operand:QF 1 "par_ind_operand" "")
(match_operand:QF 2 "ext_low_reg_operand" ""))
(match_operand:QF 3 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(plus:QF (match_dup 1) (match_dup 2)))])
(set (match_operand:QF 4 "par_ind_operand" "")
(match_operand:QF 5 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
5
]
))"
"addf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%5,%4")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(plus:QF (match_operand:QF 1 "ext_low_reg_operand" "")
(match_operand:QF 2 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"addf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(plus:QF (match_operand:QF 1 "par_ind_operand" "")
(match_operand:QF 2 "ext_low_reg_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"addf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (and:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(and:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"and3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (and:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(and:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"and3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(and:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"and3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(and:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"and3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(ashift:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"ash3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(ashiftrt:QI (match_operand:QI 1 "par_ind_operand" "")
(neg:QI (match_operand:QI 2 "ext_low_reg_operand" ""))))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"ash3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (fix:QI (match_operand:QF 1 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(fix:QI (match_dup 1)))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"fix
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(fix:QI (match_operand:QF 1 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"fix
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (float:QF (match_operand:QI 1 "par_ind_operand" ""))
(match_operand:QF 2 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(float:QF (match_dup 1)))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"float
\\
t%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(float:QF (match_operand:QI 1 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QF 2 "par_ind_operand" "")
(match_operand:QF 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"float
\\
t%1,%0
\\
n||
\\
tstf
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (mult:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(mult:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"mpyi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (mult:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(mult:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"mpyi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(mult:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"mpyi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(mult:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"mpyi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (mult:QF (match_operand:QF 1 "ext_low_reg_operand" "")
(match_operand:QF 2 "par_ind_operand" ""))
(match_operand:QF 3 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(mult:QF (match_dup 1) (match_dup 2)))])
(set (match_operand:QF 4 "par_ind_operand" "")
(match_operand:QF 5 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
5
]
))"
"mpyf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%5,%4")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (mult:QF (match_operand:QF 1 "par_ind_operand" "")
(match_operand:QF 2 "ext_low_reg_operand" ""))
(match_operand:QF 3 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(mult:QF (match_dup 1) (match_dup 2)))])
(set (match_operand:QF 4 "par_ind_operand" "")
(match_operand:QF 5 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
5
]
))"
"mpyf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%5,%4")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(mult:QF (match_operand:QF 1 "ext_low_reg_operand" "")
(match_operand:QF 2 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"mpyf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(mult:QF (match_operand:QF 1 "par_ind_operand" "")
(match_operand:QF 2 "ext_low_reg_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"mpyf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (neg:QF (match_operand:QF 1 "par_ind_operand" ""))
(match_operand:QF 2 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(neg:QF (match_dup 1)))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"negf
\\
t%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(neg:QF (match_operand:QF 1 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QF 2 "par_ind_operand" "")
(match_operand:QF 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"negf
\\
t%1,%0
\\
n||
\\
tstf
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (neg:QI (match_operand:QI 1 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(neg:QI (match_dup 1)))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"negi
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(neg:QI (match_operand:QI 1 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"negi
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (not:QI (match_operand:QI 1 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(not:QI (match_dup 1)))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"not
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(not:QI (match_operand:QI 1 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 2 "par_ind_operand" "")
(match_operand:QI 3 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
3
]
))"
"not
\\
t%1,%0
\\
n||
\\
tsti
\\
t%3,%2")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (ior:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(ior:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"or3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (ior:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(ior:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"or3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(ior:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"or3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(ior:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"or3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (minus:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(minus:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"subi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(minus:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"subi3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC_NOOV 21)
(compare:CC_NOOV (minus:QF (match_operand:QF 1 "ext_low_reg_operand" "")
(match_operand:QF 2 "par_ind_operand" ""))
(match_operand:QF 3 "fp_zero_operand" "")))
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(minus:QF (match_dup 1) (match_dup 2)))])
(set (match_operand:QF 4 "par_ind_operand" "")
(match_operand:QF 5 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
5
]
))"
"subf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%5,%4")
(define_peephole
[
(parallel
[
(set (match_operand:QF 0 "ext_low_reg_operand" "")
(minus:QF (match_operand:QF 1 "ext_low_reg_operand" "")
(match_operand:QF 2 "par_ind_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QF 3 "par_ind_operand" "")
(match_operand:QF 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"subf3
\\
t%2,%1,%0
\\
n||
\\
tstf
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (xor:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(xor:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"xor3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (reg:CC 21)
(compare:CC (xor:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" ""))
(const_int 0)))
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(xor:QI (match_dup 1) (match_dup 2)))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"xor3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(xor:QI (match_operand:QI 1 "ext_low_reg_operand" "")
(match_operand:QI 2 "par_ind_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"xor3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
(define_peephole
[
(parallel
[
(set (match_operand:QI 0 "ext_low_reg_operand" "")
(xor:QI (match_operand:QI 1 "par_ind_operand" "")
(match_operand:QI 2 "ext_low_reg_operand" "")))
(clobber (reg:CC 21))])
(set (match_operand:QI 3 "par_ind_operand" "")
(match_operand:QI 4 "ext_low_reg_operand" ""))]
"(REGNO (operands
[
0
]
) != REGNO (operands
[
4
]
))"
"xor3
\\
t%2,%1,%0
\\
n||
\\
tsti
\\
t%4,%3")
; The following two peepholes remove an unecessary load
; The following two peepholes remove an unecessary load
; often found at the end of a function. These peepholes
; often found at the end of a function. These peepholes
...
...
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