On Tue, Sep 20, 2016 at 10:09:14AM +0100, James Greenhalgh wrote:
> On Tue, Sep 13, 2016 at 01:15:39PM +0100, Tamar Christina wrote:
> Thanks, I applied this following your script above, and committed it as
> revision 240256, after tweaking one part of the script to replace a double
> space after __attribute__ introduced by the second sed command.
This patch caused a few new failures for AArch64:
Author: jgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Sep 20 09:06:13 2016 +0000
[GCC][PATCH] Add __artificial__ attribute to Aarch64 NEON intrinsics
Committed on behalf of Tamar Christina <tamar.christ...@arm.com>.
* config/aarch64/arm_neon.h: Add gnu_inline and artificial
attributes to all inlined functions and make them extern.
Looking in to it, I see that the following intrinsics:
Are getting inlined, but their body is output in the assembly.
Looking in arm_neon.h, the reason seems clear:
__extension__ extern __inline void
vst2_s64 (int64_t * __a, int64x1x2_t val)
These intrinsics have always been missing
__attribute__ ((__always_inline__)) and consequently were not updated by your
script to have __gnu_inline__, and now they are marked extern - they miss GNU
Inline semantics and keep their body after inlining.
A patch adding the correct attributes to these intrisnics is preapproved.