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
fe33bfb3
Commit
fe33bfb3
authored
May 15, 1993
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(INITIALIZE_TRAMPOLINE): Don't make improper SUBREGs and ensure that
CXT and FNADDR are in registers. From-SVN: r4474
parent
d6cca343
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
8 deletions
+10
-8
gcc/config/i860/i860.h
+10
-8
No files found.
gcc/config/i860/i860.h
View file @
fe33bfb3
/* Definitions of target machine for GNU compiler, for Intel 860.
/* Definitions of target machine for GNU compiler, for Intel 860.
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
Copyright (C) 1989, 1991
, 1993
Free Software Foundation, Inc.
Written by Richard Stallman (rms@ai.mit.edu).
Written by Richard Stallman (rms@ai.mit.edu).
...
@@ -639,18 +639,20 @@ struct cumulative_args { int ints, floats; };
...
@@ -639,18 +639,20 @@ struct cumulative_args { int ints, floats; };
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
{ \
{ \
rtx
low_cxt = expand_shift (RSHIFT_EXPR, SImode, CXT,
\
rtx
cxt = force_reg (Pmode, CXT);
\
size_int (16), 0, 0);
\
rtx fn = force_reg (Pmode, FNADDR);
\
rtx
low_fn = expand_shift (RSHIFT_EXPR, SImode, FNADDR,
\
rtx
hi_cxt = expand_shift (RSHIFT_EXPR, SImode, cxt,
\
size_int (16), 0, 0); \
size_int (16), 0, 0); \
rtx hi_fn = expand_shift (RSHIFT_EXPR, SImode, fn, \
size_int (16), 0, 0); \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 16)), \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 16)), \
gen_
rtx (SUBREG, HImode, CXT));
\
gen_
lowpart (HImode, cxt));
\
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 4)), \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 4)), \
gen_
rtx (SUBREG, HImode, FNADDR));
\
gen_
lowpart (HImode, fn));
\
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 8)), \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 8)), \
gen_
rtx (SUBREG, HImode, low
_cxt)); \
gen_
lowpart (HImode, hi
_cxt)); \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 0)), \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 0)), \
gen_
rtx (SUBREG, HImode, low_fn));
\
gen_
lowpart (HImode, hi_fn));
\
}
}
/* Addressing modes, and classification of registers for them. */
/* Addressing modes, and classification of registers for them. */
...
...
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