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
1d783d31
Commit
1d783d31
authored
Jun 16, 1995
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(alpha_builtin_saveregs): Use ptr_mode and conversions when need so
works for both OSF and NT. From-SVN: r9995
parent
d3c89e1f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
6 deletions
+13
-6
gcc/config/alpha/alpha.c
+13
-6
No files found.
gcc/config/alpha/alpha.c
View file @
1d783d31
...
...
@@ -1156,20 +1156,27 @@ alpha_builtin_saveregs (arglist)
?
plus_constant
(
virtual_incoming_args_rtx
,
6
*
UNITS_PER_WORD
)
:
plus_constant
(
virtual_incoming_args_rtx
,
-
(
6
*
UNITS_PER_WORD
)));
addr
=
force_operand
(
addr
,
NULL_RTX
);
/* Allocate the va_list constructor */
block
=
assign_stack_local
(
BLKmode
,
2
*
UNITS_PER_WORD
,
BITS_PER_WORD
);
RTX_UNCHANGING_P
(
block
)
=
1
;
RTX_UNCHANGING_P
(
XEXP
(
block
,
0
))
=
1
;
/* Store the address of the first integer register in the
__va_base member. */
emit_move_insn
(
change_address
(
block
,
Pmode
,
XEXP
(
block
,
0
)),
force_operand
(
addr
,
NULL_RTX
));
/* Store the address of the first integer register in the __base member.
Note that our offsets are correct for both 32- and 64-bit pointers
due to the alignment of the __offset field (a long). */
#ifdef POINTERS_EXTEND_UNSIGNED
addr
=
convert_memory_address
(
ptr_mode
,
addr
);
#endif
emit_move_insn
(
change_address
(
block
,
ptr_mode
,
XEXP
(
block
,
0
)),
addr
);
/* Store the argsize as the __va_offset member. */
emit_move_insn
(
change_address
(
block
,
P
mode
,
emit_move_insn
(
change_address
(
block
,
ptr_
mode
,
plus_constant
(
XEXP
(
block
,
0
),
UNITS_PER_WORD
)),
GET_MODE_SIZE
(
ptr_mode
)
)),
force_operand
(
argsize
,
NULL_RTX
));
/* Return the address of the va_list constructor, but don't put it in a
...
...
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