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
280fc31e
Commit
280fc31e
authored
Jul 28, 1995
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(i960_arg_size_and_align): Correct alignment of XFmode values in
library calls. From-SVN: r10176
parent
0c253776
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
2 deletions
+11
-2
gcc/config/i960/i960.c
+11
-2
No files found.
gcc/config/i960/i960.c
View file @
280fc31e
...
@@ -2053,7 +2053,14 @@ i960_arg_size_and_align (mode, type, size_out, align_out)
...
@@ -2053,7 +2053,14 @@ i960_arg_size_and_align (mode, type, size_out, align_out)
size
=
(
GET_MODE_SIZE
(
mode
)
+
UNITS_PER_WORD
-
1
)
/
UNITS_PER_WORD
;
size
=
(
GET_MODE_SIZE
(
mode
)
+
UNITS_PER_WORD
-
1
)
/
UNITS_PER_WORD
;
if
(
type
==
0
)
if
(
type
==
0
)
align
=
size
;
{
/* ??? This is a hack to properly correct the alignment of XFmode
values without affecting anything else. */
if
(
size
==
3
)
align
=
4
;
else
align
=
size
;
}
else
if
(
TYPE_ALIGN
(
type
)
>=
BITS_PER_WORD
)
else
if
(
TYPE_ALIGN
(
type
)
>=
BITS_PER_WORD
)
align
=
TYPE_ALIGN
(
type
)
/
BITS_PER_WORD
;
align
=
TYPE_ALIGN
(
type
)
/
BITS_PER_WORD
;
else
else
...
@@ -2068,7 +2075,9 @@ i960_arg_size_and_align (mode, type, size_out, align_out)
...
@@ -2068,7 +2075,9 @@ i960_arg_size_and_align (mode, type, size_out, align_out)
subsequent arguments are placed on the stack.
subsequent arguments are placed on the stack.
Additionally, parameters with an alignment requirement stronger than
Additionally, parameters with an alignment requirement stronger than
a word must be be aligned appropriately. */
a word must be aligned appropriately. Note that this means that a
64 bit object with a 32 bit alignment is not 64 bit aligned and may be
passed in an odd/even register pair. */
/* Update CUM to advance past an argument described by MODE and TYPE. */
/* Update CUM to advance past an argument described by MODE and TYPE. */
...
...
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