Re: [PATCH] testsuite: Fix gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c

2023-09-14 Thread Christophe Lyon via Gcc-patches
ping? On Fri, 8 Sept 2023 at 10:43, Christophe Lyon wrote: > The test was declaring 'int *carry;' and wrote to '*carry' without > initializing 'carry' first, leading to an attempt to write at address > zero, and a crash. > > Fix by declaring 'int carry;' and passing '' instead of 'carry' > as

Re: [PATCH] libstdc++: Remove some more unconditional uses of atomics

2023-09-14 Thread Christophe Lyon via Gcc-patches
On Thu, 14 Sept 2023 at 11:06, Jonathan Wakely wrote: > On Thu, 14 Sept 2023 at 09:41, Christophe Lyon > wrote: > > > > > > > > On Thu, 14 Sept 2023 at 10:17, Jonathan Wakely > wrote: > >> > >> On Thu, 14 Sept 2023 at 08:44, Christophe Lyon > >> wrote: > >> > > >> > Hi, > >> > > >> > > >> >

[PATCH v2 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-14 Thread Christophe Lyon via Gcc-patches
Some targets like arm-eabi with newlib and default settings rely on __sync_synchronize() to ensure synchronization. Newlib does not implement it by default, to make users aware they have to take special care. This makes a few tests fail to link. This patch requires the missing thread-fence

Re: [PATCH] libstdc++: Remove some more unconditional uses of atomics

2023-09-14 Thread Christophe Lyon via Gcc-patches
On Thu, 14 Sept 2023 at 10:17, Jonathan Wakely wrote: > On Thu, 14 Sept 2023 at 08:44, Christophe Lyon > wrote: > > > > Hi, > > > > > > On Wed, 13 Sept 2023 at 14:32, Jonathan Wakely > wrote: > >> > >> Tested x86_64-linux and aarch64-linux. I intend to push this to trunk. > >> > >> -- >8 -- >

Re: [PATCH] libstdc++: Remove some more unconditional uses of atomics

2023-09-14 Thread Christophe Lyon via Gcc-patches
Hi, On Wed, 13 Sept 2023 at 14:32, Jonathan Wakely wrote: > Tested x86_64-linux and aarch64-linux. I intend to push this to trunk. > > -- >8 -- > > These atomics cause linker errors on arm4t where __sync_synchronize is > not defined. For single-threaded targets we don't need the atomics. > > I

Re: [PATCH 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-13 Thread Christophe Lyon via Gcc-patches
On Tue, 12 Sept 2023 at 11:07, Jonathan Wakely wrote: > On Tue, 12 Sept 2023 at 08:59, Christophe Lyon > wrote: > > > > > > > > On Mon, 11 Sept 2023 at 18:11, Jonathan Wakely > wrote: > >> > >> On Mon, 11 Sept 2023 at 16:40, Christophe Lyon > >> wrote: > >> > > >> > > >> > > >> > On Mon, 11

Re: [PATCH] Tweak language choice in config-list.mk

2023-09-13 Thread Christophe Lyon via Gcc-patches
Hi! On Thu, 7 Sept 2023 at 11:30, Richard Sandiford via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > When I tried to use config-list.mk, the build for every triple except > the build machine's failed for m2. This is because, unlike other > languages, m2 builds target objects during all-gcc.

Re: [PATCH 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-12 Thread Christophe Lyon via Gcc-patches
On Mon, 11 Sept 2023 at 18:11, Jonathan Wakely wrote: > On Mon, 11 Sept 2023 at 16:40, Christophe Lyon > wrote: > > > > > > > > On Mon, 11 Sept 2023 at 17:22, Jonathan Wakely > wrote: > >> > >> On Mon, 11 Sept 2023 at 14:57, Christophe Lyon > >> wrote: > >> > > >> > > >> > > >> > On Mon, 11

Re: [PATCH 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-11 Thread Christophe Lyon via Gcc-patches
On Mon, 11 Sept 2023 at 17:22, Jonathan Wakely wrote: > On Mon, 11 Sept 2023 at 14:57, Christophe Lyon > wrote: > > > > > > > > On Mon, 11 Sept 2023 at 15:12, Jonathan Wakely > wrote: > >> > >> On Mon, 11 Sept 2023 at 13:36, Christophe Lyon > >> wrote: > >> > > >> > > >> > > >> > On Mon, 11

Re: [PATCH] analyzer: Move gcc.dg/analyzer tests to c-c++-common (2) [PR96395]

2023-09-11 Thread Christophe Lyon via Gcc-patches
Hi! On Wed, 6 Sept 2023 at 22:22, David Malcolm via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > On Wed, 2023-09-06 at 15:50 +0200, Benjamin Priour wrote: > > Hi David, > > Thanks for the review. > > > > > > > > On Tue, Sep 5, 2023 at 1:53 PM David Malcolm > > wrote: > > > > > On Mon,

Re: [PATCH 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-11 Thread Christophe Lyon via Gcc-patches
On Mon, 11 Sept 2023 at 15:12, Jonathan Wakely wrote: > On Mon, 11 Sept 2023 at 13:36, Christophe Lyon > wrote: > > > > > > > > On Mon, 11 Sept 2023 at 12:59, Jonathan Wakely > wrote: > >> > >> On Sun, 10 Sept 2023 at 20:31, Christophe Lyon > >> wrote: > >> > > >> > Some targets like arm-eabi

Re: [PATCH 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-11 Thread Christophe Lyon via Gcc-patches
On Mon, 11 Sept 2023 at 12:59, Jonathan Wakely wrote: > On Sun, 10 Sept 2023 at 20:31, Christophe Lyon > wrote: > > > > Some targets like arm-eabi with newlib and default settings rely on > > __sync_synchronize() to ensure synchronization. Newlib does not > > implement it by default, to make

[PATCH 2/2] libstdc++: Add dg-require-thread-fence in several tests

2023-09-10 Thread Christophe Lyon via Gcc-patches
Some targets like arm-eabi with newlib and default settings rely on __sync_synchronize() to ensure synchronization. Newlib does not implement it by default, to make users aware they have to take special care. This makes a few tests fail to link. This patch requires the missing thread-fence

[PATCH 1/2] testsuite: Add and use thread_fence effective-target

2023-09-10 Thread Christophe Lyon via Gcc-patches
Some targets like arm-eabi with newlib and default settings rely on __sync_synchronize() to ensure synchronization. Newlib does not implement it by default, to make users aware they have to take special care. This makes a few tests fail to link. This patch adds a new thread_fence effective

[PATCH] testsuite: Fix gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c

2023-09-08 Thread Christophe Lyon via Gcc-patches
The test was declaring 'int *carry;' and wrote to '*carry' without initializing 'carry' first, leading to an attempt to write at address zero, and a crash. Fix by declaring 'int carry;' and passing '' instead of 'carry' as parameter. 2023-09-08 Christophe Lyon gcc/testsuite/

Re: [Patch] contrib/gcc-changelog: Check whether revert-commit exists

2023-09-08 Thread Christophe Lyon via Gcc-patches
On Thu, 7 Sept 2023 at 11:45, Jakub Jelinek wrote: > On Thu, Sep 07, 2023 at 10:20:19AM +0200, Christophe Lyon via Gcc-patches > wrote: > > On Tue, 5 Sept 2023 at 16:38, Tobias Burnus > wrote: > > > > > That's based on the fail > > > https://gcc.gnu.or

Re: [Patch] contrib/gcc-changelog: Check whether revert-commit exists

2023-09-07 Thread Christophe Lyon via Gcc-patches
Hi! On Tue, 5 Sept 2023 at 16:38, Tobias Burnus wrote: > That's based on the fail > https://gcc.gnu.org/pipermail/gccadmin/2023q3/020349.html > and on the discussion on IRC. > Sorry I didn't notice the problem, nor the discussion on IRC, but I can see that my commits created the problem, sorry

[PATCH] testsuite: Remove unwanted 'dg-do run' from gcc.dg/vect tests

2023-09-04 Thread Christophe Lyon via Gcc-patches
Tests under gcc.dg/vect use check_vect_support_and_set_flags to set compilation flags as appropriate for the target, but they also set dg-do-what-default to 'run' or 'compile', depending on the actual target hardware (or simulator) capabilities. For instance on arm, we use options to enable Neon,

Re: [PATCH] analyzer: Add support of placement new and improved operator new [PR105948,PR94355]

2023-09-04 Thread Christophe Lyon via Gcc-patches
Hi Benjanmin, On Fri, 1 Sept 2023 at 17:45, David Malcolm via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > On Fri, 2023-09-01 at 16:48 +0200, Benjamin Priour wrote: > > Patch has been updated as per your suggestions and successfully > > regstrapped > > on x86_64-linux-gnu. > > The new

Re: [PATCH] libstdc++: Use GLIBCXX_CHECK_LINKER_FEATURES for cross-builds (PR111238)

2023-09-01 Thread Christophe Lyon via Gcc-patches
On Thu, 31 Aug 2023 at 21:43, Jonathan Wakely wrote: > On Thu, 31 Aug 2023 at 18:42, Jonathan Wakely wrote: > > > > On Thu, 31 Aug 2023 at 16:26, Christophe Lyon > > wrote: > > > > > > As discussed in PR104167 (comments #8 and below), and PR111238, using > > > -Wl,-gc-sections in the libstdc++

[PATCH] libstdc++: Use GLIBCXX_CHECK_LINKER_FEATURES for cross-builds (PR111238)

2023-08-31 Thread Christophe Lyon via Gcc-patches
As discussed in PR104167 (comments #8 and below), and PR111238, using -Wl,-gc-sections in the libstdc++ testsuite for arm-eabi (cross-toolchain) avoids link failures for a few tests: 27_io/filesystem/path/108636.cc std/time/clock/gps/1.cc std/time/clock/gps/io.cc std/time/clock/tai/1.cc

Re: [PATCH 5/9] arm: [MVE intrinsics] add support for p8 and p16 polynomial types

2023-08-29 Thread Christophe Lyon via Gcc-patches
On Tue, 29 Aug 2023 at 08:06, Prathamesh Kulkarni < prathamesh.kulka...@linaro.org> wrote: > On Tue, 15 Aug 2023 at 00:05, Christophe Lyon via Gcc-patches > wrote: > > > > Although they look like aliases for u8 and u16, we need to define them > > so that we

[PATCH 9/9] arm: [MVE intrinsics] rework vmullbq_poly vmulltq_poly

2023-08-14 Thread Christophe Lyon via Gcc-patches
Implement vmull[bt]q_poly using the new MVE builtins framework. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vmullbq_poly) (vmulltq_poly): New. * config/arm/arm-mve-builtins-base.def (vmullbq_poly) (vmulltq_poly): New.

[PATCH 4/9] arm: [MVE intrinsics] rework vmullbq_int vmulltq_int

2023-08-14 Thread Christophe Lyon via Gcc-patches
Implement vmullbq_int, vmulltq_int using the new MVE builtins framework. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vmullbq_int, vmulltq_int): New. * config/arm/arm-mve-builtins-base.def (vmullbq_int, vmulltq_int): New.

[PATCH 8/9] arm: [MVE intrinsics] add unspec_mve_function_exact_insn_vmull_poly

2023-08-14 Thread Christophe Lyon via Gcc-patches
Introduce a function that will be used to build vmull[bt]q_poly intrinsics that use poly types. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-functions.h (class unspec_mve_function_exact_insn_vmull_poly): New. ---

[PATCH 7/9] arm: [MVE intrinsics] add binary_widen_poly shape

2023-08-14 Thread Christophe Lyon via Gcc-patches
This patch adds the binary_widen_poly shape description. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (binary_widen_poly): New. * config/arm/arm-mve-builtins-shapes.h (binary_widen_poly): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc |

[PATCH 3/9] arm: [MVE intrinsics] add binary_widen shape

2023-08-14 Thread Christophe Lyon via Gcc-patches
This patch adds the binary_widen shape description. 2023-08-14 Christophe Lyon gcc/: * config/arm/arm-mve-builtins-shapes.cc (binary_widen): New. * config/arm/arm-mve-builtins-shapes.h (binary_widen): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 42

[PATCH 6/9] arm: [MVE intrinsics] add support for U and p formats in parse_element_type

2023-08-14 Thread Christophe Lyon via Gcc-patches
Introduce these two format specifiers to define the shape of vmull[bt]q_poly intrinsics. 'U' is used to define a double-width unsigned 'p' is used to define an element of 'poly' type. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc

[PATCH 5/9] arm: [MVE intrinsics] add support for p8 and p16 polynomial types

2023-08-14 Thread Christophe Lyon via Gcc-patches
Although they look like aliases for u8 and u16, we need to define them so that we can handle p8 and p16 suffixes with the general framework. They will be used by vmull[bt]q_poly intrinsics. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins.cc (type_suffixes):

[PATCH 2/9] arm: [MVE intrinsics] add unspec_mve_function_exact_insn_vmull

2023-08-14 Thread Christophe Lyon via Gcc-patches
Introduce a function that will be used to build vmull intrinsics with the _int variant. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-functions.h (class unspec_mve_function_exact_insn_vmull): New. --- gcc/config/arm/arm-mve-builtins-functions.h | 74

[PATCH 1/9] arm: [MVE intrinsics] factorize vmullbq vmulltq

2023-08-14 Thread Christophe Lyon via Gcc-patches
Factorize vmullbq, vmulltq so that they use the same parameterized names. 2023-08-14 Christophe Lyon gcc/ * config/arm/iterators.md (mve_insn): Add vmullb, vmullt. (isu): Add VMULLBQ_INT_S, VMULLBQ_INT_U, VMULLTQ_INT_S, VMULLTQ_INT_U. (supf): Add

[PATCH] arm: [MVE intrinsics] Remove dead check for float type in parse_element_type

2023-08-14 Thread Christophe Lyon via Gcc-patches
Fix a likely copy/paste error, where we check if ch == 'f' after we checked it's either 's' or 'u'. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): Remove dead check. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 3 +--

[PATCH] arm: [MVE intrinsics] fix binary_acca_int32 and binary_acca_int64 shapes

2023-08-14 Thread Christophe Lyon via Gcc-patches
Fix these two shapes, where we were failing to check the last non-predicate parameter. 2023-08-14 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): Fix loop bound. (binary_acca_int64): Likewise. ---

Re: [PATCH] ipa-sra: Don't consider CLOBBERS as writes preventing splitting

2023-08-11 Thread Christophe Lyon via Gcc-patches
On Fri, 11 Aug 2023 at 15:50, Martin Jambor wrote: > Hello, > > On Fri, Aug 11 2023, Christophe Lyon wrote: > > Hi Martin, > > > > > > On Fri, 4 Aug 2023 at 18:26, Martin Jambor wrote: > > > >> Hello, > >> > >> On Wed, Aug 02 2023, Richard Biener wrote: > >> > On Mon, Jul 31, 2023 at 7:05 PM

Re: [PATCH] ipa-sra: Don't consider CLOBBERS as writes preventing splitting

2023-08-11 Thread Christophe Lyon via Gcc-patches
Hi Martin, On Fri, 4 Aug 2023 at 18:26, Martin Jambor wrote: > Hello, > > On Wed, Aug 02 2023, Richard Biener wrote: > > On Mon, Jul 31, 2023 at 7:05 PM Martin Jambor wrote: > >> > >> Hi, > >> > >> when IPA-SRA detects whether a parameter passed by reference is > >> written to, it does not

Re: [PATCH] MATCH: [PR110937/PR100798] (a ? ~b : b) should be optimized to b ^ -(a)

2023-08-11 Thread Christophe Lyon via Gcc-patches
On Thu, 10 Aug 2023 at 20:52, Andrew Pinski wrote: > On Thu, Aug 10, 2023 at 6:39 AM Christophe Lyon via Gcc-patches > wrote: > > > > Hi Andrew, > > > > > > On Wed, 9 Aug 2023 at 21:20, Andrew Pinski via Gcc-patches < > > gcc-patches@gcc.gnu.o

Re: [PATCH] MATCH: [PR110937/PR100798] (a ? ~b : b) should be optimized to b ^ -(a)

2023-08-10 Thread Christophe Lyon via Gcc-patches
Hi Andrew, On Wed, 9 Aug 2023 at 21:20, Andrew Pinski via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > This adds a simple match pattern for this case. > I noticed it a couple of different places. > One while I was looking at code generation of a parser and > also while I was looking at

Re: [PATCH] testsuite: Fix gcc.dg/analyzer/allocation-size-multiline-[123].c [PR 110426]

2023-08-10 Thread Christophe Lyon via Gcc-patches
Hi! On Wed, 9 Aug 2023 at 22:30, David Malcolm wrote: > On Tue, 2023-08-08 at 15:01 +, Christophe Lyon wrote: > > For 32-bit newlib targets (e.g. arm-eabi) int32_t is "long int". > > > > Like previous patches in these tests, update the matching regexps to > > match "aka (long )?int". > > >

[PATCH] testsuite: Fix gcc.dg/analyzer/allocation-size-multiline-[123].c [PR 110426]

2023-08-08 Thread Christophe Lyon via Gcc-patches
For 32-bit newlib targets (e.g. arm-eabi) int32_t is "long int". Like previous patches in these tests, update the matching regexps to match "aka (long )?int". Tested on arm-eabi and aarch64-linux-gnu. 2023-08-08 Christophe Lyon gcc/testsuite/ PR analyzer/110426 *

Re: arm: Remove unsigned variant of vcaddq_m

2023-08-01 Thread Christophe Lyon via Gcc-patches
Hi Stam, On Tue, 1 Aug 2023 at 19:22, Stamatis Markianos-Wright via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > Hi all, > > The unsigned variants of the vcaddq_m operation are not needed within the > compiler, as the assembly output of the signed and unsigned versions of the > ops is

[PATCH][COMMITTED] doc: Fix spelling in arm_v8_1m_main_cde_mve_fp

2023-08-01 Thread Christophe Lyon via Gcc-patches
Fix spelling mistakes introduced by my previous patch in this area. Committed as obvious. 2023-08-01 Christophe Lyon gcc/ * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Fix spelling. --- gcc/doc/sourcebuild.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)

[PATCH 2/6] arm: [MVE intrinsics] rework vcaddq vhcaddq

2023-07-13 Thread Christophe Lyon via Gcc-patches
Implement vcaddq, vhcaddq using the new MVE builtins framework. 2023-07-13 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vcaddq_rot90) (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. * config/arm/arm-mve-builtins-base.def (vcaddq_rot90)

[PATCH 4/6] arm: [MVE intrinsics] rework vcmulq

2023-07-13 Thread Christophe Lyon via Gcc-patches
Implement vcmulq using the new MVE builtins framework. 2023-07-13 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vcmulq, vcmulq_rot90) (vcmulq_rot180, vcmulq_rot270): New. * config/arm/arm-mve-builtins-base.def (vcmulq, vcmulq_rot90)

[PATCH 5/6] arm: [MVE intrinsics] factorize vcmlaq

2023-07-13 Thread Christophe Lyon via Gcc-patches
Factorize vcmlaq builtins so that they use parameterized names. 2023-17-13 Christophe Lyon gcc/ * config/arm/arm_mve_builtins.def (vcmlaq_rot90_f) (vcmlaq_rot270_f, vcmlaq_rot180_f, vcmlaq_f): Add "_f" suffix. * config/arm/iterators.md (MVE_VCMLAQ_M): New.

[PATCH 3/6] arm: [MVE intrinsics factorize vcmulq

2023-07-13 Thread Christophe Lyon via Gcc-patches
Factorize vcmulq builtins so that they use parameterized names. We can merged them with vcadd. 2023-07-13 Christophe Lyon gcc/: * config/arm/arm_mve_builtins.def (vcmulq_rot90_f) (vcmulq_rot270_f, vcmulq_rot180_f, vcmulq_f): Add "_f" suffix. *

[PATCH 1/6] arm: [MVE intrinsics] Factorize vcaddq vhcaddq

2023-07-13 Thread Christophe Lyon via Gcc-patches
Factorize vcaddq, vhcaddq so that they use the same parameterized names. To be able to use the same patterns, we add a suffix to vcaddq. Note that vcadd uses UNSPEC_VCADDxx for builtins without predication, and VCADDQ_ROTxx_M_x (that is, not starting with "UNSPEC_"). The UNPEC_* names are also

[PATCH 6/6] arm: [MVE intrinsics] rework vcmlaq

2023-07-13 Thread Christophe Lyon via Gcc-patches
Implement vcmlaq using the new MVE builtins framework. 2023-07-13 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vcmlaq, vcmlaq_rot90) (vcmlaq_rot180, vcmlaq_rot270): New. * config/arm/arm-mve-builtins-base.def (vcmlaq, vcmlaq_rot90)

[PATCH 2/2] [testsuite, arm]: Make mve_fp_fpu[12].c accept single or double precision FPU

2023-07-13 Thread Christophe Lyon via Gcc-patches
This tests currently expect a directive containing .fpu fpv5-sp-d16 and thus may fail if the test is executed for instance with -march=armv8.1-m.main+mve.fp+fp.dp This patch accepts either fpv5-sp-d16 or fpv5-d16 to avoid the failure. 2023-06-28 Christophe Lyon gcc/testsuite/

[PATCH 1/2] [testsuite,arm]: Make nomve_fp_1.c require arm_fp

2023-07-13 Thread Christophe Lyon via Gcc-patches
If GCC is configured with the default (soft) -mfloat-abi, and we don't override the target_board test flags appropriately, gcc.target/arm/mve/general-c/nomve_fp_1.c fails for lack of -mfloat-abi=softfp or -mfloat-abi=hard, because it doesn't use dg-add-options arm_v8_1m_mve (on purpose, see

Re: [PATCH] ci: Add a linux CI

2023-07-12 Thread Christophe Lyon via Gcc-patches
Hi, On Sun, 9 Jul 2023 at 19:13, Tal Regev via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > Description: adding a ci in a github repo. Everytime a user will do a PR to > master branch or releases branches, it will activate the ci on their repo. > for example:

Re: [PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets

2023-07-10 Thread Christophe Lyon via Gcc-patches
On Mon, 10 Jul 2023 at 15:46, Kyrylo Tkachov wrote: > > > > -Original Message- > > From: Christophe Lyon > > Sent: Friday, July 7, 2023 8:52 AM > > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ; > > Richard Earnshaw > > Cc: Christophe Lyon > > Subject: [PATCH] testsuite: Add _link

[PATCH v2] arm: Fix MVE intrinsics support with LTO (PR target/110268)

2023-07-10 Thread Christophe Lyon via Gcc-patches
After the recent MVE intrinsics re-implementation, LTO stopped working because the intrinsics would no longer be defined. The main part of the patch is simple and similar to what we do for AArch64: - call handle_arm_mve_h() from arm_init_mve_builtins to declare the intrinsics when the compiler

[PATCH] testsuite: Add _link flavor for several arm_arch* and arm* effective-targets

2023-07-07 Thread Christophe Lyon via Gcc-patches
For arm targets, we generate many effective-targets with check_effective_target_FUNC_multilib and check_effective_target_arm_arch_FUNC_multilib which check if we can link and execute a simple program with a given set of flags/multilibs. In some cases however, it's possible to link but not to

[PATCH] doc: Document arm_v8_1m_main_cde_mve_fp

2023-07-07 Thread Christophe Lyon via Gcc-patches
The arm_v8_1m_main_cde_mve_fp family of effective targets was not documented when it was introduced. 2023-07-07 Christophe Lyon gcc/ * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Document. --- gcc/doc/sourcebuild.texi | 6 ++ 1 file changed, 6 insertions(+) diff

Re: [PATCH] arm: Fix MVE intrinsics support with LTO (PR target/110268)

2023-07-06 Thread Christophe Lyon via Gcc-patches
On Wed, 5 Jul 2023 at 19:07, Kyrylo Tkachov wrote: > Hi Christophe, > > > -Original Message- > > From: Christophe Lyon > > Sent: Monday, June 26, 2023 4:03 PM > > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ; > > Richard Sandiford > > Cc: Christophe Lyon > > Subject: [PATCH] arm: Fix

Re: [PATCH] arm: Fix MVE intrinsics support with LTO (PR target/110268)

2023-07-03 Thread Christophe Lyon via Gcc-patches
Ping? On Mon, 26 Jun 2023 at 17:02, Christophe Lyon wrote: > After the recent MVE intrinsics re-implementation, LTO stopped working > because the intrinsics would no longer be defined. > > The main part of the patch is simple and similar to what we do for > AArch64: > - call handle_arm_mve_h()

Re: [committed] libstdc++: Fix preprocessor conditions for std::from_chars [PR109921]

2023-06-29 Thread Christophe Lyon via Gcc-patches
On Thu, 29 Jun 2023 at 14:50, Jonathan Wakely wrote: > > > On Thu, 1 Jun 2023 at 12:05, Jonathan Wakely > wrote: > >> On Thu, 1 Jun 2023 at 10:30, Christophe Lyon via Libstdc++ >> wrote: >> > >> > Hi, >> > >> > >> > On Wed, 31 May 2023 at 14:25, Jonathan Wakely via Gcc-patches < >> >

[PATCH 2/2] [testsuite, arm]: Make mve_fp_fpu[12].c accept single or double precision FPU

2023-06-28 Thread Christophe Lyon via Gcc-patches
This tests currently expect a directive containing .fpu fpv5-sp-d16 and thus may fail if the test is executed for instance with -march=armv8.1-m.main+mve.fp+fp.dp This patch accepts either fpv5-sp-d16 or fpv5-d16 to avoid the failure. 2023-06-28 Christophe Lyon gcc/testsuite/

[PATCH 1/2] [testsuite,arm]: Make nomve_fp_1.c require arm_fp

2023-06-28 Thread Christophe Lyon via Gcc-patches
If GCC is configured with the default (soft) -mfloat-abi, and we don't override the target_board test flags appropriately, gcc.target/arm/mve/general-c/nomve_fp_1.c fails for lack of -mfloat-abi=softfp or -mfloat-abi=hard, because it doesn't use dg-add-options arm_v8_1m_mve (on purpose, see

Re: [PATCH] arm: Fix MVE intrinsics support with LTO (PR target/110268)

2023-06-26 Thread Christophe Lyon via Gcc-patches
On Mon, 26 Jun 2023 at 17:30, Prathamesh Kulkarni < prathamesh.kulka...@linaro.org> wrote: > On Mon, 26 Jun 2023 at 20:33, Christophe Lyon via Gcc-patches > wrote: > > > > After the recent MVE intrinsics re-implementation, LTO stopped working > > because the intrins

[PATCH] arm: Fix MVE intrinsics support with LTO (PR target/110268)

2023-06-26 Thread Christophe Lyon via Gcc-patches
After the recent MVE intrinsics re-implementation, LTO stopped working because the intrinsics would no longer be defined. The main part of the patch is simple and similar to what we do for AArch64: - call handle_arm_mve_h() from arm_init_mve_builtins to declare the intrinsics when the compiler

Re: [committed] libstdc++: Fix preprocessor conditions for std::from_chars [PR109921]

2023-06-01 Thread Christophe Lyon via Gcc-patches
Hi, On Wed, 31 May 2023 at 14:25, Jonathan Wakely via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > Tested powerpc64le-linux. Pushed to trunk. > > -- >8 -- > > We use the from_chars_strtod function with __strtof128 to read a > _Float128 value, but from_chars_strtod is not defined unless

Re: [r14-1452 Regression] FAIL: g++.dg/pr104547.C -std=gnu++17 scan-tree-dump-not vrp2 "_M_default_append" on Linux/x86_64

2023-06-01 Thread Christophe Lyon via Gcc-patches
Hi! We have noticed the same problem on aarch64, if that's easier to reproduce. Thanks, Christophe On Thu, 1 Jun 2023 at 06:20, haochen.jiang via Gcc-regression < gcc-regress...@gcc.gnu.org> wrote: > On Linux/x86_64, > > fb409a15d9babc78fe1d9957afcbaf1102cce58f is the first bad commit >

[PATCH v2] aarch64: Add pattern for bswap + rotate [PR 110039]

2023-05-31 Thread Christophe Lyon via Gcc-patches
After commit g:d8545fb2c71683f407bfd96706103297d4d6e27b, we missed a pattern to match the new GIMPLE form. With this patch, gcc.target/aarch64/rev16_2.c passes again. 2023-05-31 Christophe Lyon PR target/110039 gcc/ * config/aarch64/aarch64.md (aarch64_rev16si2_alt3):

Re: [PATCH] aarch64: Add pattern for bswap + rotate [PR 110039]

2023-05-31 Thread Christophe Lyon via Gcc-patches
On Wed, 31 May 2023 at 11:49, Richard Sandiford wrote: > Christophe Lyon writes: > > After commit g:d8545fb2c71683f407bfd96706103297d4d6e27b, we missed a > > pattern to match the new GIMPLE form. > > > > With this patch, gcc.target/aarch64/rev16_2.c passes again. > > > > 2023-05-31 Christophe

[PATCH] aarch64: Add pattern for bswap + rotate [PR 110039]

2023-05-31 Thread Christophe Lyon via Gcc-patches
After commit g:d8545fb2c71683f407bfd96706103297d4d6e27b, we missed a pattern to match the new GIMPLE form. With this patch, gcc.target/aarch64/rev16_2.c passes again. 2023-05-31 Christophe Lyon PR target/110039 gcc/ * config/aarch64/aarch64.md (aarch64_rev162_alt3):

Re: [PATCH] [arm] testsuite: make mve_intrinsic_type_overloads-int.c libc-agnostic

2023-05-30 Thread Christophe Lyon via Gcc-patches
Ping? On Tue, 23 May 2023 at 16:59, Stamatis Markianos-Wright < stam.markianos-wri...@arm.com> wrote: > > On 23/05/2023 15:41, Christophe Lyon wrote: > > Glibc defines int32_t as 'int' while newlib defines it as 'long int'. > > > > Although these correspond to the same size, g++ complains when

[PATCH] [arm][testsuite]: Fix ACLE data-intrinsics testcases

2023-05-30 Thread Christophe Lyon via Gcc-patches
data-intrinsics-assembly.c forces -march=armv6 using dg-add-options arm_arch_v6, which implicitly adds -mfloat-abi=softfp. However, for a toolchain configured for arm-linux-gnueabihf and --with-arch=armv7-a, the testcase will fail when including arm_acle.h (which includes stdint.h, which will

[PATCH 1/1] arm: merge MVE_5 and MVE_6 iterators

2023-05-25 Thread Christophe Lyon via Gcc-patches
MVE_5 and MVE_6 iterators are the same: this patch replaces MVE_6 with MVE_5 everywhere in mve.md and removes MVE_6 from iterators.md. 2023-05-25 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_6): Remove. * config/arm/mve.md: Replace MVE_6 with MVE_5. ---

Re: [PATCH] tree-optimization/109849 - missed code hoisting

2023-05-24 Thread Christophe Lyon via Gcc-patches
On Wed, 24 May 2023 at 12:41, Richard Biener wrote: > On Wed, 24 May 2023, Christophe Lyon wrote: > > > Hi Richard, > > > > On Tue, 23 May 2023 at 11:55, Richard Biener via Gcc-patches < > > gcc-patches@gcc.gnu.org> wrote: > > > > > The following fixes code hoisting to properly consider

Re: [PATCH] tree-optimization/109849 - missed code hoisting

2023-05-24 Thread Christophe Lyon via Gcc-patches
Hi Richard, On Tue, 23 May 2023 at 11:55, Richard Biener via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > The following fixes code hoisting to properly consider ANTIC_OUT instead > of ANTIC_IN. That's a bit expensive to re-compute but since we no > longer iterate we're doing this only once

[PATCH] [arm] testsuite: make mve_intrinsic_type_overloads-int.c libc-agnostic

2023-05-23 Thread Christophe Lyon via Gcc-patches
Glibc defines int32_t as 'int' while newlib defines it as 'long int'. Although these correspond to the same size, g++ complains when using the

[PATCH] testsuite, analyzer: Fix testcases with fclose

2023-05-23 Thread Christophe Lyon via Gcc-patches
The gcc.dg/analyzer/data-model-4.c and gcc.dg/analyzer/torture/conftest-1.c fail with recent glibc headers and succeed with older headers. The new error message is: warning: use of possibly-NULL 'f' where non-null expected [CWE-690] [-Wanalyzer-possible-null-argument] Like similar previous

Re: [PATCH 01/26] arm: [MVE intrinsics] add binary_widen_opt_n shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
On 5/12/23 12:17, Kyrylo Tkachov wrote: -Original Message- From: Christophe Lyon Sent: Friday, May 12, 2023 10:39 AM To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov ; Richard Earnshaw ; Richard Sandiford Cc: Christophe Lyon Subject: [PATCH 01/26] arm: [MVE intrinsics] add

[PATCH 26/26] arm: [MVE intrinsics] rework vsriq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vsriq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vsriq): New. * config/arm/arm-mve-builtins-base.def (vsriq): New. * config/arm/arm-mve-builtins-base.h (vsriq): New. *

[PATCH 16/26] arm: [MVE intrinsics] factorize vfmaq vfmsq vfmasq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vmvnq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_FP_M_BINARY): Add VFMAQ_M_F, VFMSQ_M_F. (MVE_FP_M_N_BINARY): Add VFMAQ_M_N_F, VFMASQ_M_N_F. (MVE_VFMxQ_F, MVE_VFMAxQ_N_F): New.

[PATCH 25/26] arm: [MVE intrinsics] factorize vsriq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vsriq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (mve_insn): Add vsri. * config/arm/mve.md (mve_vsriq_n_): Rename into ... (@mve_q_n_): .,. this. (mve_vsriq_m_n_): Rename into ...

[PATCH 20/26] arm: [MVE intrinsics] rework vpselq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vpselq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vpselq): New. * config/arm/arm-mve-builtins-base.def (vpselq): New. * config/arm/arm-mve-builtins-base.h (vpselq): New. *

[PATCH 17/26] arm: [MVE intrinsics] rework vfmaq vfmasq vfmsq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vfmaq, vfmasq, vfmsq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vfmaq, vfmasq, vfmsq): New. * config/arm/arm-mve-builtins-base.def (vfmaq, vfmasq, vfmsq): New. *

[PATCH 21/26] arm: [MVE intrinsics] add ternary_lshift shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the ternary_lshift shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (ternary_lshift): New. * config/arm/arm-mve-builtins-shapes.h (ternary_lshift): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 38

[PATCH 14/26] arm: [MVE intrinsics] rework vmvnq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vmvnq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_N_NO_F): New. (vmvnq): New. * config/arm/arm-mve-builtins-base.def (vmvnq): New. *

[PATCH 12/26] arm: [MVE intrinsics] add mvn shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the mvn shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (mvn): New. * config/arm/arm-mve-builtins-shapes.h (mvn): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 49 +++

[PATCH 18/26] arm: [MVE intrinsics] factorize vpselq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vpselq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm.cc (arm_expand_vcond): Use gen_mve_q instead of gen_mve_vpselq. * config/arm/iterators.md (MVE_VPSELQ_F): New. (mve_insn): Add vpsel.

[PATCH 24/26] arm: [MVE intrinsics] add ternary_rshift shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the ternary_rshift shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (ternary_rshift): New. * config/arm/arm-mve-builtins-shapes.h (ternary_rshift): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 38

[PATCH 08/26] arm: [MVE intrinsics] rework vqshluq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vqshluq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vqshluq): New. * config/arm/arm-mve-builtins-base.def (vqshluq): New. * config/arm/arm-mve-builtins-base.h (vqshluq): New. *

