mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-27 21:44:47 +08:00
pa.c (output_indirect_call): Only use %r2 as the link register in indirect calls with the long PA 2.0...
* pa.c (output_indirect_call): Only use %r2 as the link register in indirect calls with the long PA 2.0 pc-relative branch. From-SVN: r84471
This commit is contained in:
parent
3326f4101a
commit
2c774817bd
@ -1,3 +1,8 @@
|
||||
2004-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
* pa.c (output_indirect_call): Only use %r2 as the link register in
|
||||
indirect calls with the long PA 2.0 pc-relative branch.
|
||||
|
||||
2004-07-10 Daniel Jacobowitz <dan@debian.org>
|
||||
|
||||
* config/i386/i386.c (override_options): Pick a 64-bit CPU
|
||||
|
@ -7545,7 +7545,15 @@ output_indirect_call (rtx insn, rtx call_dest)
|
||||
No need to check target flags as the length uniquely identifies
|
||||
the remaining cases. */
|
||||
if (attr_length_indirect_call (insn) == 8)
|
||||
return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r2\n\tcopy %%r2,%%r31";
|
||||
{
|
||||
/* The HP linker substitutes a BLE for millicode calls using
|
||||
the short PIC PCREL form. Thus, we must use %r31 as the
|
||||
link register when generating PA 1.x code. */
|
||||
if (TARGET_PA_20)
|
||||
return ".CALL\tARGW0=GR\n\tb,l $$dyncall,%%r2\n\tcopy %%r2,%%r31";
|
||||
else
|
||||
return ".CALL\tARGW0=GR\n\tbl $$dyncall,%%r31\n\tcopy %%r31,%%r2";
|
||||
}
|
||||
|
||||
/* Long millicode call, but we are not generating PIC or portable runtime
|
||||
code. */
|
||||
|
Loading…
Reference in New Issue
Block a user