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
f3bfd09c
Commit
f3bfd09c
authored
Dec 12, 2001
by
Dan Nicolaescu
Committed by
Richard Henderson
Dec 11, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/sparc/sparc.md (prefetch): New.
From-SVN: r47911
parent
e817125d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
0 deletions
+35
-0
gcc/ChangeLog
+4
-0
gcc/config/sparc/sparc.md
+31
-0
No files found.
gcc/ChangeLog
View file @
f3bfd09c
2001
-
12
-
11
Dan
Nicolaescu
<
dann
@ics
.
uci
.
edu
>
*
config
/
sparc
/
sparc
.
md
(
prefetch
)
:
New
.
2001
-
12
-
11
Aldy
Hernandez
<
aldyh
@redhat
.
com
>
*
output
.
h
(
regno_uninitialized
)
:
Make
argument
unsigned
.
...
...
gcc/config/sparc/sparc.md
View file @
f3bfd09c
...
...
@@ -9224,6 +9224,37 @@
&& short_branch (INSN_UID (insn), INSN_UID (operands
[
2
]
))
&& (USING_SJLJ_EXCEPTIONS || ! can_throw_internal (insn))"
"call
\\
t%a0, %1
\\
n
\\
tadd
\\
t%%o7, (%l2-.-4), %%o7")
(define_insn "prefetch"
[
(prefetch (match_operand:DI 0 "address_operand" "p")
(match_operand:DI 1 "const_int_operand" "n")
(match_operand:DI 2 "const_int_operand" "n"))]
"TARGET_V9"
{
static const char
*
const prefetch_instr
[
2
][
4
]
= {
{
"prefetch
\\
t
[
%a0
]
, 1", /
* no locality: prefetch for one read *
/
"prefetch
\\
t
[
%a0
]
, 0", /
* medium locality: prefetch for several reads *
/
"prefetch
\\
t
[
%a0
]
, 0", /
* medium locality: prefetch for several reads *
/
"prefetch
\\
t
[
%a0
]
, 4", /
* high locality: prefetch page *
/
},
{
"prefetch
\\
t
[
%a0
]
, 3", /
* no locality: prefetch for one write *
/
"prefetch
\\
t
[
%a0
]
, 2", /
* medium locality: prefetch for several writes *
/
"prefetch
\\
t
[
%a0
]
, 2", /
* medium locality: prefetch for several writes *
/
"prefetch
\\
t
[
%a0
]
, 4", /
* high locality: prefetch page *
/
}
};
int read_or_write = INTVAL (operands
[
1
]
);
int locality = INTVAL (operands
[
2
]
);
if (read_or_write != 0 && read_or_write != 1)
abort ();
if (locality
<
0
||
locality
>
3)
abort ();
return prefetch_instr
[
read_or_write
][
locality
]
;
}
[
(set_attr "type" "load")
]
)
(define_expand "prologue"
[
(const_int 1)
]
...
...
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