Re: [PATCH] testsuite: arm: Use effective-target for memset-inline* tests

2024-11-04 Thread Richard Earnshaw (lists)
On 01/11/2024 19:18, Torbjorn SVENSSON wrote: > > > On 2024-11-01 19:40, Richard Earnshaw (lists) wrote: >> On 24/10/2024 09:50, Torbjörn SVENSSON wrote: >>> Ok for trunk and releases/gcc-14? >>> >>> -- >>> >>> As these tests are set to execute and require neon hardware to do so, >>> add the mis

Re: [PATCH v2] aarch64: Add support for FUJITSU-MONAKA (-mcpu=fujitsu-monaka) CPU

2024-11-04 Thread Richard Sandiford
"Yuta Mukai (Fujitsu)" writes: > Thank you for the reviews! I attached a patch that fixes the problems. > >>> On 31 Oct 2024, at 11:50, Richard Sandiford >>> wrote: >>> >>> "Yuta Mukai (Fujitsu)" writes: Hello, This patch adds initial support for FUJITSU-MONAKA CPU, which we ar

Re: [PATCH] testsuite: arm: Use effective-target for memset-inline* tests

2024-11-04 Thread Torbjorn SVENSSON
On 2024-11-04 12:44, Richard Earnshaw (lists) wrote: On 01/11/2024 19:18, Torbjorn SVENSSON wrote: On 2024-11-01 19:40, Richard Earnshaw (lists) wrote: On 24/10/2024 09:50, Torbjörn SVENSSON wrote: Ok for trunk and releases/gcc-14? -- As these tests are set to execute and require neon h

[PATCH] aarch64: Fix incorrect LS64 documentation

2024-11-04 Thread Richard Sandiford
As Yuta Mukai pointed out, the manual wrongly said that LS64 is enabled by default for Armv8.7-A and above, and for Armv9.2-A and above. LS64 is not mandatory at any architecture level (and the code correctly implemented that). I think this was a leftover from an early version of the spec. gcc/

Re: [PATCH 00/15] Support for 64-bit location_t

2024-11-04 Thread Richard Biener
On Sun, Nov 3, 2024 at 11:23 PM Lewis Hyatt wrote: > > Hello- > > There is no shortage of PRs complaining about things that go wrong when the > line_maps data structure in libcpp starts to run into its limits. Being > restricted to a 32-bit location_t to cover all source locations means it has > t

Re: [PATCH] Allow limited extended asm at toplevel [PR41045]

