Re: [PATCH v1] LoongArch: Added code generation support for call36 function calls.

2023-11-14 Thread Xi Ruoyao
On Wed, 2023-11-15 at 04:42 +0800, Xi Ruoyao wrote: > > There seems a better solution as suggested by the GCC internal doc. > > Section 18.9.16 mentions -fipa-ra: > > > >  -- Target Hook: bool TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS > > Set to true if each call that binds to a local

Re: [PATCH v1] LoongArch: Added code generation support for call36 function calls.

2023-11-14 Thread Xi Ruoyao
On Wed, 2023-11-15 at 04:26 +0800, Xi Ruoyao wrote: > On Tue, 2023-11-14 at 20:46 +0800, chenglulu wrote: > > > > 在 2023/11/14 下午5:55, Xi Ruoyao 写道: > > > On Tue, 2023-11-14 at 17:45 +0800, Lulu Cheng wrote: > > > > +  /* When function calls are made through call36, t0 register > > > > will

Re: [PATCH v1] LoongArch: Added code generation support for call36 function calls.

2023-11-14 Thread Xi Ruoyao
On Tue, 2023-11-14 at 20:46 +0800, chenglulu wrote: > > 在 2023/11/14 下午5:55, Xi Ruoyao 写道: > > On Tue, 2023-11-14 at 17:45 +0800, Lulu Cheng wrote: > > > +  /* When function calls are made through call36, t0 register > > > will be > > > + implicitly modified, so '-fno-ipa-ra' needs to be set

Re: [PATCH v1] LoongArch: Added code generation support for call36 function calls.

2023-11-14 Thread chenglulu
在 2023/11/14 下午5:55, Xi Ruoyao 写道: On Tue, 2023-11-14 at 17:45 +0800, Lulu Cheng wrote: +  /* When function calls are made through call36, t0 register will be +implicitly modified, so '-fno-ipa-ra' needs to be set here.  */    case CMODEL_MEDIUM: + if

Re: [PATCH v1] LoongArch: Added code generation support for call36 function calls.

2023-11-14 Thread Xi Ruoyao
On Tue, 2023-11-14 at 17:45 +0800, Lulu Cheng wrote: > +  /* When function calls are made through call36, t0 register will be > + implicitly modified, so '-fno-ipa-ra' needs to be set here.  */ >    case CMODEL_MEDIUM: > + if (HAVE_AS_SUPPORT_CALL36) > +   opts->x_flag_ipa_ra

[PATCH v1] LoongArch: Added code generation support for call36 function calls.

2023-11-14 Thread Lulu Cheng
When compiling with '-mcmodel=medium', the function call is made through 'pcaddu18i+jirl' if binutils supports call36, otherwise the native implementation 'pcalau12i+jirl' is used. gcc/ChangeLog: * config.in: Regenerate. * config/loongarch/loongarch-opts.h