This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PING][AARCH64, Question] Does AARCH64 GCC support long calls?
- From: "Yangfei (Felix)" <felix dot yang at huawei dot com>
- To: Andrew Pinski <pinskia at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "marcus dot shawcroft at arm dot com" <marcus dot shawcroft at arm dot com>, "richard dot earnshaw at arm dot com" <richard dot earnshaw at arm dot com>
- Cc: Suipengfei <suipengfei at huawei dot com>
- Date: Sat, 25 Oct 2014 06:28:47 +0000
- Subject: Re: [PING][AARCH64, Question] Does AARCH64 GCC support long calls?
- Authentication-results: sourceware.org; auth=none
- References: <DA41BE1DDCA941489001C7FBD7A8820E5554BF55 at szxema507-mbx dot china dot huawei dot com> <CA+=Sn1n8Bo2Q_ocMoiuuXJPm5NAjhQ=98D6WNUBaJ2eks_xGHg at mail dot gmail dot com>
> On Fri, Oct 24, 2014 at 8:35 PM, Yangfei (Felix) <felix.yang@huawei.com> wrote:
> >> Hi,
> >>
> >> I find that the -mlong-calls option is not there for AARCH64. So
> >> can this port generate long calls?
> >> Any plan on this option? I would like to have a try on this if it's missing :-)
> >> Thanks.
> >
> >
> > Any comments?
>
> Yes you can use -mcmodel=large to this effect I think.
>
> Thanks,
> Andrew Pinski
Thanks for the reply. It seems that -mcmodel=large is different from -mlong-calls.
GCC still emit the BL instruction with -mcmodel=large. I thinks GCC should emit BLR instruction with -mlong-calls, right?
void test();
int main()
{
test();
}
Assembly for this main with -mcmodel=large option:
main:
stp x29, x30, [sp, -16]!
add x29, sp, 0
bl test
ldp x29, x30, [sp], 16
ret