This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][GCC][ARM] Generate .arch and .arch_extensions for each function if required. [Patch (3/3)]
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Tamar Christina <Tamar dot Christina at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, nd <nd at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, "nickc at redhat dot com" <nickc at redhat dot com>, Kyrylo Tkachov <Kyrylo dot Tkachov at arm dot com>
- Date: Fri, 8 Dec 2017 09:17:23 +0100
- Subject: Re: [PATCH][GCC][ARM] Generate .arch and .arch_extensions for each function if required. [Patch (3/3)]
- Authentication-results: sourceware.org; auth=none
- References: <20171106165200.GA12194@arm.com> <HE1PR08MB05076132D7E6DC037FB79F0BFF230@HE1PR08MB0507.eurprd08.prod.outlook.com> <HE1PR08MB0507C38B8E311DE410E52B97FF390@HE1PR08MB0507.eurprd08.prod.outlook.com>
Hi Tamar,
On 1 December 2017 at 09:57, Tamar Christina <Tamar.Christina@arm.com> wrote:
> Ping,
>
> This patch has also been bootstrapped and no issues.
>
>> -----Original Message-----
>> From: Tamar Christina
>> Sent: Tuesday, November 21, 2017 17:29
>> To: Tamar Christina <Tamar.Christina@arm.com>; gcc-patches@gcc.gnu.org
>> Cc: nd <nd@arm.com>; Ramana Radhakrishnan
>> <Ramana.Radhakrishnan@arm.com>; Richard Earnshaw
>> <Richard.Earnshaw@arm.com>; nickc@redhat.com; Kyrylo Tkachov
>> <Kyrylo.Tkachov@arm.com>
>> Subject: RE: [PATCH][GCC][ARM] Generate .arch and .arch_extensions for
>> each function if required. [Patch (3/3)]
>>
>> Ping
>>
>> > -----Original Message-----
>> > From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
>> > owner@gcc.gnu.org] On Behalf Of Tamar Christina
>> > Sent: Monday, November 6, 2017 16:52
>> > To: gcc-patches@gcc.gnu.org
>> > Cc: nd <nd@arm.com>; Ramana Radhakrishnan
>> > <Ramana.Radhakrishnan@arm.com>; Richard Earnshaw
>> > <Richard.Earnshaw@arm.com>; nickc@redhat.com; Kyrylo Tkachov
>> > <Kyrylo.Tkachov@arm.com>
>> > Subject: [PATCH][GCC][ARM] Generate .arch and .arch_extensions for
>> > each function if required. [Patch (3/3)]
>> >
>> > Hi All,
>> >
>> > This patch adds the needed machinery to generate the appropriate .arch
>> > and .arch_extension directives per function.
>> >
>> > Borrowing from AArch64 this is only done when it's required (i.e. when
>> > the directives to be set differ from the currently set one).
>> >
>> > As part if this the .fpu directive has also been cleaned up to follow
>> > the same logic.
>> >
>> > Regtested on arm-none-eabi and no regressions.
>> >
>> > Ok for trunk?
>> >
>> > gcc/
>> > 2017-11-06 Tamar Christina <tamar.christina@arm.com>
>> >
>> > PR target/82641
>> > * config/arm/arm.c (INCLUDE_STRING): Define.
>> > (arm_last_printed_arch_string, arm_last_printed_fpu_string): New.
>> > (arm_declare_function_name): Conservatively emit .arch,
>> > .arch_extensions
>> > and .fpu.
>> >
>> > gcc/testsuite/
>> > 2017-11-06 Tamar Christina <tamar.christina@arm.com>
>> >
>> > PR target/82641
>> > * gcc.target/arm/pragma_arch_attribute_2.c: New.
>> > * gcc.target/arm/pragma_arch_attribute_2.c: New.
>> > * gcc.target/arm/pragma_arch_attribute_3.c: New.
>> > * gcc.target/arm/pragma_fpu_attribute.c: New.
>> > * gcc.target/arm/pragma_fpu_attribute_2.c: New.
>> >
>> > --
I'm afraid you'll have to update the testcases: they fail on non-hf targets
(arm-none-linux-gnueabi, arm-none-eabi), because:
In file included from /gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c:7:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/gcc/include/arm_neon.h:31:2:
error: #error "NEON intrinsics not available with the soft-float ABI.
Please use -mfloat-abi=softfp or -mfloat-abi=hard"
/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c:11:53: error:
unknown type name 'poly64x1_t'
/gcc/testsuite/gcc.target/arm/pragma_fpu_attribute.c:11:71: error:
unknown type name 'poly64x1_t'
Looking at other attributes tests, maybe you need to add arm_neon_ok?
Thanks,
Christophe