2024-11-04 Thread Jakub Jelinek
On Sat, Nov 02, 2024 at 08:25:45AM +0100, Jakub Jelinek wrote: > So, I think the main question to decide is if we want to keep existing > standard constraints work as is even in toplevel asm and add new constraints > which will allow more stuff (like "i" which will just allow SYMBOL_REFs > even wit

Re: [PATCH 1/6] PR 117048: simplify-rtx: Simplify (X << C1) [+, ^] (X >> C2) into ROTATE

2024-11-04 Thread Kyrylo Tkachov
> On 4 Nov 2024, at 13:55, Richard Biener wrote: > > On Thu, Oct 31, 2024 at 4:30 PM Jeff Law wrote: >> >> >> >> On 10/27/24 10:21 AM, Kyrylo Tkachov wrote: >>> Hi all, >>> >>> simplify-rtx can transform (X << C1) | (X >> C2) into ROTATE (X, C1) when >>> C1 + C2 == mode-width. But the tra

[PATCH v2 0/2] RISC-V: Vector memcpy/memset fixes and improvements

2024-11-04 Thread Craig Blackmore
Patch 1-5 of v1 have already been pushed. This is v2 of patch 6 and 7 of that series. Changes since v1: RISC-V: Make vectorized memset handle more cases * Removed vector memset loop generation. RISC-V: Disable by pieces for vector setmem length > UNITS_PER_WORD * No changes. gcc/config/riscv/ri

[PATCH v2 2/2] RISC-V: Disable by pieces for vector setmem length > UNITS_PER_WORD

2024-11-04 Thread Craig Blackmore
For fast unaligned access targets, by pieces uses up to UNITS_PER_WORD size pieces resulting in more store instructions than needed. For example gcc.target/riscv/rvv/base/setmem-2.c:f1 built with `-O3 -march=rv64gcv -mtune=thead-c906`: ``` f1: vsetivlizero,8,e8,mf2,ta,ma vm

[PATCH v2 1/2] RISC-V: Make vectorized memset handle more cases

2024-11-04 Thread Craig Blackmore
`expand_vec_setmem` only generated vectorized memset if it fitted into a single vector store of at least (TARGET_MIN_VLEN / 8) bytes. Also, without dynamic LMUL the operation was always TARGET_MAX_LMUL even if it would have fitted a smaller LMUL. Allow vectorized memset to be generated for smalle

Re: [PATCH 1/6] PR 117048: simplify-rtx: Simplify (X << C1) [+, ^] (X >> C2) into ROTATE

2024-11-04 Thread Kyrylo Tkachov
> On 4 Nov 2024, at 15:20, Jakub Jelinek wrote: > > On Mon, Nov 04, 2024 at 02:31:29PM +0100, Jakub Jelinek wrote: >> On Mon, Nov 04, 2024 at 01:07:33PM +, Kyrylo Tkachov wrote: This seems to have broken bootstrap on multiple targets and is causing the arm CI to hang, miscompiling

[PATCH v3] C: Support Function multiversionsing in the C front end

2024-11-04 Thread alfie.richards
Hi, Joseph pointed out a pretty major flaw that this previously did not merge fmv declarations and definitons or check properly for duplicate definitons. I rewrote the fmv logic and moved it to pushdecl resulting in a patch that I much prefer. The logic in pushdecl now detects the FMV case and a

[PATCH v2] c++: Defer -fstrong-eval-order processing to template instantiation time [PR117158]

2024-11-04 Thread Simon Martin
Hi Jason, On 1 Nov 2024, at 16:31, Jason Merrill wrote: > On 11/1/24 5:07 AM, Simon Martin wrote: >> Since r10-3793-g1a37b6d9a7e57c, we ICE upon the following valid code >> with -std=c++17 and above >> >> === cut here === >> struct Base { >>unsigned int *intarray; >> }; >> template struct Su

Re: [COMMITTED] PR tree-optimization/117398 - Don't call invert on VARYING.

2024-11-04 Thread Richard Biener
> Am 04.11.2024 um 16:01 schrieb Andrew MacLeod : > > The invert() range operation is not supported on values of either VARYING or > UNDEFINED. Primarily this is because UNDEFINED has no type, which makes it > impossible to perform invert() twice on a value, and produce that same value. >

Re: [COMMITTED] PR tree-optimization/117398 - Don't call invert on VARYING.

2024-11-04 Thread Andrew MacLeod
On 11/4/24 10:27, Richard Biener wrote: Am 04.11.2024 um 16:01 schrieb Andrew MacLeod : The invert() range operation is not supported on values of either VARYING or UNDEFINED. Primarily this is because UNDEFINED has no type, which makes it impossible to perform invert() twice on a value,

Re: [COMMITTED] PR tree-optimization/117398 - Don't call invert on VARYING.

2024-11-04 Thread Richard Biener
> Am 04.11.2024 um 16:32 schrieb Andrew MacLeod : > >  >> On 11/4/24 10:27, Richard Biener wrote: >> Am 04.11.2024 um 16:01 schrieb Andrew MacLeod : >>> >>> The invert() range operation is not supported on values of either VARYING >>> or UNDEFINED. Primarily this is because UNDEFINED

Re: [PATCHv2 0/3] ada: Add GNU/Hurd x86_64 support

2024-11-04 Thread Marc Poulhiès
Samuel Thibault writes: > I reworked the patch to factorize the bsd signal definitions. > I have split off the system definitions because the priority range of > GNU/Mach has diverged from the original BSD kernels. > gcc/ada/ChangeLog | 17 ++ Hello, The changes lo

Re: [PATCH 1/6] PR 117048: simplify-rtx: Simplify (X << C1) [+, ^] (X >> C2) into ROTATE

2024-11-04 Thread Kyrylo Tkachov
> On 4 Nov 2024, at 16:03, Kyrylo Tkachov wrote: > > > >> On 4 Nov 2024, at 15:20, Jakub Jelinek wrote: >> >> On Mon, Nov 04, 2024 at 02:31:29PM +0100, Jakub Jelinek wrote: >>> On Mon, Nov 04, 2024 at 01:07:33PM +, Kyrylo Tkachov wrote: > This seems to have broken bootstrap on multiple

Re: [PATCH 1/6] PR 117048: simplify-rtx: Simplify (X << C1) [+, ^] (X >> C2) into ROTATE

2024-11-04 Thread Jakub Jelinek
On Mon, Nov 04, 2024 at 03:43:29PM +, Kyrylo Tkachov wrote: > Here’s a rework of the original patch which now doesn’t call simplify_rtx on > its operands in the new simplify_rotate_op. > It wasn’t necessary to do the necessary optimization and it was blowing up > the recursion depth needlessl

Re: [PATCH] testsuite: arm: Use effective-target for attr-neon* tests

2024-11-04 Thread Richard Earnshaw (lists)
On 20/10/2024 16:51, Torbjörn SVENSSON wrote: > Ok for trunk and releases/gcc-14? > > -- > > The tests assume that a neon fpu is avialable and fails it not, so > explicitly require it. > diff --git a/gcc/testsuite/gcc.target/arm/attr-neon2.c > b/gcc/testsuite/gcc.target/arm/attr-neon2.c > index

Re: [PATCH] testsuite: arm: Force hard ABI for pr51534.c test

2024-11-04 Thread Richard Earnshaw (lists)
On 31/10/2024 18:24, Torbjörn SVENSSON wrote: > Ok for trunk and releases/gcc-14? > > -- > > The test case is written in a way that it should be using hard float > ABI, but the use of -mfloat-abi=hard could be overriden by > dg-add-options arm_neon. Ensure that -mfloat-abi=hard is always after. >

Re: [COMMITTED] PR tree-optimization/117398 - Don't call invert on VARYING.

2024-11-04 Thread Andrew MacLeod
Am 04.11.2024 um 16:32 schrieb Andrew MacLeod :  On 11/4/24 10:27, Richard Biener wrote: Am 04.11.2024 um 16:01 schrieb Andrew MacLeod : The invert() range operation is not supported on values of either VARYING or UNDEFINED. Primarily this is because UNDEFINED has no type, which make

Re: [PATCH] testsuite: arm: Use effective-target for pr68620 and pr78041 tests

2024-11-04 Thread Richard Earnshaw (lists)
On 31/10/2024 18:26, Torbjörn SVENSSON wrote: > Ok for trunk and releases/gcc-14? > > -- > > Tests uses neon, so add effective-target arm_neon. > > gcc/testsuite/ChangeLog: > > * gcc.target/arm/pr68620.c: Use effective-target arm_neon. > * gcc.target/arm/pr78041.c: Likewise. > > Si

[COMMITTED 04/38] ada: Assignment local variable only when it is used

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Code cleanup; semantics is unaffected. gcc/ada/ChangeLog: * sem_res.adb (In_Decl): Rename and move local variable where it is used. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_res.adb | 16 1 file changed, 8 insert

[COMMITTED 08/38] ada: Missing precondition runtime check in inherited primitive

2024-11-04 Thread Marc Poulhiès
From: Javier Miranda When a derived tagged type implements interface types in addition to deriving from its parent type, and a primitive inherited from its parent type corresponds to an inherited primitive that has class-wide preconditions, then the generated code fails to check the class-wide pr

[COMMITTED 01/38] ada: Fix asymmetry in resolution of unary intrinsic operators

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Resolution of binary and unary intrinsic operators differed when expansion was inactive. In particular, this affected GNATprove handling of Ada.Real_Time."abs" operator. This patch makes unary resolution behave like binary resolution. gcc/ada/ChangeLog: * sem_res.ad

[COMMITTED 06/38] ada: Minor whitespace tuning

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Code cleanup. gcc/ada/ChangeLog: * exp_ch4.adb (Expand_N_Op_Multiply): Remove extra whitespace. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_ch4.adb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/ada/exp_ch4.a

[COMMITTED 03/38] ada: Add null exclusion to avoid run-time checks

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek By declaring access parameter with non-null qualifier, the compiler should avoid generating run-time checks in debug builds, resulting in a tiny performance improvement. Code cleanup; semantics is unaffected. gcc/ada/ChangeLog: * sem_res.adb (Type_In_P): Add non-nu

[COMMITTED 13/38] ada: Move formal hash tables from gnat repository to the SPARK library

2024-11-04 Thread Marc Poulhiès
From: Claire Dross The formal containers have been part of the SPARK library for some time now. However, some units used only by these containers are still part of the gnat repository. Move them to the SPARK library. gcc/ada/ChangeLog: * Makefile.rtl: Remove references to moved units.

[COMMITTED 18/38] ada: Tweak CPU affinity handling

2024-11-04 Thread Marc Poulhiès
From: Ronan Desplanques The primary motivation for this change is making the taskset command line tool work as expected for tasking programs that don't use features from section D.16 of the Ada reference manual. A couple of components are added to the ATCB record to make it possible to tell value

[COMMITTED 05/38] ada: Avoid run-time conversion of 0 from Int to Uint

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Code cleanup and tiny performance improvement; semantics is unaffected. gcc/ada/ChangeLog: * exp_ch4.adb (Expand_N_Op_Subtract): Replace numeric literal with universal integer constant, just like it is done in expansion of addition operator. Tested

[COMMITTED 10/38] ada: Minor tweaks in comments

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou They are related to the special support for text encoding on Windows. gcc/ada/ChangeLog: * adaint.c: Replace initialize.c with rtinit.c in comment. * sysdep.c (__gnat_set_mode): Fix reference in comment. * libgnat/i-cstrea.ads (Content_Encoding): Adju

[COMMITTED 20/38] ada: Add Invocation node to the SARIF report

2024-11-04 Thread Marc Poulhiès
From: Viljar Indus Add an invocation node to the SARIF report that contains the command line use to activate gnat and whether the execution was successful or not. gcc/ada/ChangeLog: * diagnostics-sarif_emitter.adb (Print_Runs): Add printing for the invocation node that consists

[COMMITTED 15/38] ada: Refactor exception declarations from Interfaces.CHERI to separate package

2024-11-04 Thread Marc Poulhiès
From: Daniel King Exception declarations require elaboration on the full run-time to register the exceptions. The package Interfaces.CHERI, however, is used on bare-metal targets during early initialization, before elaboration and is therefore marked No_Elaboration_Code_All. Refactoring the excep

[COMMITTED 11/38] ada: Fix internal error on alignment clause for type declared in generic unit

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou The front-end raises Program_Error on an alignment clause for a type in a generic unit that references the alignment of another type in the unit. gcc/ada/ChangeLog: PR ada/117051 * freeze.adb (Freeze_Entity): Call the layout procedure on subtypes decl

[COMMITTED 07/38] ada: Fix visibility of Taft amendment types

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek When uninstalling private package declarations we must mark Taft amendment types hidden, just like we mark other types. Looking at previous revisions of this code, it is quite clear that this bug comes from a code evolution and marking types should happen in all ELSE branche

[COMMITTED 25/38] ada: Tweak description of new predicate

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou The existing comment is a bit too vague. gcc/ada/ChangeLog: * exp_aggr.ads (Is_Two_Pass_Aggregate): Beef up comment. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_aggr.ads | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/

[COMMITTED 23/38] ada: Missing runtime check in interpolated string

2024-11-04 Thread Marc Poulhiès
From: Javier Miranda When the type imposed by the context for an interpolated string is constrained, the compiler silently omits adding a runtime check. gcc/ada/ChangeLog: * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Use the base type of the type imposed by the context

[COMMITTED 16/38] ada: Build and runtime support for CheriBSD

2024-11-04 Thread Marc Poulhiès
From: Daniel King SIGPROT is a new signal on CheriBSD that signals a CHERI protection violation. The full runtime converts these to the appropriate Ada exception declared in Interfaces.CHERI.Exceptions. gcc/ada/ChangeLog: * Makefile.rtl: Build support for Morello CheriBSD. * lib

[COMMITTED 26/38] ada: Update documentation for -gnatVxx switches

2024-11-04 Thread Marc Poulhiès
From: Viljar Indus Imporve the wording to explicitly state which options are turned on by -gnatVa and that -gnatVd is enabled by default. It can be somewhat hard to decifer that information from the old wording. Especially when compared to -gnatWxx switches where there is an elaborate scheme for

[COMMITTED 24/38] ada: Display message on reproducer generation failure

2024-11-04 Thread Marc Poulhiès
From: Ronan Desplanques Before this patch, nothing was reported to the user when an exception was raised during generation of a minimal reproducer. This patch fixes this. gcc/ada/ChangeLog: * comperr.adb (Compiler_Abort): Display message in exception handler. Tested on x86_64-pc-linux-

[COMMITTED 12/38] ada: Add doc for deep delta aggregates

2024-11-04 Thread Marc Poulhiès
From: Raphaël AMIARD gcc/ada/ChangeLog: * doc/gnat_rm/gnat_language_extensions.rst: Adjust documentation. * gnat_rm.texi: Regenerate. * gnat_ugn.texi: Regenerate. Tested on x86_64-pc-linux-gnu, committed on master. --- .../doc/gnat_rm/gnat_language_extensions.rst | 14

[COMMITTED 36/38] ada: Fix ancient typo in process_decls

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou It has gone unnoticed for decades because it changes nothing in practice. gcc/ada/ChangeLog: * gcc-interface/trans.cc (process_decls): Remove tests on Nkind that contain a typo and would be redundant if written correctly. Tested on x86_64-pc-linux-gnu, commi

[COMMITTED 29/38] ada: Fix crash on default value with nested iterated component associations

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou The problem is that the freeze node for the type of the element ends up in the component list of the record type declared with the default value. gcc/ada/ChangeLog: PR ada/113036 * freeze.adb (Freeze_Expression): Deal with freezing actions coming from

[COMMITTED 17/38] ada: Fix error message for pragma First_Controlling_Parameter

2024-11-04 Thread Marc Poulhiès
From: Raphaël AMIARD gcc/ada/ChangeLog: * sem_prag.adb (Analyze_Pragma): Fix format for second line of warning (should be a continuation line) Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_prag.adb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) di

[COMMITTED 19/38] ada: Add Schema to the SARIF report

2024-11-04 Thread Marc Poulhiès
From: Viljar Indus gcc/ada/ChangeLog: * diagnostics-sarif_emitter.adb (Print_SARIF_Report): Add a Schema field to the SARIF report. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/diagnostics-sarif_emitter.adb | 14 +- 1 file changed, 13 insertions(

[COMMITTED 02/38] ada: Resolve intrinsic operators without homonyms

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Intrinsic operators are resolved by rewriting into a corresponding operator from the Standard package. Traversing homonyms just to find the corresponding operator was not particularly efficient; also, for the binary "-" it was finding the unary "-". There appears to be no di

[COMMITTED 35/38] ada: Split Library_Unit using multiple wrappers

2024-11-04 Thread Marc Poulhiès
From: Bob Duff The Library_Unit field was used for all sorts of different purposes, which led to confusing code. This patch splits Library_Unit into much more specific wrapper subprograms that should be called instead of [Set_]Library_Unit. Predicates and pragmas Assert are used to catch misuses

[COMMITTED 22/38] ada: Add CHERI variant of full secondary stack allocator

2024-11-04 Thread Marc Poulhiès
From: Daniel King gcc/ada/ChangeLog: * Makefile.rtl: Use s-secsta__cheri.adb on Morello CheriBSD. * libgnat/s-secsta__cheri.adb: New file. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/Makefile.rtl|3 +- gcc/ada/libgnat/s-secsta__cheri.adb

[COMMITTED 28/38] ada: Propagate resolution status from Resolve_Iterated_Component_Association

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou The resolution status of Resolve_Aggr_Expr is lost when the routine is invoked indirectly from Resolve_Iterated_Component_Association. gcc/ada/ChangeLog: * sem_aggr.adb (Resolve_Iterated_Component_Association): Change to function returning Boolean and return

[COMMITTED 09/38] ada: Correction to disable self-referential with_clauses

2024-11-04 Thread Marc Poulhiès
From: Bob Duff Follow-on to previous change "Disable self-referential with_clauses", which caused some regressions. Remove useless use clauses referring to useless self-referential with'ed packages. This is necessary because in some cases, such use clauses cause the compiler to crash or give spur

[COMMITTED 32/38] ada: Improve Unbounded_String performance

2024-11-04 Thread Marc Poulhiès
From: Nicolas Roche Improve performance of iteration using Element function. Improve performance of Append. gcc/ada/ChangeLog: * libgnat/a-strunb__shared.adb: Restructure code to inline only the most common cases. Remove whenever possible runtime checks. * libgnat/a-stru

[COMMITTED 38/38] ada: Move special case for null string literal from frontend to backend

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Previously the lower bound of string literals indexed by non-static integer types was artificially set to 1 in the frontend. This was to avoid an overflow in calculation of a null string size by the GCC backend, which was causing an excessively large binary object file. Howe

[COMMITTED 27/38] ada: Remove dead code in Resolve_Iterated_Component_Association

2024-11-04 Thread Marc Poulhiès
From: Eric Botcazou It dates back to when analysis was performed on a copy of the expression. gcc/ada/ChangeLog: * sem_aggr.adb (Resolve_Iterated_Component_Association): Move up declaration of Expr and remove dead code from older processing. Tested on x86_64-pc-linux-gnu, commi

[COMMITTED 37/38] ada: Remove special case for the size of a string literal subtype

2024-11-04 Thread Marc Poulhiès
From: Piotr Trojanek Apparently we no longer need to ignore string literal subtypes case when validating size of a type entity. Code cleanup; behavior appears to be unaffected. gcc/ada/ChangeLog: * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove special case for string liter

Re: [PATCH] testsuite: arm: Use check-function-bodies in fp16-aapcs-* tests

2024-11-04 Thread Andrew Carlotti
On Tue, Oct 22, 2024 at 07:18:55PM +0200, Torbjorn SVENSSON wrote: > > > On 2024-10-22 13:36, Richard Earnshaw (lists) wrote: > > On 20/10/2024 16:48, Torbj�rn SVENSSON wrote: > > > Ok for trunk and releases/gcc-14? > > > > > > -- > > > > > > Converted the tests to use check-function-bodies

Re: [PATCH] testsuite: arm: Use effective-target for memset-inline* tests

2024-11-04 Thread Richard Earnshaw
On 01/11/2024 18:40, Richard Earnshaw (lists) wrote: > On 24/10/2024 09:50, Torbjörn SVENSSON wrote: >> Ok for trunk and releases/gcc-14? >> >> -- >> >> As these tests are set to execute and require neon hardware to do so, >> add the missing dg-require-effective-target arm_neon_hw. >> >> gcc/testsu

[COMMITTED] [GCC14] Implement new assume pass.

2024-11-04 Thread Andrew MacLeod
I've back ported and committed the 3 patch set for assume p;rocessing to GCC14.  The new file is almost the same, just a couple of minor differences related to  1) value_range in gcc15 was Value_Range in gcc14, and   2) there was no gori() component to a range_query, so I had to pass a ranger

[COMMITTED] PR tree-optimization/117398 - Don't call invert on VARYING.

2024-11-04 Thread Andrew MacLeod
The invert() range operation is not supported on values of either VARYING or UNDEFINED.  Primarily this is because UNDEFINED has no type, which makes it impossible to perform invert() twice on a value, and produce that same value.  There were also times when it wasn't precisely clear what the c

[PATCH] middle-end/117433 - ICE with gimple BLKmode reg copy

2024-11-04 Thread Richard Biener
When we end up expanding a SSA name copy with BLKmode regs which can happen for vectors, possibly wrapped in a NOP-conversion or a PAREN_EXPR and we are not optimizing we can end up with two BLKmode MEMs that expand_gimple_stmt_1 doesn't properly handle when expanding, trying to emit_move_insn them

Re: [PATCH] [4/n] remove wrapv-*.c special-casing of gcc.dg/vect/ files

2024-11-04 Thread Christophe Lyon
Hi Richard, On Fri, 18 Oct 2024 at 13:44, Richard Biener wrote: > > The following makes -fwrapv explicit. > > * gcc.dg/vect/vect.exp: Remove special-casing of tests > named wrapv-* It looks like this does a bit more than that. As can be seen in https://gcc.gnu.org/pipermail/gcc-r

Re: [PATCH] middle-end/117433 - ICE with gimple BLKmode reg copy

2024-11-04 Thread Jakub Jelinek
On Mon, Nov 04, 2024 at 11:48:16AM +0100, Richard Biener wrote: > When we end up expanding a SSA name copy with BLKmode regs which can > happen for vectors, possibly wrapped in a NOP-conversion or > a PAREN_EXPR and we are not optimizing we can end up with two > BLKmode MEMs that expand_gimple_stmt

Re: [PATCH 1/6] PR 117048: simplify-rtx: Simplify (X << C1) [+, ^] (X >> C2) into ROTATE

2024-11-04 Thread Jakub Jelinek
On Mon, Nov 04, 2024 at 02:31:29PM +0100, Jakub Jelinek wrote: > On Mon, Nov 04, 2024 at 01:07:33PM +, Kyrylo Tkachov wrote: > > > This seems to have broken bootstrap on multiple targets and is causing > > > the arm CI to hang, miscompiling stage2 - can > > > you please revert for now? > > > >

Re: [PATCH] guality tests: Silence gdb debuginfod warning

2024-11-04 Thread Jeff Law
On 10/31/24 6:59 PM, H.J. Lu wrote: On Fri, Nov 1, 2024 at 8:32 AM Sam James wrote: "H.J. Lu" writes: When gdb defaults to use debuginfod, gdb warns guality tests: Spawning: gdb -nx -nw -quiet -batch -x pr36728-2.gdb ./pr36728-2.exe spawn gdb -nx -nw -quiet -batch -x pr36728-2.gdb ./pr3

[COMMITTED 30/38] ada: Avoid unused with warning with Extend_System

2024-11-04 Thread Marc Poulhiès
From: Viljar Indus When the Extend_System pragma is used then we are supposed to check the extended system for referenced entities. Otherwise we would get an incorrect unused with warning. This was previously done on body files but it should also be done specs as well. gcc/ada/ChangeLog:

Some recent dmarc failure bounces

2024-11-04 Thread Mark Wielaard
Hi all, The gcc-patches list recently saw a couple of bounces of emails that didn't pass dmarc policy (with p=reject) with spf and dkim failing. All people who got unsubscribed because of this have been resubscribed again. To prevent getting email on the list that don't pass a strict dmarc polic

Re: [PATCH] Add fancy pointer support in std::map/set

2024-11-04 Thread François Dumont
On 21/10/2024 06:56, François Dumont wrote: On 17/10/2024 23:11, Jonathan Wakely wrote: On Thu, 17 Oct 2024 at 21:39, Jonathan Wakely wrote: On Thu, 17 Oct 2024 at 20:52, François Dumont wrote: Here is an updated version that compiles, I think, all your feedb

Re: [PATCH] fold fold_truth_andor field merging into ifcombine

2024-11-04 Thread Alexandre Oliva
On Oct 20, 2024, Alexandre Oliva wrote: > the x86 hits are newer, and > the line numbers didn't help me find the errors, so I don't even know > whether it's macros that we're talking about. These new warnings were > encouraging, for they showed that the ifcombine incarnation of the patch > cover

Re: [PATCH] Optimize incoming integer argument promotion

2024-11-04 Thread Jeff Law
On 11/4/24 8:13 PM, H.J. Lu wrote: On Tue, Nov 5, 2024 at 10:57 AM Jeff Law wrote: On 11/4/24 7:52 PM, H.J. Lu wrote: On Tue, Nov 5, 2024 at 8:48 AM Jeff Law wrote: On 11/4/24 5:42 PM, H.J. Lu wrote: On Tue, Nov 5, 2024 at 8:07 AM Jeff Law wrote: On 11/1/24 4:32 PM, H.J. Lu wr

Re: [PATCH v2] Fix MV clones can not redirect to specific target on some targets

2024-11-04 Thread Yangyu Chen
Ping and also CC Jeff and Kito. This is also useful for RISC-V since RISC-V uses target_version, which defines TARGET_HAS_FMV_TARGET_ATTRIBUTE to zero. On 10/28/24 00:00, Yangyu Chen wrote: Following the implementation of commit b8ce8129a5 ("Redirect call within specific target attribute among

Re: [PATCH v2] i386: Handling exception input of __builtin_ia32_prefetch. [PR117416]

2024-11-04 Thread Hongtao Liu
On Tue, Nov 5, 2024 at 2:41 PM Hu, Lin1 wrote: > > > -Original Message- > > From: Hu, Lin1 > > Sent: Tuesday, November 5, 2024 1:34 PM > > To: gcc-patches@gcc.gnu.org > > Cc: Liu, Hongtao ; ubiz...@gmail.com > > Subject: [PATCH v2] i386: Handling exception input of > > __builtin_ia32_pref

Re: [PATCH v3 6/8] gcn: Add else operand to masked loads.

2024-11-04 Thread Andrew Stubbs
On 02/11/2024 12:58, Robin Dapp wrote: From: Robin Dapp This patch adds an undefined else operand to the masked loads. gcc/ChangeLog: * config/gcn/predicates.md (maskload_else_operand): New predicate. * config/gcn/gcn-valu.md: Use new predicate. --- gcc/config/gcn/gc

[PATCH v2] Adding new pass slp_perm_simplify

2024-11-04 Thread Christoph Müllner
This patch merges two isomorphic vector sequences by using the redundancy in the lane utilization in these sequences. This redundancy in lane utilization comes from the way how specific scalar statements end up vectorized: two VEC_PERMs on top, binary operations on both of them, and a final VEC_PER

Re: [PATCH 2/2] Add a new permute optimization step in SLP

2024-11-04 Thread Christoph Müllner
On Wed, Oct 30, 2024 at 11:26 AM Christoph Müllner wrote: > > On Fri, Oct 18, 2024 at 1:08 PM Richard Biener wrote: > > > > On Fri, 18 Oct 2024, Tamar Christina wrote: > > > > > > -Original Message- > > > > From: Richard Biener > > > > Sent: Friday, October 18, 2024 11:03 AM > > > > To:

Re: [PATCH v2 1/1] C: Support Function multiversionsing in the C front end

2024-11-04 Thread Alfie Richards
Hi Joseph, Thank you for the review and nice to meet you. @@ -3191,6 +3240,14 @@ duplicate_decls (tree newdecl, tree olddecl) return false; } + /* If both new and old are Function Multi Versioned functions then they are + not duplicates. */ + if (TREE_CODE (newdecl) == FUNCTION_

[PATCH v2 1/4] vect: Pass stmt_vec_info to TARGET_SIMD_CLONE_USABLE

2024-11-04 Thread Victor Do Nascimento
This patch adds stmt_vec_info to TARGET_SIMD_CLONE_USABLE to make sure the target can reject a simd_clone based on the vector mode it is using. This is needed because for VLS SVE vectorization the vectorizer accepts Advanced SIMD simd clones when vectorizing using SVE types because the simdlens mig

Re: [PATCH] phiopt: do factor_out_conditional_operation for all phis [PR112418]

2024-11-04 Thread Jeff Law
On 10/21/24 3:18 AM, Richard Biener wrote: Bootstrapped and tested on x86_64-linux-gnu. PR tree-optimization/112418 gcc/ChangeLog: * tree-ssa-phiopt.cc (is_factor_profitable): New function. (factor_out_conditional_operation): Add merge argument. Remove arg0/arg

Re: [PATCH] middle-end: Use rtx_equal_p in notice_stack_pointer_modification_1 [PR117359]

2024-11-04 Thread Jeff Law
On 11/1/24 10:44 AM, Uros Bizjak wrote: On Fri, Nov 1, 2024 at 3:51 PM Jeff Law wrote: On 11/1/24 8:45 AM, Uros Bizjak wrote: On Fri, Nov 1, 2024 at 2:18 PM Jeff Law wrote: On 11/1/24 5:34 AM, Uros Bizjak wrote: Stack pointer modifications in asm are currently not flagged in crtl->sp

[PATCH v2 1/4] vect: Pass stmt_vec_info to TARGET_SIMD_CLONE_USABLE

2024-11-04 Thread Victor Do Nascimento
This patch adds stmt_vec_info to TARGET_SIMD_CLONE_USABLE to make sure the target can reject a simd_clone based on the vector mode it is using. This is needed because for VLS SVE vectorization the vectorizer accepts Advanced SIMD simd clones when vectorizing using SVE types because the simdlens mig

Re: [PATCH v2] c++: Defer -fstrong-eval-order processing to template instantiation time [PR117158]

2024-11-04 Thread Jason Merrill
On 11/4/24 10:19 AM, Simon Martin wrote: Hi Jason, On 1 Nov 2024, at 16:31, Jason Merrill wrote: On 11/1/24 5:07 AM, Simon Martin wrote: Since r10-3793-g1a37b6d9a7e57c, we ICE upon the following valid code with -std=c++17 and above === cut here === struct Base { unsigned int *intarray; }

Re: [PATCH] c++, v2: Mark replaceable global operator new/delete with const std::nothrow_t& argument as DECL_IS_REPLACEABLE_OPERATOR [PR117370]

2024-11-04 Thread Jason Merrill
On 11/1/24 3:17 PM, Jakub Jelinek wrote: On Fri, Nov 01, 2024 at 12:28:52PM -0400, Jason Merrill wrote: Can this block be if (aligned_allocation_fn_p (decl)) args = TREE_CHAIN (args); ? Yes. + && TREE_CODE (t) == RECORD_TYPE + && DECL_NAMESPACE_ST

Re: [PATCH 4/6] expmed, aarch64: Optimize vector rotates as vector permutes where possible

2024-11-04 Thread Jeff Law
On 10/31/24 9:50 AM, Kyrylo Tkachov wrote: Is there a reason why we don't have the target reject the vector rotation cases it can't natively handle and the expander code would then try the rotate via permuation? It seems like your patch defers everything to the target which calls back int

[PATCH v2 2/4] vect: disable multiple calls of poly simdclones

2024-11-04 Thread Victor Do Nascimento
The current codegen code to support VF's that are multiples of a simdclone simdlen rely on BIT_FIELD_REF to create multiple input vectors. This does not work for non-constant simdclones, so we should disable using such clones when the VF is a multiple of the non-constant simdlen until we change th

Re: [PATCH 3/4] sched1: model: only promote true dependecies in predecessor promotion

2024-11-04 Thread Jeff Law
On 10/31/24 1:35 PM, Vineet Gupta wrote: An INSN can have multiple dependencies/predecessor nodes, some of them being true dependency REG_DEP_TRUE meaning the predecessor register output is a must have for the INSN to be scheduled. e.g. In the sched1 dump below, insn 70 has multiple deps, bu

Re: [PATCH] c++: Don't crash upon invalid placement new operator [PR117101]

2024-11-04 Thread Jason Merrill
On 11/1/24 1:22 PM, Simon Martin wrote: We currently crash upon the following invalid code (notice the "void void**" parameter) === cut here === using size_t = decltype(sizeof(int)); void *operator new(size_t, void void **p) noexcept { return p; } int x; void f() { int y; new (&y) int(

Re: [PATCH] Optimize incoming integer argument promotion

2024-11-04 Thread Jeff Law
On 11/4/24 5:42 PM, H.J. Lu wrote: On Tue, Nov 5, 2024 at 8:07 AM Jeff Law wrote: On 11/1/24 4:32 PM, H.J. Lu wrote: For targets, like x86, which define TARGET_PROMOTE_PROTOTYPES to return true, all integer arguments smaller than int are passed as int: [hjl@gnu-tgl-3 pr14907]$ cat x.c e

Re: [PATCH v2 1/3] RISC-V: Remove skip of decl in registered_function.

2024-11-04 Thread Jeff Law
On 11/1/24 2:19 AM, KuanLin Chen wrote: Hi Jeff, I'm really sorry for the regression failure. I missed one patch to fix these issues. Thanks for your review. The GTY skip makes GGC clean the registered functions wrongly in lto. Example: riscv64-unknown-elf-gcc -flto gcc/testsuite/gcc.target

Re: [PATCH] Optimize incoming integer argument promotion

2024-11-04 Thread Jeff Law
On 11/1/24 4:32 PM, H.J. Lu wrote: For targets, like x86, which define TARGET_PROMOTE_PROTOTYPES to return true, all integer arguments smaller than int are passed as int: [hjl@gnu-tgl-3 pr14907]$ cat x.c extern int baz (char c1); int foo (char c1) { return baz (c1); } [hjl@gnu-tgl-3 pr149

[PATCH v2 0/4] aarch64, vect: Extend simdclone support to vector-length agnostic SVE

2024-11-04 Thread Victor Do Nascimento
Following a few bugfixes in the if-convert pass which were previously found to degrade performance in the proposed SVE libmvec autovectorization of conditional calls to math functions, this patch-series carries on the work initially presented by Andre Vieira and last discussed at: - https://patch

Re: [RISC-V] Reorder the ready queue to avoid extraneous vsetvls

2024-11-04 Thread Jeff Law
On 10/30/24 7:06 PM, Jeff Law wrote: So this patch is a very conservative approach to eliminate more vsetvl instructions. As we know, scheduling can scramble the instruction stream based on a variety of factors and can easily result in an instruction sequence where we ping-pong between dif

[PATCH v2 3/4] aarch64: Add SVE support for simd clones [PR 96342]

2024-11-04 Thread Victor Do Nascimento
This patch finalizes adding support for the generation of SVE simd clones when no simdlen is provided, following the ABI rules where the widest data type determines the minimum amount of elements in a length agnostic vector. gcc/ChangeLog: * config/aarch64/aarch64-protos.h (add_sve_type_a

Re: [PATCH] c++/modules: Merge default arguments [PR99274]

2024-11-04 Thread Jason Merrill
On 11/2/24 7:05 AM, Nathaniel Shead wrote: On Fri, Nov 01, 2024 at 11:23:41AM -0400, Jason Merrill wrote: On 8/22/24 8:02 PM, Nathaniel Shead wrote: On Thu, Aug 22, 2024 at 02:20:14PM -0400, Patrick Palka wrote: On Mon, 12 Aug 2024, Nathaniel Shead wrote: Bootstrapped and regtested on x86_64

[PATCH v2 4/4] vect: Disable `omp declare variant' tests for aarch64

2024-11-04 Thread Victor Do Nascimento
gcc/testsuite/ChangeLog: * c-c++-common/gomp/declare-variant-14.c: Make i?86 and x86_64 target only test. * gfortran.dg/gomp/declare-variant-14.f90: Likewise. --- gcc/testsuite/c-c++-common/gomp/declare-variant-14.c | 12 +--- .../gfortran.dg/gomp/declare-variant-1

Re: [PATCH v2 4/4] vect: Disable `omp declare variant' tests for aarch64

2024-11-04 Thread Victor Do Nascimento
cc'ing Jakub due to email address typo in original patch submission. Apologies, Victor Victor Do Nascimento writes: > gcc/testsuite/ChangeLog: > > * c-c++-common/gomp/declare-variant-14.c: Make i?86 and x86_64 target > only test. > * gfortran.dg/gomp/declare-variant-14.f90:

Re: [PATCH] c++/modules: Handle location exhaustion in write_location [PR105443]

2024-11-04 Thread Jason Merrill
On 11/4/24 5:35 PM, Nathaniel Shead wrote: This patch is missing a testcase because I wasn't able to easily construct one that reliably exhausts all location_t values and then causes an error. Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? OK. -- >8 -- The 'location_t' typ

Re: [PATCH] Optimize incoming integer argument promotion

2024-11-04 Thread H.J. Lu
On Tue, Nov 5, 2024 at 8:07 AM Jeff Law wrote: > > > > On 11/1/24 4:32 PM, H.J. Lu wrote: > > For targets, like x86, which define TARGET_PROMOTE_PROTOTYPES to return > > true, all integer arguments smaller than int are passed as int: > > > > [hjl@gnu-tgl-3 pr14907]$ cat x.c > > extern int baz (cha

Re: [PATCH] PR117350: Keep assembler name for abstract decls for autofdo

2024-11-04 Thread Jason Merrill
On 10/31/24 4:40 PM, Andi Kleen wrote: From: Andi Kleen autofdo looks up inline stacks and tries to match them with the profile data using their symbol name. Make sure all decls that can be in a inline stack have a valid assembler name. This fixes a bootstrap problem with autoprofiledbootstrap

Re: [PATCH v2 1/3] RISC-V: Remove skip of decl in registered_function.

2024-11-04 Thread Kito Cheng
Hi Jeff: This should work with the second patch in the patch set, but I think that's not ready yet... Jeff Law 於 2024年11月5日 週二 08:52 寫道: > > > On 11/1/24 2:19 AM, KuanLin Chen wrote: > > Hi Jeff, > > > > I'm really sorry for the regression failure. > > I missed one patch to fix these issues. >

Re: [PATCH 0/2] Add arch support for Intel CPUs

2024-11-04 Thread Hongtao Liu
On Fri, Nov 1, 2024 at 11:24 AM Haochen Jiang wrote: > > Hi all, > > I have just landed new ISA patches on trunk. The next step will > be the arch support for ISE055 mentioned CPUs. > > There are two changes in ISE055 on CPUs: > > - A new model number is added for Arrow Lake. > - Diamond Rapid

[PATCH, V2] PowerPC vector pair support

2024-11-04 Thread Michael Meissner
This is version 2 of the patch to add functions to allow high performance libraries to write their code so that they can do streaming math functions using the Power10 load vector pair and store vector pair instructions. This patch adds 2 functions to swap the even and odd elements. This is from f

  1   2   >