[PATCH 15/26] arm: [MVE intrinsics] add ternary_opt_n shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the ternary_opt_n shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (ternary_opt_n): New. * config/arm/arm-mve-builtins-shapes.h (ternary_opt_n): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 30

[PATCH 13/26] arm: [MVE intrinsics] factorize vmvnq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vmvnq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (mve_insn): Add vmvn. * config/arm/mve.md (mve_vmvnq_n_): Rename into ... (@mve_q_n_): ... this. (mve_vmvnq_m_): Rename into ...

[PATCH 23/26] arm: [MVE intrinsics] rework vsliq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vsliq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vsliq): New. * config/arm/arm-mve-builtins-base.def (vsliq): New. * config/arm/arm-mve-builtins-base.h (vsliq): New. *

[PATCH 22/26] arm: [MVE intrinsics] factorize vsliq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vsliq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (mve_insn>): Add vsli. * config/arm/mve.md (mve_vsliq_n_): Rename into ... (@mve_q_n_): ... this. (mve_vsliq_m_n_): Rename into ...

[PATCH 19/26] arm: [MVE intrinsics] add vpsel shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the vpsel shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (vpsel): New. * config/arm/arm-mve-builtins-shapes.h (vpsel): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 39 +++

[PATCH 10/26] arm: [MVE intrinsics] factorize vrbsrq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vrbsrq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_VBRSR_M_N_FP, MVE_VBRSR_N_FP): New. (mve_insn): Add vbrsr. * config/arm/mve.md (mve_vbrsrq_n_f): Rename into ... (@mve_q_n_f):

