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
a9d3cc3f
Commit
a9d3cc3f
authored
Oct 16, 1999
by
Michael Hayes
Committed by
Michael Hayes
Oct 16, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/c4x/c4x.md (HF mode patterns): Add missing modes.
From-SVN: r30034
parent
0dced2c7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
13 deletions
+18
-13
gcc/ChangeLog
+4
-0
gcc/config/c4x/c4x.md
+14
-13
No files found.
gcc/ChangeLog
View file @
a9d3cc3f
Sat
Oct
16
13
:
42
:
29
1999
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
*
config
/
c4x
/
c4x
.
md
(
HF
mode
patterns
)
:
Add
missing
modes
.
Sat
Oct
16
13
:
37
:
46
1999
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
Sat
Oct
16
13
:
37
:
46
1999
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
*
config
/
c4x
/
c4x
.
md
(
movstrqi_small
)
:
Utilise
parallel
move
*
config
/
c4x
/
c4x
.
md
(
movstrqi_small
)
:
Utilise
parallel
move
...
...
gcc/config/c4x/c4x.md
View file @
a9d3cc3f
...
@@ -5562,7 +5562,8 @@
...
@@ -5562,7 +5562,8 @@
(match_operand:HF 1 "memory_operand" ""))]
(match_operand:HF 1 "memory_operand" ""))]
"reload_completed"
"reload_completed"
[
(set (match_dup 0) (float_extend:HF (match_dup 2)))
[
(set (match_dup 0) (float_extend:HF (match_dup 2)))
(set (match_dup 0) (unspec
[
(subreg:QI (match_dup 0) 0) (match_dup 3)
]
8))]
(set (match_dup 0) (unspec:HF
[
(subreg:QI (match_dup 0) 0)
(match_dup 3)] 8))]
"operands
[
2
]
= c4x_operand_subword (operands
[
1
]
, 0, 1, HFmode);
"operands
[
2
]
= c4x_operand_subword (operands
[
1
]
, 0, 1, HFmode);
operands
[
3
]
= c4x_operand_subword (operands
[
1
]
, 1, 1, HFmode);
operands
[
3
]
= c4x_operand_subword (operands
[
1
]
, 1, 1, HFmode);
PUT_MODE (operands
[
2
]
, QFmode);
PUT_MODE (operands
[
2
]
, QFmode);
...
@@ -5573,7 +5574,8 @@
...
@@ -5573,7 +5574,8 @@
(match_operand:HF 1 "const_operand" ""))]
(match_operand:HF 1 "const_operand" ""))]
"reload_completed && 0"
"reload_completed && 0"
[
(set (match_dup 0) (float_extend:HF (match_dup 2)))
[
(set (match_dup 0) (float_extend:HF (match_dup 2)))
(set (match_dup 0) (unspec
[
(subreg:QI (match_dup 0) 0) (match_dup 3)
]
8))]
(set (match_dup 0) (unspec:HF
[
(subreg:QI (match_dup 0) 0)
(match_dup 3)] 8))]
"operands
[
2
]
= c4x_operand_subword (operands
[
1
]
, 0, 1, HFmode);
"operands
[
2
]
= c4x_operand_subword (operands
[
1
]
, 0, 1, HFmode);
operands
[
3
]
= c4x_operand_subword (operands
[
1
]
, 1, 1, HFmode);
operands
[
3
]
= c4x_operand_subword (operands
[
1
]
, 1, 1, HFmode);
PUT_MODE (operands
[
2
]
, QFmode);
PUT_MODE (operands
[
2
]
, QFmode);
...
@@ -5601,7 +5603,7 @@
...
@@ -5601,7 +5603,7 @@
(define_insn "
*
loadhf_int"
(define_insn "
*
loadhf_int"
[
(set (match_operand:HF 0 "reg_operand" "=h")
[
(set (match_operand:HF 0 "reg_operand" "=h")
(unspec:HF
[
(subreg:QI (match_dup 0) 0)
(unspec:HF
[
(subreg:QI (match_dup 0) 0)
(match_operand:QI 1 "src_operand" "rIm")] 8))]
(match_operand:QI 1 "src_operand" "rIm")] 8))]
""
""
"@
"@
ldiu
\\
t%1,%0"
ldiu
\\
t%1,%0"
...
@@ -5689,7 +5691,7 @@
...
@@ -5689,7 +5691,7 @@
(float_extend:HF (mem:QF (post_dec:QI (reg:QI 20)))))
(float_extend:HF (mem:QF (post_dec:QI (reg:QI 20)))))
(clobber (reg:CC 21))])
(clobber (reg:CC 21))])
(parallel
[
(set (match_dup 0)
(parallel
[
(set (match_dup 0)
(unspec
[
(subreg:QI (match_dup 0) 0)
(unspec
:HF
[
(subreg:QI (match_dup 0) 0)
(mem:QI (post_dec:QI (reg:QI 20)))] 8))
(mem:QI (post_dec:QI (reg:QI 20)))] 8))
(clobber (reg:CC 21))])]
(clobber (reg:CC 21))])]
"")
"")
...
@@ -5697,7 +5699,7 @@
...
@@ -5697,7 +5699,7 @@
(define_insn "
*
pophf_int"
(define_insn "
*
pophf_int"
[
(set (match_operand:HF 0 "reg_operand" "=h")
[
(set (match_operand:HF 0 "reg_operand" "=h")
(unspec:HF
[
(subreg:QI (match_dup 0) 0)
(unspec:HF
[
(subreg:QI (match_dup 0) 0)
(mem:QI (post_dec:QI (reg:QI 20)))] 8))
(mem:QI (post_dec:QI (reg:QI 20)))] 8))
(clobber (reg:CC 21))]
(clobber (reg:CC 21))]
""
""
"@
"@
...
@@ -6808,7 +6810,7 @@
...
@@ -6808,7 +6810,7 @@
(define_insn "cmphi_cc"
(define_insn "cmphi_cc"
[
(set (reg:CC 21)
[
(set (reg:CC 21)
(unspec:CC
[
(compare:CC (match_operand:HI 0 "src_operand" "rR,rS
<>
")
(unspec:CC
[
(compare:CC (match_operand:HI 0 "src_operand" "rR,rS
<>
")
(match_operand:HI 1 "src_operand" "R,rS
<>
"))] 4))
(match_operand:HI 1 "src_operand" "R,rS
<>
"))] 4))
(clobber (match_scratch:QI 2 "=&d,&d"))
(clobber (match_scratch:QI 2 "=&d,&d"))
(clobber (match_scratch:QI 3 "=&c,&c"))]
(clobber (match_scratch:QI 3 "=&c,&c"))]
"valid_operands (COMPARE, operands, HImode)"
"valid_operands (COMPARE, operands, HImode)"
...
@@ -6823,9 +6825,8 @@
...
@@ -6823,9 +6825,8 @@
(define_insn "cmphi_cc_noov"
(define_insn "cmphi_cc_noov"
[
(set (reg:CC_NOOV 21)
[
(set (reg:CC_NOOV 21)
(unspec:CC_NOOV
[
(unspec:CC_NOOV
[
(compare:CC_NOOV (match_operand:HI 0 "src_operand" "rR,rS
<>
")
(compare:CC_NOOV (match_operand:HI 0 "src_operand" "rR,rS
<>
")
(match_operand:HI 1 "src_operand" "R,rS
<>
"))] 4))
(match_operand:HI 1 "src_operand" "R,rS
<>
"))] 4))
(clobber (match_scratch:QI 2 "=&d,&d"))
(clobber (match_scratch:QI 2 "=&d,&d"))
(clobber (match_scratch:QI 3 "=&c,&c"))]
(clobber (match_scratch:QI 3 "=&c,&c"))]
"valid_operands (COMPARE, operands, HImode)"
"valid_operands (COMPARE, operands, HImode)"
...
@@ -6903,6 +6904,7 @@
...
@@ -6903,6 +6904,7 @@
;
;
; Which moves the bCC condition outside the inner loop for free.
; Which moves the bCC condition outside the inner loop for free.
;
;
(define_peephole
(define_peephole
[
(set (pc) (if_then_else (match_operator 3 "comparison_operator"
[
(set (pc) (if_then_else (match_operator 3 "comparison_operator"
[
(reg:CC 21) (const_int 0)
]
)
[
(reg:CC 21) (const_int 0)
]
)
...
@@ -6918,8 +6920,7 @@
...
@@ -6918,8 +6920,7 @@
(pc)))
(pc)))
(set (match_dup 0)
(set (match_dup 0)
(plus:QI (match_dup 0)
(plus:QI (match_dup 0)
(const_int -1)))
(const_int -1)))])]
(clobber (reg:CC_NOOV 21))])]
"! c4x_label_conflict (insn, operands
[
2
]
, operands
[
1
]
)"
"! c4x_label_conflict (insn, operands
[
2
]
, operands
[
1
]
)"
"db%I3
\\
t%0,%l1
\\
n
\\
tb%3
\\
t%l2"
"db%I3
\\
t%0,%l1
\\
n
\\
tb%3
\\
t%l2"
[
(set_attr "type" "multi")
]
)
[
(set_attr "type" "multi")
]
)
...
@@ -6938,8 +6939,7 @@
...
@@ -6938,8 +6939,7 @@
(pc)))
(pc)))
(set (match_dup 0)
(set (match_dup 0)
(plus:QI (match_dup 0)
(plus:QI (match_dup 0)
(const_int -1)))
(const_int -1)))])]
(clobber (reg:CC_NOOV 21))])]
"! c4x_label_conflict (insn, operands
[
2
]
, operands
[
1
]
)"
"! c4x_label_conflict (insn, operands
[
2
]
, operands
[
1
]
)"
"db%I3
\\
t%0,%l1
\\
n
\\
tb%3
\\
t%l2"
"db%I3
\\
t%0,%l1
\\
n
\\
tb%3
\\
t%l2"
[
(set_attr "type" "multi")
]
)
[
(set_attr "type" "multi")
]
)
...
@@ -6987,6 +6987,7 @@
...
@@ -6987,6 +6987,7 @@
""
""
"ldf
\\
t
*%1++,%0\\n\\tldf\\t*
%1++,%2")
"ldf
\\
t
*%1++,%0\\n\\tldf\\t*
%1++,%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
...
...
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