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
4522854a
Commit
4522854a
authored
Jun 11, 2012
by
Richard Henderson
Committed by
Richard Henderson
Jun 11, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
From-SVN: r188405
parent
f938987f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
3 deletions
+12
-3
gcc/ChangeLog
+4
-0
gcc/config/alpha/alpha.c
+8
-3
No files found.
gcc/ChangeLog
View file @
4522854a
2012-06-11 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
2012-06-12 Hans-Peter Nilsson <hp@axis.com>
2012-06-12 Hans-Peter Nilsson <hp@axis.com>
* doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
* doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
...
...
gcc/config/alpha/alpha.c
View file @
4522854a
...
@@ -5451,6 +5451,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
...
@@ -5451,6 +5451,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
chain_value
=
convert_memory_address
(
Pmode
,
chain_value
);
chain_value
=
convert_memory_address
(
Pmode
,
chain_value
);
#endif
#endif
#define HWI_HEX2(X,Y) (((HOST_WIDE_INT)0x ## X ## u) | 0x ## Y ## u)
if
(
TARGET_ABI_OPEN_VMS
)
if
(
TARGET_ABI_OPEN_VMS
)
{
{
const
char
*
fnname
;
const
char
*
fnname
;
...
@@ -5468,7 +5470,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
...
@@ -5468,7 +5470,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
the function's procedure descriptor with certain fields zeroed IAW
the function's procedure descriptor with certain fields zeroed IAW
the VMS calling standard. This is stored in the first quadword. */
the VMS calling standard. This is stored in the first quadword. */
word1
=
force_reg
(
DImode
,
gen_const_mem
(
DImode
,
fnaddr
));
word1
=
force_reg
(
DImode
,
gen_const_mem
(
DImode
,
fnaddr
));
word1
=
expand_and
(
DImode
,
word1
,
GEN_INT
(
0xffff0fff0000fff0
),
NULL
);
word1
=
expand_and
(
DImode
,
word1
,
GEN_INT
(
HWI_HEX2
(
ffff0fff
,
0000
fff0
)),
NULL
);
}
}
else
else
{
{
...
@@ -5479,10 +5482,12 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
...
@@ -5479,10 +5482,12 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
nop
nop
We don't bother setting the HINT field of the jump; the nop
We don't bother setting the HINT field of the jump; the nop
is merely there for padding. */
is merely there for padding. */
word1
=
GEN_INT
(
0xa77b0010a43b0018
);
word1
=
GEN_INT
(
HWI_HEX2
(
a77b0010
,
a43b0018
)
);
word2
=
GEN_INT
(
0x47ff041f6bfb0000
);
word2
=
GEN_INT
(
HWI_HEX2
(
47
ff041f
,
6
bfb0000
)
);
}
}
#undef HWI_HEX2
/* Store the first two words, as computed above. */
/* Store the first two words, as computed above. */
mem
=
adjust_address
(
m_tramp
,
DImode
,
0
);
mem
=
adjust_address
(
m_tramp
,
DImode
,
0
);
emit_move_insn
(
mem
,
word1
);
emit_move_insn
(
mem
,
word1
);
...
...
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