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
76542a00
Commit
76542a00
authored
Oct 13, 1992
by
Jim Wilson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(i960_output_call_insn): Emit bx instead of b, callx instead of callj.
From-SVN: r2430
parent
d4f55d3b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
6 deletions
+6
-6
gcc/config/i960/i960.c
+6
-6
No files found.
gcc/config/i960/i960.c
View file @
76542a00
...
@@ -1193,15 +1193,16 @@ char *
...
@@ -1193,15 +1193,16 @@ char *
i960_output_call_insn
(
target
,
argsize_rtx
,
insn
)
i960_output_call_insn
(
target
,
argsize_rtx
,
insn
)
register
rtx
target
,
argsize_rtx
,
insn
;
register
rtx
target
,
argsize_rtx
,
insn
;
{
{
int
non_indirect
;
int
argsize
=
INTVAL
(
argsize_rtx
);
int
argsize
=
INTVAL
(
argsize_rtx
);
rtx
nexti
=
next_real_insn
(
insn
);
rtx
nexti
=
next_real_insn
(
insn
);
rtx
operands
[
1
];
rtx
operands
[
1
];
operands
[
0
]
=
target
;
operands
[
0
]
=
target
;
non_indirect
=
((
GET_CODE
(
target
)
==
MEM
)
/* The code used to assume that calls to SYMBOL_REFs could not be more
&&
(
GET_CODE
(
XEXP
(
target
,
0
))
==
SYMBOL_REF
));
than 24 bits away (b vs bx, callj vs callx). This is not true. This
feature is now implemented by relaxing in the GNU linker. It can convert
bx to b if in range, and callx to calls/call/balx/bal as appropriate. */
/* Nexti could be zero if the called routine is volatile. */
/* Nexti could be zero if the called routine is volatile. */
if
(
optimize
&&
(
*
epilogue_string
==
0
)
&&
argsize
==
0
&&
tail_call_ok
if
(
optimize
&&
(
*
epilogue_string
==
0
)
&&
argsize
==
0
&&
tail_call_ok
...
@@ -1210,12 +1211,11 @@ i960_output_call_insn (target, argsize_rtx, insn)
...
@@ -1210,12 +1211,11 @@ i960_output_call_insn (target, argsize_rtx, insn)
/* Delete following return insn. */
/* Delete following return insn. */
if
(
nexti
&&
no_labels_between_p
(
insn
,
nexti
))
if
(
nexti
&&
no_labels_between_p
(
insn
,
nexti
))
delete_insn
(
nexti
);
delete_insn
(
nexti
);
output_asm_insn
(
non_indirect
?
"b %0"
:
"bx %0"
,
output_asm_insn
(
"bx %0"
,
operands
);
operands
);
return
"# notreached"
;
return
"# notreached"
;
}
}
output_asm_insn
(
non_indirect
?
"callj %0"
:
"callx %0"
,
operands
);
output_asm_insn
(
"callx %0"
,
operands
);
return
""
;
return
""
;
}
}
...
...
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