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
4e09f580
Commit
4e09f580
authored
Mar 30, 1992
by
Michael Meissner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r640
parent
58e54c44
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
3 deletions
+23
-3
gcc/config/mips/mips.c
+23
-3
No files found.
gcc/config/mips/mips.c
View file @
4e09f580
...
...
@@ -1997,6 +1997,9 @@ output_block_move (insn, operands, num_regs)
{
if
(
CONSTANT_P
(
src_reg
))
{
if
(
TARGET_STATS
)
mips_count_memory_refs
(
operands
[
1
],
1
);
xoperands
[
1
]
=
operands
[
1
];
xoperands
[
0
]
=
src_reg
=
operands
[
3
+
num_regs
--
];
output_asm_insn
(
"la
\t
%0,%1"
,
xoperands
);
...
...
@@ -2004,7 +2007,10 @@ output_block_move (insn, operands, num_regs)
if
(
CONSTANT_P
(
dest_reg
))
{
xoperands
[
1
]
=
operands
[
1
];
if
(
TARGET_STATS
)
mips_count_memory_refs
(
operands
[
0
],
1
);
xoperands
[
1
]
=
operands
[
0
];
xoperands
[
0
]
=
dest_reg
=
operands
[
3
+
num_regs
--
];
output_asm_insn
(
"la
\t
%0,%1"
,
xoperands
);
}
...
...
@@ -2023,6 +2029,8 @@ output_block_move (insn, operands, num_regs)
{
load_store
[
num
].
offset
=
offset
;
dslots_load_total
++
;
dslots_load_filled
++
;
if
(
bytes
>=
UNITS_PER_WORD
&&
align
>=
UNITS_PER_WORD
)
{
load_store
[
num
].
load
=
"lw
\t
%0,%1"
;
...
...
@@ -2064,14 +2072,26 @@ output_block_move (insn, operands, num_regs)
bytes
--
;
}
if
(
TARGET_STATS
)
{
if
(
CONSTANT_P
(
src_reg
))
mips_count_memory_refs
(
src_reg
,
1
);
if
(
CONSTANT_P
(
dest_reg
))
mips_count_memory_refs
(
dest_reg
,
1
);
}
/* Emit load/stores now if we have run out of registers or are
at the end of the move. */
if
(
++
num
==
4
||
bytes
==
0
)
if
(
++
num
==
num_regs
||
bytes
==
0
)
{
/* If only load/store, we need a NOP after the load. */
if
(
num
==
1
)
load_store
[
0
].
load
=
load_store
[
0
].
load_nop
;
{
load_store
[
0
].
load
=
load_store
[
0
].
load_nop
;
dslots_load_filled
--
;
}
for
(
i
=
0
;
i
<
num
;
i
++
)
{
...
...
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