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
bcb604b6
Commit
bcb604b6
authored
May 04, 2005
by
Fariborz Jahanian
Committed by
Fariborz Jahanian
May 04, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed a vrsave problem in the presense of save_world call in the prologue.
Oked by Dale Johannesen. From-SVN: r99236
parent
cc73528f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
8 deletions
+17
-8
gcc/ChangeLog
+6
-0
gcc/config/rs6000/rs6000.c
+11
-8
No files found.
gcc/ChangeLog
View file @
bcb604b6
2005-05-04 Fariborz Jahanian <fjahanian@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_prologue): Emit
setting of vrsave register for current function after
call to save_world is emitted.
2005-05-05 Hans-Peter Nilsson <hp@bitrange.com>
* config/mmix/predicates.md: New file.
...
...
gcc/config/rs6000/rs6000.c
View file @
bcb604b6
...
...
@@ -13271,7 +13271,7 @@ rs6000_emit_prologue (void)
epilogue. */
if
(
TARGET_ALTIVEC
&&
TARGET_ALTIVEC_VRSAVE
&&
!
WORLD_SAVE_P
(
info
)
&&
info
->
vrsave_mask
!=
0
)
&&
info
->
vrsave_mask
!=
0
)
{
rtx
reg
,
mem
,
vrsave
;
int
offset
;
...
...
@@ -13286,13 +13286,16 @@ rs6000_emit_prologue (void)
else
emit_insn
(
gen_rtx_SET
(
VOIDmode
,
reg
,
vrsave
));
/* Save VRSAVE. */
offset
=
info
->
vrsave_save_offset
+
sp_offset
;
mem
=
gen_rtx_MEM
(
SImode
,
gen_rtx_PLUS
(
Pmode
,
frame_reg_rtx
,
GEN_INT
(
offset
)));
set_mem_alias_set
(
mem
,
rs6000_sr_alias_set
);
insn
=
emit_move_insn
(
mem
,
reg
);
if
(
!
WORLD_SAVE_P
(
info
))
{
/* Save VRSAVE. */
offset
=
info
->
vrsave_save_offset
+
sp_offset
;
mem
=
gen_rtx_MEM
(
SImode
,
gen_rtx_PLUS
(
Pmode
,
frame_reg_rtx
,
GEN_INT
(
offset
)));
set_mem_alias_set
(
mem
,
rs6000_sr_alias_set
);
insn
=
emit_move_insn
(
mem
,
reg
);
}
/* Include the registers in the mask. */
emit_insn
(
gen_iorsi3
(
reg
,
reg
,
GEN_INT
((
int
)
info
->
vrsave_mask
)));
...
...
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