This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ARM half-precision floating point, 3/8 (target hooks)


> The function argument and return type restrictions, and conversions from 
> double to HFmode going via float (with double rounding), are not things 
> that it's clear other targets will want; if some C and C++ interfaces to 
> half precision are standardised in future it seems likely they'd avoid 
> those restrictions; likewise the lack of _Complex __fp16.  (Indeed the ARM 
> EABI defines how half-precision arguments and return types should work at 
> the language-independent ABI level; it's just the C and C++ bindings that 
> don't allow them.)  If there is future standardisation it would seem 
> reasonable for the ARM implementation to align with it, possibly removing 
> some hooks.

Thanks for the explanation.  Then my only objections is on
convert_to_type and promoted_type, I'm convinced that the others are
indeed best left as target hooks.

BTW, is the EABI implemented for half-precision arguments and return
types?  From the 6/8 patch it does not look like and I think we should
sorry for that in the ARM backend; even if that code is currently
unreachable it may not be so in the future, because after Martin's
IPA-SRA pass goes in the middle-end might decide to have a function with
HFmode parameters or return types.

Paolo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]