Re: [PATCH 4/7][ARM] Add ACLE feature macro for ARMv8.1 instructions.
On Tue, Dec 15, 2015 at 4:03 PM, Matthew Wahabwrote: > On 10/12/15 10:45, Ramana Radhakrishnan wrote: >> >> On Tue, Dec 8, 2015 at 7:45 AM, Christian Bruel >> wrote: >>> >>> Hi Matthew, On 26/11/15 16:01, Matthew Wahab wrote: > > > Hello, > > This patch adds the feature macro __ARM_FEATURE_QRDMX to indicate the > presence of the ARMv8.1 instructions vqrdmlah and vqrdmlsh. It is > defined when the instructions are available, as it is when > -march=armv8.1-a is enabled with suitable fpu options. > > gcc/ > 2015-11-26 Matthew Wahab > >* config/arm/arm-c.c (arm_cpu_builtins): Define > __ARM_FEATURE_QRDMX. > >>> >>> + if (TARGET_NEON_RDMA) >>> +builtin_define ("__ARM_FEATURE_QRDMX"); >>> + >>> >>> Since it depends on TARGET_NEON, could you please use >>> >>>def_or_undef_macro (pfile, "__ARM_FEATURE_QRDMX", TARGET_NEON_RDMA); >>> >>> instead ? >> >> >> I think that's what it should be - >> >> OK with that fixed. > > > Attached an updated patch using the def_or_undef macro. It also removes some > trailing whitespace in that part of the code. > > Still ok? Yep, OK. regards Ramana > Matthew > > gcc/ > 2015-12-14 Matthew Wahab > > * config/arm/arm-c.c (arm_cpu_builtins): Define > __ARM_FEATURE_QRDMX. Clean up some trailing whitespace. > >
Re: [PATCH 4/7][ARM] Add ACLE feature macro for ARMv8.1 instructions.
On 10/12/15 10:45, Ramana Radhakrishnan wrote: On Tue, Dec 8, 2015 at 7:45 AM, Christian Bruelwrote: Hi Matthew, On 26/11/15 16:01, Matthew Wahab wrote: Hello, This patch adds the feature macro __ARM_FEATURE_QRDMX to indicate the presence of the ARMv8.1 instructions vqrdmlah and vqrdmlsh. It is defined when the instructions are available, as it is when -march=armv8.1-a is enabled with suitable fpu options. gcc/ 2015-11-26 Matthew Wahab * config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_QRDMX. + if (TARGET_NEON_RDMA) +builtin_define ("__ARM_FEATURE_QRDMX"); + Since it depends on TARGET_NEON, could you please use def_or_undef_macro (pfile, "__ARM_FEATURE_QRDMX", TARGET_NEON_RDMA); instead ? I think that's what it should be - OK with that fixed. Attached an updated patch using the def_or_undef macro. It also removes some trailing whitespace in that part of the code. Still ok? Matthew gcc/ 2015-12-14 Matthew Wahab * config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_QRDMX. Clean up some trailing whitespace. >From 8cce5cd7b6d89c49dcf694a5c72ab0ed7c26fe20 Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Wed, 17 Jun 2015 13:25:09 +0100 Subject: [PATCH 4/7] [ARM] Add __ARM_FEATURE_QRDMX --- gcc/config/arm/arm-c.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c index 7dee28e..a980ed8 100644 --- a/gcc/config/arm/arm-c.c +++ b/gcc/config/arm/arm-c.c @@ -62,19 +62,21 @@ static void arm_cpu_builtins (struct cpp_reader* pfile) { def_or_undef_macro (pfile, "__ARM_FEATURE_DSP", TARGET_DSP_MULTIPLY); - def_or_undef_macro (pfile, "__ARM_FEATURE_QBIT", TARGET_ARM_QBIT); + def_or_undef_macro (pfile, "__ARM_FEATURE_QBIT", TARGET_ARM_QBIT); def_or_undef_macro (pfile, "__ARM_FEATURE_SAT", TARGET_ARM_SAT); def_or_undef_macro (pfile, "__ARM_FEATURE_CRYPTO", TARGET_CRYPTO); def_or_undef_macro (pfile, "__ARM_FEATURE_UNALIGNED", unaligned_access); + def_or_undef_macro (pfile, "__ARM_FEATURE_QRDMX", TARGET_NEON_RDMA); + if (TARGET_CRC32) builtin_define ("__ARM_FEATURE_CRC32"); - def_or_undef_macro (pfile, "__ARM_32BIT_STATE", TARGET_32BIT); + def_or_undef_macro (pfile, "__ARM_32BIT_STATE", TARGET_32BIT); if (TARGET_ARM_FEATURE_LDREX) -builtin_define_with_int_value ("__ARM_FEATURE_LDREX", +builtin_define_with_int_value ("__ARM_FEATURE_LDREX", TARGET_ARM_FEATURE_LDREX); else cpp_undef (pfile, "__ARM_FEATURE_LDREX"); -- 2.1.4
Re: [PATCH 4/7][ARM] Add ACLE feature macro for ARMv8.1 instructions.
On Tue, Dec 8, 2015 at 7:45 AM, Christian Bruelwrote: > Hi Matthew, > > > On 12/07/2015 05:07 PM, Matthew Wahab wrote: >> >> Ping. Updated patch attached. >> Matthew >> >> >> On 26/11/15 16:01, Matthew Wahab wrote: >>> >>> Hello, >>> >>> This patch adds the feature macro __ARM_FEATURE_QRDMX to indicate the >>> presence of the ARMv8.1 instructions vqrdmlah and vqrdmlsh. It is >>> defined when the instructions are available, as it is when >>> -march=armv8.1-a is enabled with suitable fpu options. >>> >>> Tested the series for arm-none-eabi with cross-compiled check-gcc on an >>> ARMv8.1 emulator. Also tested arm-none-linux-gnueabihf with native >>> bootstrap and make check. >>> >>> Ok for trunk? >>> Matthew >>> >>> gcc/ >>> 2015-11-26 Matthew Wahab >>> >>> * config/arm/arm-c.c (arm_cpu_builtins): Define >>> __ARM_FEATURE_QRDMX. >>> >> > > + if (TARGET_NEON_RDMA) > +builtin_define ("__ARM_FEATURE_QRDMX"); > + > > Since it depends on TARGET_NEON, could you please use > > def_or_undef_macro (pfile, "__ARM_FEATURE_QRDMX", TARGET_NEON_RDMA); > > instead ? I think that's what it should be - OK with that fixed. Ramana > > thanks > > Christian
Re: [PATCH 4/7][ARM] Add ACLE feature macro for ARMv8.1 instructions.
Ping. Updated patch attached. Matthew On 26/11/15 16:01, Matthew Wahab wrote: Hello, This patch adds the feature macro __ARM_FEATURE_QRDMX to indicate the presence of the ARMv8.1 instructions vqrdmlah and vqrdmlsh. It is defined when the instructions are available, as it is when -march=armv8.1-a is enabled with suitable fpu options. Tested the series for arm-none-eabi with cross-compiled check-gcc on an ARMv8.1 emulator. Also tested arm-none-linux-gnueabihf with native bootstrap and make check. Ok for trunk? Matthew gcc/ 2015-11-26 Matthew Wahab* config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_QRDMX. >From 721586aad45f7f75a0c198517602125c9d8f76f2 Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Wed, 17 Jun 2015 13:25:09 +0100 Subject: [PATCH 4/7] [ARM] Add __ARM_FEATURE_QRDMX Change-Id: I26cde507e8844a731e4fd857fbd30bf87f213f89 --- gcc/config/arm/arm-c.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c index 7dee28e..62c9304 100644 --- a/gcc/config/arm/arm-c.c +++ b/gcc/config/arm/arm-c.c @@ -68,6 +68,9 @@ arm_cpu_builtins (struct cpp_reader* pfile) def_or_undef_macro (pfile, "__ARM_FEATURE_UNALIGNED", unaligned_access); + if (TARGET_NEON_RDMA) +builtin_define ("__ARM_FEATURE_QRDMX"); + if (TARGET_CRC32) builtin_define ("__ARM_FEATURE_CRC32"); -- 2.1.4
[PATCH 4/7][ARM] Add ACLE feature macro for ARMv8.1 instructions.
Hello, This patch adds the feature macro __ARM_FEATURE_QRDMX to indicate the presence of the ARMv8.1 instructions vqrdmlah and vqrdmlsh. It is defined when the instructions are available, as it is when -march=armv8.1-a is enabled with suitable fpu options. Tested the series for arm-none-eabi with cross-compiled check-gcc on an ARMv8.1 emulator. Also tested arm-none-linux-gnueabihf with native bootstrap and make check. Ok for trunk? Matthew gcc/ 2015-11-26 Matthew Wahab* config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_QRDMX. >From 4009cf5c0455429a415be9ca239ac09ac86b17dd Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Wed, 17 Jun 2015 13:25:09 +0100 Subject: [PATCH 4/7] [ARM] Add __ARM_FEATURE_QRDMX Change-Id: I26cde507e8844a731e4fd857fbd30bf87f213f89 --- gcc/config/arm/arm-c.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c index c336a16..6bf740b 100644 --- a/gcc/config/arm/arm-c.c +++ b/gcc/config/arm/arm-c.c @@ -66,6 +66,8 @@ arm_cpu_builtins (struct cpp_reader* pfile) def_or_undef_macro (pfile, "__ARM_FEATURE_SAT", TARGET_ARM_SAT); def_or_undef_macro (pfile, "__ARM_FEATURE_CRYPTO", TARGET_CRYPTO); + if (TARGET_NEON_RDMA) +builtin_define ("__ARM_FEATURE_QRDMX"); if (unaligned_access) builtin_define ("__ARM_FEATURE_UNALIGNED"); if (TARGET_CRC32) -- 2.1.4