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
f475349b
Commit
f475349b
authored
Dec 17, 1999
by
Michael Hayes
Committed by
Michael Hayes
Dec 17, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
From-SVN: r31000
parent
d7eb5a45
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
9 deletions
+17
-9
gcc/ChangeLog
+4
-0
gcc/config/c4x/c4x.md
+13
-9
No files found.
gcc/ChangeLog
View file @
f475349b
1999
-
12
-
18
Michael
Hayes
<
m
.
hayes
@elec
.
canterbury
.
ac
.
nz
>
*
config
/
c4x
/
c4x
.
md
(
rpts_top
,
rptb_top
)
:
Add
clobbers
for
rs
and
re
.
1999
-
12
-
17
13
:
21
-
0800
Zack
Weinberg
<
zack
@rabi
.
columbia
.
edu
>
1999
-
12
-
17
13
:
21
-
0800
Zack
Weinberg
<
zack
@rabi
.
columbia
.
edu
>
*
fixtests
.
c
(
is_cxx_header
)
:
New
fn
,
split
out
of
*
fixtests
.
c
(
is_cxx_header
)
:
New
fn
,
split
out
of
...
...
gcc/config/c4x/c4x.md
View file @
f475349b
...
@@ -3414,6 +3414,7 @@
...
@@ -3414,6 +3414,7 @@
"#"
"#"
[(set_attr "type" "multi")])
[(set_attr "type" "multi")])
; This can generate invalid stack slot displacements
; This can generate invalid stack slot displacements
(define_split
(define_split
[(set (match_operand:QF 0 "reg_operand" "=f")
[(set (match_operand:QF 0 "reg_operand" "=f")
...
@@ -5120,8 +5121,7 @@
...
@@ -5120,8 +5121,7 @@
(set (match_dup 0)
(set (match_dup 0)
(plus:QI (match_dup 0)
(plus:QI (match_dup 0)
(const_int -1)))]
(const_int -1)))]
"reload_completed && (TARGET_DB && (find_reg_note (insn, REG_NONNEG, 0)
"reload_completed && TARGET_DB && TARGET_LOOP_UNSIGNED"
|| TARGET_LOOP_UNSIGNED))"
"dbu%#
\\
t%0,%l1"
"dbu%#
\\
t%0,%l1"
[
(set_attr "type" "db")
]
)
[
(set_attr "type" "db")
]
)
...
@@ -5136,8 +5136,7 @@
...
@@ -5136,8 +5136,7 @@
(plus:QI (match_dup 0)
(plus:QI (match_dup 0)
(const_int -1)))
(const_int -1)))
(clobber (reg:CC_NOOV 21))]
(clobber (reg:CC_NOOV 21))]
"reload_completed && (TARGET_DB && (find_reg_note (insn, REG_NONNEG, 0)
"reload_completed && TARGET_DB && TARGET_LOOP_UNSIGNED"
|| TARGET_LOOP_UNSIGNED))"
[
(parallel
[
(set (pc)
[
(parallel
[
(set (pc)
(if_then_else (ge (plus:QI (match_dup 0)
(if_then_else (ge (plus:QI (match_dup 0)
(const_int -1))
(const_int -1))
...
@@ -5168,7 +5167,9 @@
...
@@ -5168,7 +5167,9 @@
;
;
(define_insn "rptb_top"
(define_insn "rptb_top"
[
(use (label_ref (match_operand 0 "" "")))
[
(use (label_ref (match_operand 0 "" "")))
(use (label_ref (match_operand 1 "" "")))]
(use (label_ref (match_operand 1 "" "")))
(clobber (reg:QI 25))
(clobber (reg:QI 26))]
""
""
"
*
"
*
return ! final_sequence && c4x_rptb_rpts_p (insn, operands
[
0
]
)
return ! final_sequence && c4x_rptb_rpts_p (insn, operands
[
0
]
)
...
@@ -5178,7 +5179,9 @@
...
@@ -5178,7 +5179,9 @@
(define_insn "rpts_top"
(define_insn "rpts_top"
[
(unspec
[
(use (label_ref (match_operand 0 "" "")))
[
(unspec
[
(use (label_ref (match_operand 0 "" "")))
(use (label_ref (match_operand 1 "" "")))] 2)]
(use (label_ref (match_operand 1 "" "")))] 2)
(clobber (reg:QI 25))
(clobber (reg:QI 26))]
""
""
"
*
"
*
return ! final_sequence && c4x_rptb_rpts_p (insn, operands
[
0
]
)
return ! final_sequence && c4x_rptb_rpts_p (insn, operands
[
0
]
)
...
@@ -5209,7 +5212,7 @@
...
@@ -5209,7 +5212,7 @@
""
""
"if (INTVAL (operands
[
3
]
) > 1 || ! TARGET_RPTB)
"if (INTVAL (operands
[
3
]
) > 1 || ! TARGET_RPTB)
FAIL;
FAIL;
emit_
jump_
insn (gen_rptb_init (operands
[
0
]
));
emit_insn (gen_rptb_init (operands
[
0
]
));
DONE;
DONE;
")
")
...
@@ -6904,7 +6907,6 @@
...
@@ -6904,7 +6907,6 @@
;
;
; 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)
]
)
...
@@ -6920,7 +6922,8 @@
...
@@ -6920,7 +6922,8 @@
(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")
]
)
...
@@ -6947,6 +6950,7 @@
...
@@ -6947,6 +6950,7 @@
;
;
; Peepholes to convert 'call label; rets' into jump label
; Peepholes to convert 'call label; rets' into jump label
;
;
(define_peephole
(define_peephole
[
(parallel
[
(call (mem:QI (match_operand:QI 0 "call_address_operand" ""))
[
(parallel
[
(call (mem:QI (match_operand:QI 0 "call_address_operand" ""))
(match_operand:QI 1 "general_operand" ""))
(match_operand:QI 1 "general_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