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
58a32c5c
Commit
58a32c5c
authored
Apr 13, 1997
by
Doug Evans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* expr.c (move_block_from_reg): Try using an integral mov operation first.
From-SVN: r13897
parent
ad578014
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
1 deletions
+13
-1
gcc/expr.c
+13
-1
No files found.
gcc/expr.c
View file @
58a32c5c
...
...
@@ -1717,9 +1717,21 @@ move_block_from_reg (regno, x, nregs, size)
{
int
i
;
rtx
pat
,
last
;
enum
machine_mode
mode
;
/* If SIZE is that of a mode no bigger than a word, just use that
mode's store operation. */
if
(
size
<=
UNITS_PER_WORD
&&
(
mode
=
mode_for_size
(
size
*
BITS_PER_UNIT
,
MODE_INT
,
0
))
!=
BLKmode
)
{
emit_move_insn
(
change_address
(
x
,
mode
,
NULL
),
gen_rtx
(
REG
,
mode
,
regno
));
return
;
}
/* Blocks smaller than a word on a BYTES_BIG_ENDIAN machine must be aligned
to the left before storing to memory. */
to the left before storing to memory. Note that the previous test
doesn't handle all cases (e.g. SIZE == 3). */
if
(
size
<
UNITS_PER_WORD
&&
BYTES_BIG_ENDIAN
)
{
rtx
tem
=
operand_subword
(
x
,
0
,
1
,
BLKmode
);
...
...
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