On 05/08/16 15:17, James Greenhalgh wrote: > On Fri, Aug 05, 2016 at 11:15:24AM +0100, James Greenhalgh wrote: >> On Fri, Aug 05, 2016 at 11:00:39AM +0100, Yao Qi wrote: >>> On Tue, Jul 26, 2016 at 2:55 PM, James Greenhalgh >>> <james.greenha...@arm.com> wrote: >>>> >>>> OK? As this is an ABI break, I'm not proposing for it to go back to GCC 6, >>>> though it will apply cleanly there if the maintainers support that. >>>> >>> >>> What do you mean by "ABI break"? AFAICS, with this patch, it conforms to >>> AAPCS. >> >> After this patch code generated for GCC 4.9/5/6 will not be ABI > > Note that the __fp16 type was only added for AArch64 for GCC 6, so there > would be no break going back to the earlier branches. > > The only released compiler we would potentially have an ABI break against > would be GCC 6.1 (and any vendor/distibution compilers that had backported > the __fp16 support). > > __fp16 is a fairly corner-case type anyway, so the actual impact of this > break should be reasonably well limited. Especially if we backport the fix > such that GCC 6.2 contains the fix.
I agree. Given this was a new feature we should fix it and be done. 6.1 was buggy, 6.2 is it! R. > > Thanks, > James > >> compatible with code generated for GCC 7 for HFAs of __fp16. The new >> generated code will conform to AAPCS64, but the old code didn't so there has >> been an ABI change between the GCC versions. We don't like doing that for >> minor releases, so the patch is not really suitable for backporting. >> >>> The subject leads me thinking about the handling of HVA of float16. >> >> These are handled like any other vector, the code looking at HVA's doesn't >> care about the inner mode of the vector just the bitsize: >>