[PATCH 02/26] arm: [MVE intrinsics] factorize vqdmullbq vqdmulltq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vqdmullbq, vqdmulltq builtins so that they use the same parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_VQDMULLxQ, MVE_VQDMULLxQ_M) (MVE_VQDMULLxQ_M_N, MVE_VQDMULLxQ_N): New. (mve_insn): Add vqdmullb, vqdmullt.

[PATCH 11/26] arm: [MVE intrinsics] rework vbrsrq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vbrsrq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vbrsrq): New. * config/arm/arm-mve-builtins-base.def (vbrsrq): New. * config/arm/arm-mve-builtins-base.h (vbrsrq): New. *

[PATCH 04/26] arm: [MVE intrinsics] factorize vrmlaldavhaq vrmlaldavhaxq vrmlsldavhaq vrmlsldavhaxq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vrmlaldavhaq, vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq builtins so that they use the same parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (MVE_VRMLxLDAVHAxQ) (MVE_VRMLxLDAVHAxQ_P): New. (mve_insn): Add vrmlaldavha,

[PATCH 03/26] arm: [MVE intrinsics] rework vqdmullbq vqdmulltq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vqdmullbq, vqdmulltq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vqdmullbq, vqdmulltq): New. * config/arm/arm-mve-builtins-base.def (vqdmullbq, vqdmulltq): New. *

