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
6cca74ab
Commit
6cca74ab
authored
Apr 17, 1998
by
Greg McGary
Committed by
Richard Henderson
Apr 17, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
From-SVN: r19271
parent
4daa9c14
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
3 deletions
+13
-3
gcc/ChangeLog
+4
-0
gcc/emit-rtl.c
+9
-3
No files found.
gcc/ChangeLog
View file @
6cca74ab
Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
* emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
* emit-rtl.c (operand_subword_force): If a register can not be
...
...
gcc/emit-rtl.c
View file @
6cca74ab
...
...
@@ -1011,18 +1011,24 @@ gen_highpart (mode, x)
}
else
if
(
GET_CODE
(
x
)
==
REG
)
{
int
word
=
0
;
int
word
;
/* Let the backend decide how many registers to skip. This is needed
in particular for sparc64 where fp regs are smaller than a word. */
/* ??? Note that subregs are now ambiguous, in that those against
pseudos are sized by the
Word S
ize, while those against hard
pseudos are sized by the
word s
ize, while those against hard
regs are sized by the underlying register size. Better would be
to always interpret the subreg offset parameter as bytes or bits. */
if
(
!
WORDS_BIG_ENDIAN
&&
REGNO
(
x
)
<
FIRST_PSEUDO_REGISTER
)
if
(
WORDS_BIG_ENDIAN
)
word
=
0
;
else
if
(
REGNO
(
x
)
<
FIRST_PSEUDO_REGISTER
)
word
=
(
HARD_REGNO_NREGS
(
REGNO
(
x
),
GET_MODE
(
x
))
-
HARD_REGNO_NREGS
(
REGNO
(
x
),
mode
));
else
word
=
((
GET_MODE_SIZE
(
GET_MODE
(
x
))
-
MAX
(
GET_MODE_SIZE
(
mode
),
UNITS_PER_WORD
))
/
UNITS_PER_WORD
);
if
(
REGNO
(
x
)
<
FIRST_PSEUDO_REGISTER
/* integrate.c can't handle parts of a return value register. */
...
...
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