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
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
1 deletions
+10
-1
gcc/ChangeLog
+6
-0
gcc/config/rs6000/rs6000.c
+4
-1
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>
2005-05-05 Hans-Peter Nilsson <hp@bitrange.com>
* config/mmix/predicates.md: New file.
* config/mmix/predicates.md: New file.
...
...
gcc/config/rs6000/rs6000.c
View file @
bcb604b6
...
@@ -13271,7 +13271,7 @@ rs6000_emit_prologue (void)
...
@@ -13271,7 +13271,7 @@ rs6000_emit_prologue (void)
epilogue. */
epilogue. */
if
(
TARGET_ALTIVEC
&&
TARGET_ALTIVEC_VRSAVE
if
(
TARGET_ALTIVEC
&&
TARGET_ALTIVEC_VRSAVE
&&
!
WORLD_SAVE_P
(
info
)
&&
info
->
vrsave_mask
!=
0
)
&&
info
->
vrsave_mask
!=
0
)
{
{
rtx
reg
,
mem
,
vrsave
;
rtx
reg
,
mem
,
vrsave
;
int
offset
;
int
offset
;
...
@@ -13286,6 +13286,8 @@ rs6000_emit_prologue (void)
...
@@ -13286,6 +13286,8 @@ rs6000_emit_prologue (void)
else
else
emit_insn
(
gen_rtx_SET
(
VOIDmode
,
reg
,
vrsave
));
emit_insn
(
gen_rtx_SET
(
VOIDmode
,
reg
,
vrsave
));
if
(
!
WORLD_SAVE_P
(
info
))
{
/* Save VRSAVE. */
/* Save VRSAVE. */
offset
=
info
->
vrsave_save_offset
+
sp_offset
;
offset
=
info
->
vrsave_save_offset
+
sp_offset
;
mem
mem
...
@@ -13293,6 +13295,7 @@ rs6000_emit_prologue (void)
...
@@ -13293,6 +13295,7 @@ rs6000_emit_prologue (void)
gen_rtx_PLUS
(
Pmode
,
frame_reg_rtx
,
GEN_INT
(
offset
)));
gen_rtx_PLUS
(
Pmode
,
frame_reg_rtx
,
GEN_INT
(
offset
)));
set_mem_alias_set
(
mem
,
rs6000_sr_alias_set
);
set_mem_alias_set
(
mem
,
rs6000_sr_alias_set
);
insn
=
emit_move_insn
(
mem
,
reg
);
insn
=
emit_move_insn
(
mem
,
reg
);
}
/* Include the registers in the mask. */
/* Include the registers in the mask. */
emit_insn
(
gen_iorsi3
(
reg
,
reg
,
GEN_INT
((
int
)
info
->
vrsave_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