[PATCH 05/26] arm: [MVE intrinsics] rework vrmlaldavhaq vrmlaldavhaxq vrmlsldavhaq vrmlsldavhaxq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Implement vrmlaldavhaq, vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq using the new MVE builtins framework. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vrmlaldavhaq) (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. *

[PATCH 06/26] arm: [MVE intrinsics] add binary_lshift_unsigned shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the binary_lshift_unsigned shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (binary_lshift_unsigned): New. * config/arm/arm-mve-builtins-shapes.h (binary_lshift_unsigned): New. ---

[PATCH 07/26] arm: [MVE intrinsics] factorize vqshluq

2023-05-12 Thread Christophe Lyon via Gcc-patches
Factorize vqshluq builtins so that they use parameterized names. 2022-12-12 Christophe Lyon gcc/ * config/arm/iterators.md (mve_insn): Add vqshlu. (supf): Add VQSHLUQ_M_N_S, VQSHLUQ_N_S. (VQSHLUQ_M_N, VQSHLUQ_N): New. * config/arm/mve.md

[PATCH 01/26] arm: [MVE intrinsics] add binary_widen_opt_n shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the binary_widen_opt_n shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (binary_widen_opt_n): New. * config/arm/arm-mve-builtins-shapes.h (binary_widen_opt_n): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc

[PATCH 09/26] arm: [MVE intrinsics] add binary_imm32 shape

2023-05-12 Thread Christophe Lyon via Gcc-patches
This patch adds the binary_imm32 shape description. 2022-12-12 Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc (binary_imm32): New. * config/arm/arm-mve-builtins-shapes.h (binary_imm32): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 27

  1   2   3   4   5   6   7   8   9   10   >