Re: [RFC PATCH 0/5] aarch64: Support for user-defined aarch64 tuning parameters in JSON

2025-07-17 Thread Soumya AR
Hi Richard, Thank you for these suggestions! I’m really sorry about the delay in getting back to you. I now have updated patches for this here: https://gcc.gnu.org/pipermail/gcc-patches/2025-July/689893.html > On 6 May 2025, at 4:04 PM, Richard Sandiford > wrote: > > External email: Use caut

Re: [RFC PATCH 0/5] aarch64: Support for user-defined aarch64 tuning parameters in JSON

2025-07-17 Thread Soumya AR
> On 7 May 2025, at 6:18 PM, David Malcolm wrote: > > External email: Use caution opening links or attachments > > > On Tue, 2025-05-06 at 14:00 +0530, soum...@nvidia.com wrote: >> From: Soumya AR >> >> Hi, >> >> This RFC and subsequent patch series introduces support for printing >> and p

[RFC PATCH v2 3/6] json: Add get_map() method to JSON object class

2025-07-17 Thread soumyaa
From: Soumya AR This patch adds a get_map () method to the JSON object class to provide access to the underlying hash map that stores the JSON key-value pairs. It also reorganizes the private and public sections of the class to expose the map_t typedef, which is the return type of get_map(). Th

[RFC PATCH v2 1/6] aarch64 + arm: Remove const keyword from tune_params members and nested members

2025-07-17 Thread soumyaa
From: Soumya AR To allow runtime updates to tuning parameters, the const keyword is removed from the members of the tune_params structure and the members of its nested structures. Since this patch also touches tuning structures in the arm backend, it was bootstrapped on aarch64-linux-gnu as well

[RFC PATCH v2 4/6] aarch64: Enable parsing of user-provided AArch64 CPU tuning parameters

2025-07-17 Thread soumyaa
From: Soumya AR This patch adds support for loading custom CPU tuning parameters from a JSON file for AArch64 targets. The '-muser-provided-CPU=' flag accepts a user provided JSON file and overrides the internal tuning parameters at GCC runtime. This patch was bootstrapped and regtested on aarch

[RFC PATCH v2 2/6] aarch64: Enable dumping of AArch64 CPU tuning parameters to JSON

2025-07-17 Thread soumyaa
From: Soumya AR This patch adds functionality to dump AArch64 CPU tuning parameters to a JSON file. The new '-fdump-tuning-model=' flag allows users to export the current tuning model configuration to a JSON file. This patch was bootstrapped and regtested on aarch64-linux-gnu, no regression. Si

[RFC PATCH v2 6/6] aarch64: Script to auto generate JSON tuning routines

2025-07-17 Thread soumyaa
From: Soumya AR This commit introduces a Python maintenance script that generates C++ code for parsing and serializing AArch64 JSON tuning parameters based on the schema defined in aarch64-json-schema.h. The script generates two include files: - aarch64-json-tunings-parser-generated.inc - aa

Re: [RFC PATCH 0/5] aarch64: Support for user-defined aarch64 tuning parameters in JSON

2025-07-17 Thread Soumya AR
> On 7 May 2025, at 10:15 AM, Andrew Pinski wrote: > > External email: Use caution opening links or attachments > > > On Tue, May 6, 2025 at 1:35 AM wrote: >> >> From: Soumya AR >> >> Hi, >> >> This RFC and subsequent patch series introduces support for printing and >> parsing >> of aar

[RFC PATCH v2 5/6] aarch64: Regression tests for parsing of user-provided AArch64 CPU tuning parameters

2025-07-17 Thread soumyaa
From: Soumya AR Signed-off-by: Soumya AR gcc/testsuite/ChangeLog: * gcc.target/aarch64/aarch64-json-tunings/aarch64-json-tunings.exp: New test. * gcc.target/aarch64/aarch64-json-tunings/boolean-1.c: New test. * gcc.target/aarch64/aarch64-json-tunings/boolean-1.json: Ne

[RFC PATCH v2 0/6] aarch64: Support for user-defined aarch64 tuning parameters in JSON

2025-07-17 Thread soumyaa
From: Soumya AR Hi, This RFC is a continuation of previous patches sent here: https://gcc.gnu.org/pipermail/gcc-patches/2025-May/682702.html As suggested in the earlier thread, I've now added a python script to generete the printing and parsing routines for the JSON tuning parameters from the

[PATCH] RISC-V: Add testcase for unsigned scalar SAT_ADD form 8 and form 9

2025-07-17 Thread Ciyan Pan
From: panciyan This patch adds testcase for form8 and form9, as shown below: T __attribute__((noinline)) \ sat_u_add_##T##_fmt_8(T x, T y) \ { \ return x <= (T)(x + y) ? (x + y) : -1; \ } T __attribute__((noinlin

[pushed-15] [PATCH] PR modula2/120673: Mutually dependent types crash the compiler

2025-07-17 Thread Gaius Mulley
This patch fixes an ICE which will occur if cyclic dependent types are used when declaring a variable. This patch detects the cyclic dependency and issues an error message for each outstanding component. gcc/m2/ChangeLog: PR modula2/120673 * gm2-compiler/M2GCCDeclare.mod (Error

Re: [PATCH 1/2] libstdc++: Ensure std::hash<__int128> is defined [PR96710]

2025-07-17 Thread H.J. Lu
On Mon, Jul 14, 2025 at 1:34 PM Jonathan Wakely wrote: > > This is a follow-up to r16-2190-g4faa42ac0dee2c which ensures that > std::hash is always enabled for signed and unsigned __int128. The > standard requires std::hash to be enabled for all arithmetic types. > > libstdc++-v3/ChangeLog: > >

Re: [PATCH] c++: consteval blocks

2025-07-17 Thread Jakub Jelinek
On Thu, Jul 17, 2025 at 06:44:08PM -0400, Jason Merrill wrote: > Hmm, perhaps, for stateful evaluation like define_aggregate. But we could > address that with a flag on the STATIC_ASSERT like this patch puts on the > STMT_EXPR. Sure. Jakub

Re: [PATCH] c++: consteval blocks

2025-07-17 Thread Jason Merrill
On 7/17/25 6:25 PM, Jakub Jelinek wrote: On Thu, Jul 17, 2025 at 05:31:27PM -0400, Jason Merrill wrote: On 7/16/25 10:49 AM, Marek Polacek wrote: Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? -- >8 -- This patch implements consteval blocks, as specified by P2996. They aren't ver

Re: [PATCH] c++: consteval blocks

2025-07-17 Thread Jakub Jelinek
On Thu, Jul 17, 2025 at 05:31:27PM -0400, Jason Merrill wrote: > On 7/16/25 10:49 AM, Marek Polacek wrote: > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? > > > > -- >8 -- > > This patch implements consteval blocks, as specified by P2996. > > They aren't very useful without define

[PATCH] Correct spacing for -mdaz-ftz

2025-07-17 Thread Vincent Lefevre
Signed-off-by: Vincent Lefevre --- gcc/doc/invoke.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 09802303254..dd1ed404814 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -35604,9 +35604,9 @@ when this opti

Re: [PATCH] c, c++: Fix unused result for empty types [PR82134]

2025-07-17 Thread Jason Merrill
On 7/14/25 8:33 PM, Jeremy Rifkin wrote: Hi Jason, Thank you so much for taking a look! This is OK, but I wonder about making do_warn_unused_result ignore empty types in general; if there's no data in the type, what does it matter if we ignore the empty box? I'm not strongly opinionated and I

Re: [PATCH] c++: consteval blocks

2025-07-17 Thread Jason Merrill
On 7/16/25 10:49 AM, Marek Polacek wrote: Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? -- >8 -- This patch implements consteval blocks, as specified by P2996. They aren't very useful without define_aggregate, but having a reviewed implementation on trunk would be great. consteva

[GCC15][PATCH 1/2] C: Flex array in the middle via type alias is not reported [PR120353]

2025-07-17 Thread Qing Zhao
The root cause of the bug is: the TYPE_INCLUDES_FLEXARRAY marking of the structure type is not copied to its aliased type. The fix is to copy this marking to all the variant types of the current structure type. PR c/120353 gcc/c/ChangeLog: * c-decl.cc (finish_struct): Copy TYPE_I

[GCC15][PATCH 2/2] C: Flex array in union followed by a structure field is not reported [PR120354]

2025-07-17 Thread Qing Zhao
There is only one last_field for a structure type, but there might be multiple last_fields for a union type, therefore we should ORed the result of TYPE_INCLUDES_FLEXARRAY for multiple last_fields of a union type. PR c/120354 gcc/c/ChangeLog: * c-decl.cc (finish_struct): Or the r

Re: [PATCH v3] c++: P2036R3 - Change scope of lambda trailing-return-type [PR102610]

2025-07-17 Thread Jason Merrill
On 7/16/25 5:59 PM, Marek Polacek wrote: On Mon, Jul 14, 2025 at 12:52:41PM -0400, Jason Merrill wrote: On 7/11/25 5:49 PM, Marek Polacek wrote: On Thu, Jul 10, 2025 at 02:13:06PM -0400, Jason Merrill wrote: On 7/9/25 4:27 PM, Marek Polacek wrote: On Tue, Jul 08, 2025 at 12:15:03PM -0400, Jas

Re: [PATCH] rs6000: Backport r15-2928-gbf891fcabca7a5 to gcc-14

2025-07-17 Thread Segher Boessenkool
Hi! On Thu, Jul 17, 2025 at 11:16:07AM +0530, Kishan Parmar wrote: > I would like to backport patch r15-2928-gbf891fcabca7a5 which is > available from GCC-15. > > In general, if -mcpu=power9, float128 hardware is available, but in the > case the user explicitly does -mno-float128-hardware or runs

[PATCH] gimple-fold: Fix up big endian _BitInt adjustment [PR121131]

2025-07-17 Thread Jakub Jelinek
Hi! The following testcase ICEs because SCALAR_INT_TYPE_MODE of course doesn't work for large BITINT_TYPE types which have BLKmode. native_encode* as well as e.g. r14-8276 use in cases like these GET_MODE_SIZE (SCALAR_INT_TYPE_MODE ()) and TREE_INT_CST_LOW (TYPE_SIZE_UNIT ()) for the BLKmode ones.

Re: [PATCH v2] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 15:23 -0400, Patrick Palka wrote: On Thu, 17 Jul 2025, Tomasz Kamiński wrote: + constexpr inplace_vector& + operator=(const inplace_vector& __other) + noexcept(is_nothrow_copy_assignable_v<_Tp> +&& is_nothrow_copy_constructible_v<_Tp>) + { +

[PATCH] tree-sra: Fix grp_covered flag computation when totally scalarizing (PR117423)

2025-07-17 Thread Martin Jambor
Hi, testcase of PR 117423 shows a flaw in the fancy way we do "total scalarization" in SRA now. We use the types encountered in the function body and not in type declaration (allowing us to totally scalarize when only one union field is ever used, since we effectively "skip" the union then) and c

Re: [PATCH] libstdc++: Add NTTP bind_front, -back, not_fn (P2714) [PR119744]

2025-07-17 Thread Tomasz Kaminski
I have left some comments on the previous revision here: https://gcc.gnu.org/pipermail/libstdc++/2025-July/062349.html They do not seem to be addressed. On Thu, Jul 17, 2025 at 9:13 PM Nathan Myers wrote: > [Note: many of the tests for the original versions do not make > sense, require different

[pushed-15] [PATCH] PR modula2/120606: FOR loop ICE if the last expression uses an array

2025-07-17 Thread Gaius Mulley
This patch fixes the ICE which occurs if the last expression is an array. It ensures that the start and end values of the for loop expressions are dereferenced. gcc/m2/ChangeLog: PR modula2/120606 * gm2-compiler/M2Quads.mod (ForLoopLastIterator): Dereference start and en

Re: [PATCH] tree-optimization/120929: Limit MEM_REF handling to .ACCESS_WITH_SIZE

2025-07-17 Thread Qing Zhao
Hi, Jakub, (I am CCing Joseph and Martin for their inputs on how to _selectively_ generate call to .ACCESS_WITH_SIZE for x->p depending on its context in C FE). > On Jul 17, 2025, at 11:40, Jakub Jelinek wrote: > > So say for > struct S { int s; int *p __attribute__((counted_by (s))); }; > >

Re: [PATCH v2] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Patrick Palka
On Thu, 17 Jul 2025, Tomasz Kamiński wrote: > From: Jonathan Wakely > > Implement std::inplace_vector as specified in P0843R14, without follow > up papers, in particular P3074R7 (trivial unions). In consequence > inplace_vector can be used inside constant evaluations only > if T is trivial or N

[PATCH] libstdc++: Add NTTP bind_front, -back, not_fn (P2714) [PR119744]

2025-07-17 Thread Nathan Myers
[Note: many of the tests for the original versions do not make sense, require different outcomes, or otherwise fail on the new versions for reasons not obvious.] Add non-type template parameter function-object/-pointer argument versions of bind_front, bind_back, and not_fn as defined in P2714R1.

Re: [PATCH 1/2] libstdc++: Optimize _Utf_iterator for size

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 7:03 PM Jonathan Wakely wrote: > This reorders the data members of _Utf_iterator to avoid padding bytes > between members due to alignment requirements. For x86_64 the previous > layout had padding after _M_buf and after _M_to_increment for the common > case where the iter

[PATCH v2] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Tomasz Kamiński
From: Jonathan Wakely Implement std::inplace_vector as specified in P0843R14, without follow up papers, in particular P3074R7 (trivial unions). In consequence inplace_vector can be used inside constant evaluations only if T is trivial or N is equal to zero. We provide a separate specialization f

Re: [PATCH] tree-optimization/120929: Limit MEM_REF handling to .ACCESS_WITH_SIZE

2025-07-17 Thread Qing Zhao
> On Jul 17, 2025, at 11:40, Jakub Jelinek wrote: > > On Thu, Jul 17, 2025 at 03:26:05PM +, Qing Zhao wrote: >> How about add a new flag to distinguish these two cases, and put it to the >> 3th argument: >> >> ACCESS_WITH_SIZE (REF_TO_OBJ, REF_TO_SIZE, >> TYPE_OF_SIZ

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 7:25 PM Patrick Palka wrote: > On Thu, 17 Jul 2025, Jonathan Wakely wrote: > > > On 17/07/25 11:26 -0400, Patrick Palka wrote: > > > On Thu, 17 Jul 2025, Tomasz Kamiński wrote: > > > > > > > From: Jonathan Wakely > > > > > > > > Implement std::inplace_vector as specified

Re: [PATCHv2] gcse: Skip hardreg pre if the hardreg is never alive [PRPR121095]

2025-07-17 Thread Andrew Pinski
On Thu, Jul 17, 2025 at 7:39 AM Richard Sandiford wrote: > > Andrew Pinski writes: > > r15-6789-ge7f98d9603808b added a new RTL pass for hardreg PRE for the hard > > register > > of FPM_REGNUM, this pass could get expensive if you have a large number of > > basic blocks > > and the hard registe

[PATCH] Use regular libdir/includedir in libgcc Makefiles

2025-07-17 Thread John Ericson
My long-term goal is to get all "libsubdir" and similar logic out of the build systems for the runtime libraries themselves, and instead move it to the "meta build system". The idea is the runtime library builds shouldn't just be given the locations they are to install stuff in, and don't need to k

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 13:25 -0400, Patrick Palka wrote: On Thu, 17 Jul 2025, Jonathan Wakely wrote: On 17/07/25 11:26 -0400, Patrick Palka wrote: > On Thu, 17 Jul 2025, Tomasz Kamiński wrote: > > + > > +namespace std _GLIBCXX_VISIBILITY(default) > > +{ > > +_GLIBCXX_BEGIN_NAMESPACE_VERSION > > + > > +nam

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 11:26 -0400, Patrick Palka wrote: On Thu, 17 Jul 2025, Tomasz Kamiński wrote: From: Jonathan Wakely Implement std::inplace_vector as specified in P0843R14, without follow up papers, in particular P3074R7 (trivial unions). In consequence inplace_vector can be used inside constant e

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 13:06 -0400, Patrick Palka wrote: On Thu, 17 Jul 2025, Jonathan Wakely wrote: On 17/07/25 15:31 +0200, Tomasz Kamiński wrote: > From: Jonathan Wakely > > Implement std::inplace_vector as specified in P0843R14, without follow > up papers, in particular P3074R7 (trivial unions). In c

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Patrick Palka
On Thu, 17 Jul 2025, Jonathan Wakely wrote: > On 17/07/25 11:26 -0400, Patrick Palka wrote: > > On Thu, 17 Jul 2025, Tomasz Kamiński wrote: > > > > > From: Jonathan Wakely > > > > > > Implement std::inplace_vector as specified in P0843R14, without follow > > > up papers, in particular P3074R7 (

Re: [PATCH v1] RISC-V: Support RVVDImode for avg3_ceil auto vect

2025-07-17 Thread Jeff Law
On 7/16/25 8:22 AM, pan2...@intel.com wrote: From: Pan Li Like the avg3_floor pattern, the avg3_ceil has the similar issue that lack of the RVV DImode support. Thus, this patch would like to support the DImode by the standard name, with the iterator V_VLSI_D. The below test suites are pass

Re: [PATCH 1/2] cprop: Allow jump bypassing for single set insns

2025-07-17 Thread Jeff Law
On 7/16/25 9:20 AM, Stefan Schulze Frielinghaus wrote: During jump bypassing also consider insns of the form (insn 25 57 26 9 (parallel [ (set (reg:CCZ 33 %cc) (compare:CCZ (reg:SI 60 [ _9 ]) (const_int 0 [0]))) (clobber (scratch

[pushed-15] [PATCH] [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries

2025-07-17 Thread Gaius Mulley
This patch introduces a Write procedure for an array of char, the string and char datatype. It uses the m2r10 style of naming the module on the datatype. This uncovered a bug in the import handling inside Quadident. It also includes an Unlink procedure from a new module FileSysOp and a String

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Patrick Palka
On Thu, 17 Jul 2025, Jonathan Wakely wrote: > On 17/07/25 15:31 +0200, Tomasz Kamiński wrote: > > From: Jonathan Wakely > > > > Implement std::inplace_vector as specified in P0843R14, without follow > > up papers, in particular P3074R7 (trivial unions). In consequence > > inplace_vector can be u

[PATCH 2/2] libstdc++: Implement reverse iteration for _Utf_view

2025-07-17 Thread Jonathan Wakely
This implements the missing functions in _Utf_iterator to support reverse iteration. All existing tests pass when the view is reversed, so that the same code units are seen when iterating forwards or backwards. libstdc++-v3/ChangeLog: * include/bits/unicode.h (_Utf_iterator::operator--):

[PATCH 1/2] libstdc++: Optimize _Utf_iterator for size

2025-07-17 Thread Jonathan Wakely
This reorders the data members of _Utf_iterator to avoid padding bytes between members due to alignment requirements. For x86_64 the previous layout had padding after _M_buf and after _M_to_increment for the common case where the iterators and sentinel types are pointers, so the size shrinks from 4

Re: [PATCH v5 2/6] dwarf: create annotation DIEs for btf tags

2025-07-17 Thread David Faust
On 7/17/25 05:16, Richard Biener wrote: > On Tue, Jul 15, 2025 at 12:03 AM David Faust wrote: >> >> The btf_decl_tag and btf_type_tag attributes provide a means to annotate >> declarations and types respectively with arbitrary user provided >> strings. These strings are recorded in debug infor

Re: [PATCH v2] config/rs6000/t-float128: Don't encode full build paths into headers

2025-07-17 Thread Segher Boessenkool
Hi! On Thu, Jul 17, 2025 at 05:58:47AM -0700, harish.sadin...@windriver.com wrote: > From: Harish Sadineni > > Avoid encoding full build paths into file headers; use only the basename of > the source file. Line way too long. Commit message lines are 72 character positions wide. (The semicolo

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 15:31 +0200, Tomasz Kamiński wrote: From: Jonathan Wakely Implement std::inplace_vector as specified in P0843R14, without follow up papers, in particular P3074R7 (trivial unions). In consequence inplace_vector can be used inside constant evaluations only if T is trivial of N is equa

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 11:26 -0400, Patrick Palka wrote: On Thu, 17 Jul 2025, Tomasz Kamiński wrote: From: Jonathan Wakely Implement std::inplace_vector as specified in P0843R14, without follow up papers, in particular P3074R7 (trivial unions). In consequence inplace_vector can be used inside constant e

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jonathan Wakely
On 17/07/25 15:31 +0200, Tomasz Kamiński wrote: From: Jonathan Wakely Implement std::inplace_vector as specified in P0843R14, without follow up papers, in particular P3074R7 (trivial unions). In consequence inplace_vector can be used inside constant evaluations only if T is trivial of N is equa

Re: [PATCH] tree-optimization/120929: Limit MEM_REF handling to .ACCESS_WITH_SIZE

2025-07-17 Thread Jakub Jelinek
On Thu, Jul 17, 2025 at 03:26:05PM +, Qing Zhao wrote: > How about add a new flag to distinguish these two cases, and put it to the > 3th argument: > >ACCESS_WITH_SIZE (REF_TO_OBJ, REF_TO_SIZE, > TYPE_OF_SIZE + ACCESS_MODE + IS_POINTER, TYPE_SIZE_UNIT > for element)

Re: [PATCH] tree-optimization/120929: Limit MEM_REF handling to .ACCESS_WITH_SIZE

2025-07-17 Thread Qing Zhao
Hi, Jakub, I re-read your other email sent last week (see below) in order to understand the email you sent yesterday. -:) And I think that I fully understand your point this time (hopefully -:), see below: > On Jul 7, 2025, at 08:48, Jakub Jelinek wrote: > > The original use of .ACCESS_WIT

[PATCH] x86-64: Remove redundant TLS calls

2025-07-17 Thread H.J. Lu
For TLS calls: 1. UNSPEC_TLS_GD: (parallel [ (set (reg:DI 0 ax) (call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr"))) (const_int 0 [0]))) (unspec:DI [(symbol_ref:DI ("e") [flags 0x50]) (reg/f:DI 7 sp)] UNSPEC_TLS_GD) (clobber (reg:DI 5 di))]

Re: [PATCH v1] libstdc++: Implement std::dims.

2025-07-17 Thread Jonathan Wakely
On Thu, 17 Jul 2025 at 08:11, Luc Grosheintz wrote: > > This commit implements the C++26 feature std::dims, sets the feature > testing macro to 202403 and adds tests. This should be 202406 > > libstdc++-v3/ChangeLog: > > * include/bits/version.def (mdspan): Set value for C++26. >

Re: [PATCH v1 3/3] libstdc++: Implement aligned_accessor from mdspan.

2025-07-17 Thread Jonathan Wakely
On Thu, 17 Jul 2025 at 15:59, Tomasz Kaminski wrote: > The standard just says that this is UB, so we are testing something that is > not > required to pass by the standard. This is why I am a bit hesitant on death > tests like that. > Jonathan, do you have an opinion on this? If we have an asser

[committed] libstdc++: Document change in __int128 traits [PRPR96710]

2025-07-17 Thread Jonathan Wakely
libstdc++-v3/ChangeLog: PR libstdc++/96710 * doc/xml/manual/evolution.xml: Document change or __int128. * doc/html/manual/api.html: Regenerate. --- Pushed to trunk. libstdc++-v3/doc/html/manual/api.html | 3 +++ libstdc++-v3/doc/xml/manual/evolution.xml | 5 + 2

Re: [PATCH v1 0/3] Fix custom IndexType related bugs in mdspan.

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 4:53 PM Luc Grosheintz wrote: > > > On 7/17/25 16:16, Tomasz Kaminski wrote: > > Thank you for the fast response and fixes. > > I will next week experiment with running libc++ test, so will confirm > here > > if they are all fixed. > > > > On Wed, Jul 16, 2025 at 3:47 PM L

Re: [PATCH v1 3/3] libstdc++: Implement aligned_accessor from mdspan.

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 11:57 AM Luc Grosheintz wrote: > > > On 7/8/25 17:37, Tomasz Kaminski wrote: > > On Thu, Jul 3, 2025 at 12:38 PM Luc Grosheintz > > > wrote: > > > >> This commit completes the implementation of P2897R7 by implementing and > >> testing the template class aligned_accessor.

Re: [PATCH v1 0/3] Fix custom IndexType related bugs in mdspan.

2025-07-17 Thread Luc Grosheintz
On 7/17/25 16:16, Tomasz Kaminski wrote: Thank you for the fast response and fixes. I will next week experiment with running libc++ test, so will confirm here if they are all fixed. On Wed, Jul 16, 2025 at 3:47 PM Luc Grosheintz wrote: These three commits fix PR121061. The first prepares t

Re: [PATCH v1] libstdc++: Implement std::dims.

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 9:09 AM Luc Grosheintz wrote: This commit implements the C++26 feature std::dims, sets the feature > testing macro to 202403 and adds tests. > > libstdc++-v3/ChangeLog: > > * include/bits/version.def (mdspan): Set value for C++26. > * include/bits/version.h

Re: [PATCHv2] gcse: Skip hardreg pre if the hardreg is never alive [PRPR121095]

2025-07-17 Thread Richard Sandiford
Andrew Pinski writes: > r15-6789-ge7f98d9603808b added a new RTL pass for hardreg PRE for the hard > register > of FPM_REGNUM, this pass could get expensive if you have a large number of > basic blocks > and the hard register was never alive so it does nothing in the end. > In the aarch64 case,

Re: [PATCH v1 1/3] libstdc++: Implement is_sufficiently_aligned.

2025-07-17 Thread Tomasz Kaminski
As a note, you can force test to run in multiple/specific standard by using: > GLIBCXX_TESTSUITE_STDS=20,23 make check On Thu, Jul 17, 2025 at 12:57 PM Jonathan Wakely wrote: > On Thu, 17 Jul 2025 at 11:54, Jonathan Wakely wrote: > > > > On Thu, 17 Jul 2025 at 11:32, Luc Grosheintz wrote: > >

RE: [PATCH] RISC-V: Add testcase for unsigned scalar SAT_ADD form 8 and form 9

2025-07-17 Thread Li, Pan2
Thanks Ciyan. +#define DEF_SAT_U_ADD_FMT_8(T)\ +T __attribute__((noinline)) \ +sat_u_add_##T##_fmt_8(T x, T y)\ +{ \ + return x <= (T)(x + y) ? (x + y) : -1; \ +} +#define DEF_SAT_U_ADD_FMT_8_WRAP(T) DEF_SA

Re: [PATCH v1 3/3] libstdc++: Fix forwarding of custom IndexType in mdspan [PR121061]

2025-07-17 Thread Tomasz Kaminski
Also merged to master. On Wed, Jul 16, 2025 at 10:07 PM Jonathan Wakely wrote: > > > On Wed, 16 Jul 2025, 14:53 Luc Grosheintz, > wrote: > >> The second bug report in PR121061 is that the conversion of custom >> OtherIndexType to IndexType is incorrectly not done via r-value >> references. >> >

Re: [PATCH v1 0/3] Fix custom IndexType related bugs in mdspan.

2025-07-17 Thread Tomasz Kaminski
Thank you for the fast response and fixes. I will next week experiment with running libc++ test, so will confirm here if they are all fixed. On Wed, Jul 16, 2025 at 3:47 PM Luc Grosheintz wrote: > These three commits fix PR121061. The first prepares the tests, and then > the next two each fix on

Re: [PATCH v1 2/3] libstdc++: Fix constraint for custom integer types in mdspan [PR121061]

2025-07-17 Thread Tomasz Kaminski
This shows how useful refactoring for a test was. Thanks for posting. Just merged to master. On Wed, Jul 16, 2025 at 10:05 PM Jonathan Wakely wrote: > > > On Wed, 16 Jul 2025, 14:46 Luc Grosheintz, > wrote: > >> PR121061 consists of two bugs for mdspan related code. This commit fixes >> the fir

Re: [PATCH v1 1/3] libstdc++: Refactor mdspan tests [PR121061]

2025-07-17 Thread Tomasz Kaminski
Also LGTM, thanks for moving int_like.h to mdspan. Just pushed it to master. On Wed, Jul 16, 2025 at 10:04 PM Jonathan Wakely wrote: > > > On Wed, 16 Jul 2025, 14:48 Luc Grosheintz, > wrote: > >> PR121061 shows that the test coverage for custom integer types is >> insufficient. Custom IndexType

[PATCH v2] RISC-V: Improve bswap8 when zbb is enabled

2025-07-17 Thread Dusan Stojkovic
Hi Jeff, >> So I'm not sure this transformation is correct. >> >> Let's consider the case where a5 has the value 0x at the >>"li" instruction. >> >> a5 = 0xff00 >> >> li a4, -65536 // a4 = 0x >> srai a5,a5,32 // a5 = 0xff00 >> and a5,a5,a4 //

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 3:41 PM Jakub Jelinek wrote: > On Thu, Jul 17, 2025 at 03:31:57PM +0200, Tomasz Kamiński wrote: > > From: Jonathan Wakely > > > > Implement std::inplace_vector as specified in P0843R14, without follow > > up papers, in particular P3074R7 (trivial unions). In consequence >

Re: [PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Jakub Jelinek
On Thu, Jul 17, 2025 at 03:31:57PM +0200, Tomasz Kamiński wrote: > From: Jonathan Wakely > > Implement std::inplace_vector as specified in P0843R14, without follow > up papers, in particular P3074R7 (trivial unions). In consequence I think implementation of that paper is waiting mainly for https

[PATCH] libstdc++: Add std::inplace_vector for C++26 (P0843R14) [PR119137]

2025-07-17 Thread Tomasz Kamiński
From: Jonathan Wakely Implement std::inplace_vector as specified in P0843R14, without follow up papers, in particular P3074R7 (trivial unions). In consequence inplace_vector can be used inside constant evaluations only if T is trivial of N is equal to zero. We provide a separate specialization f

[COMMITED] tree-ssa-structalias / pta: Fix *more* GNU coding style deviations

2025-07-17 Thread Filip Kastl
This continues my previous commit, where I fixed some deviations from GNU coding style in pta files. This should fix all the remaining issues that contrib/check_GNU_style.py can detect (excluding false positives). Commiting as obvious. gcc/ChangeLog: * tree-ssa-structalias.cc (lookup_vi

[PATCH v2] config/rs6000/t-float128: Don't encode full build paths into headers

2025-07-17 Thread Harish . Sadineni
From: Harish Sadineni Avoid encoding full build paths into file headers; use only the basename of the source file. This improves build reproducibility, particularly in environments where build paths vary or where source files are saved for debugging. For example, in addkf3-sw.c, the file heade

[PUSHED] GCN, nvptx offloading: Restrain 'WARNING: program timed out.' while in 'dynamic_cast' only for effective-target 'offload_device' [PR119692]

2025-07-17 Thread Thomas Schwinge
In PR119692 "C++ 'typeinfo', 'vtable' vs. OpenACC, OpenMP 'target' offloading": > --- Comment #8 from Rainer Orth --- > The last commit made things worse on sparc-sun-solaris2.11: since that one > (dg-timeout 10) I regularly get > > WARNING: libgomp.c++/target-exceptions-bad_cast-1.C (test for ex

[PATCH] testsuite: handle-multiline-outputs must allow both cc1 and cc1.exe

2025-07-17 Thread Torbjörn SVENSSON
Ok for trunk, gcc-15 and gcc-14? -- Prior to 14-2027-g985d6480fe5, the input text had the file extensions pruned. In 14-2027-g985d6480fe5, due to the move of the call, the pruning is never done. This change restores the pruning of the file extension to allow multiline test to pass on both Windows

[COMMITED] tree-ssa-structalias / pta: Fix some GNU coding style

2025-07-17 Thread Filip Kastl
Fix some deviations from GNU coding style in pta files as reported by contrib/check_GNU_style.py. Most of these are "dot, space, space, end of comment". Commiting as obvious. gcc/ChangeLog: * pta-andersen.cc (struct constraint_graph): Fix GNU style. (constraint_equal): Fix GNU s

Re: [PATCH] c: Suppress -Wdeprecated-non-prototype warnings for builtins

2025-07-17 Thread Simon Marchi
On 6/26/25 12:14 PM, Simon Marchi wrote: > I keep hitting the bug fixed by this patch with gcc 15.1: > > make[3]: Entering directory '/home/simark/build/binutils-gdb-all-targets/sim' > CC bfin/gui.o > In file included from /usr/include/SDL2/SDL_main.h:25, > from /usr/inclu

Re: [PATCH v5 2/6] dwarf: create annotation DIEs for btf tags

2025-07-17 Thread Richard Biener
On Tue, Jul 15, 2025 at 12:03 AM David Faust wrote: > > The btf_decl_tag and btf_type_tag attributes provide a means to annotate > declarations and types respectively with arbitrary user provided > strings. These strings are recorded in debug information for > post-compilation uses, and despite t

[RFC][PATCH 1/1] testsuite: add BPF target board for execution testing

2025-07-17 Thread Piyush Raj
This patch adds new DejaGnu target board for BPF that enables execution testing of BPF programs using the `bpf-vmtest-tool` script in the contrib directory. Signed-off-by: Piyush Raj --- gcc/Makefile.in | 1 + gcc/testsuite/boards/bpf.exp | 63

[RFC][PATCH 0/1] testsuite: add BPF target board for execution testing

2025-07-17 Thread Piyush Raj
Hi, This patch is an attempt to integrate the bpf-vmtest-tool with DejaGnu. Instead of modifying gcc-dg specific procedures, I decided to add a new target board. This seemed like a cleaner and more maintainable way to handle target-specific procedures. I've taken inspiration from the simulator bo

Re: [PATCH v3 2/2] middle-end: Enable masked load with non-constant offset

2025-07-17 Thread Richard Biener
On Tue, Jul 15, 2025 at 4:54 PM Karl Meakin wrote: > > The function `vect_check_gather_scatter` requires the `base` of the load > to be loop-invariant and the `off`set to be not loop-invariant. When faced > with a scenario where `base` is not loop-invariant, instead of giving up > immediately we c

Re: [PATCH v3 4/5] vect: Misalign checks for gather/scatter.

2025-07-17 Thread Richard Biener
On Fri, Jul 11, 2025 at 11:03 AM Robin Dapp wrote: > > This patch adds simple misalignment checks for gather/scatter > operations. Previously, we assumed that those perform element accesses > internally so alignment does not matter. The riscv vector spec however > explicitly states that vector o

Re: [PATCH v3 3/5] vect: Add is_gather_scatter argument to misalignment hook.

2025-07-17 Thread Richard Biener
On Fri, Jul 11, 2025 at 11:03 AM Robin Dapp wrote: > > This patch adds an is_gather_scatter argument to the > support_vector_misalignment hook. All targets but riscv do not care > about alignment for gather/scatter so return true for is_gather_scatter. OK. > gcc/ChangeLog: > > * config/

Re: [PATCH v3 2/5] vect: Add helper macros for gather/scatter.

2025-07-17 Thread Richard Biener
On Fri, Jul 11, 2025 at 11:03 AM Robin Dapp wrote: > > This encapsulates the IFN and the builtin-function way of handling > gather/scatter via three defines: > > GATHER_SCATTER_IFN_P > GATHER_SCATTER_LEGACY_P > GATHER_SCATTER_EMULATED_P > > and introduces a helper define for SLP operand hand

Re: [PATCH v3 1/5] ifn: Add helper functions for gather/scatter.

2025-07-17 Thread Richard Biener
On Fri, Jul 11, 2025 at 11:03 AM Robin Dapp wrote: > > This patch adds access helpers for the gather/scatter offset and scale > parameters. OK. > gcc/ChangeLog: > > * internal-fn.cc (expand_scatter_store_optab_fn): Use new > function. > (expand_gather_load_optab_fn): Ditt

Re: [PATCH] tree-ssa-structalias: Put solver into its own file

2025-07-17 Thread Richard Biener
On Thu, 17 Jul 2025, Filip Kastl wrote: > On Thu 2025-07-17 11:48:33, Richard Biener wrote: > > On Thu, 17 Jul 2025, Filip Kastl wrote: > > > > > On Thu 2025-07-17 10:00:01, Richard Biener wrote: > > > > On Thu, 17 Jul 2025, Filip Kastl wrote: > > > > > > > > > Hi, > > > > > > > > > > This patc

Re: [PATCH] tree-ssa-structalias: Put solver into its own file

2025-07-17 Thread Filip Kastl
On Thu 2025-07-17 11:48:33, Richard Biener wrote: > On Thu, 17 Jul 2025, Filip Kastl wrote: > > > On Thu 2025-07-17 10:00:01, Richard Biener wrote: > > > On Thu, 17 Jul 2025, Filip Kastl wrote: > > > > > > > Hi, > > > > > > > > This patch cuts out the solver from tree-ssa-structalias.cc. Soon,

Re: [PATCH v1 1/3] libstdc++: Implement is_sufficiently_aligned.

2025-07-17 Thread Jonathan Wakely
On Thu, 17 Jul 2025 at 11:54, Jonathan Wakely wrote: > > On Thu, 17 Jul 2025 at 11:32, Luc Grosheintz wrote: > > > > Thank you! This uncovered a misconception of mine, namely that > > > > { target c++17 } > > > > would automatically run on C++17 and all later versions. Which is > > true, by ac

Re: [PATCH v1 1/3] libstdc++: Implement is_sufficiently_aligned.

2025-07-17 Thread Jonathan Wakely
On Thu, 17 Jul 2025 at 11:32, Luc Grosheintz wrote: > > Thank you! This uncovered a misconception of mine, namely that > > { target c++17 } > > would automatically run on C++17 and all later versions. Which is > true, by accident, for { target c++23 }. At least in my rather > default config it

[COMMITTED,PATCH 3/3] s390: Rework signbit optab

2025-07-17 Thread Stefan Schulze Frielinghaus
Currently for a signbit operation instructions tc{f,d,x}b + ipm + srl are emitted. If the source operand is a MEM, then a load precedes the sequence. A faster implementation is by issuing a load either from a REG or MEM into a GPR followed by a shift. In spirit of the signbit function of the C s

[COMMITTED,PATCH 1/3] s390: Add implicit zero extend for VLGV

2025-07-17 Thread Stefan Schulze Frielinghaus
Exploit the fact that instruction VLGV zeros excessive bits of a GPR. gcc/ChangeLog: * config/s390/vector.md (bhfgq): Add scalar modes. (*movdi_zero_extend_A): New insn. (*movsi_zero_extend_A): New insn. (*movdi_zero_extend_B): New insn. (*movsi_zero_extend

[COMMITTED,PATCH 2/3] s390: Adapt GPR<->VR costs

2025-07-17 Thread Stefan Schulze Frielinghaus
Moving between GPRs and VRs in any mode with size less than or equal to 8 bytes becomes available with vector extensions. Without adapting costs for those loads, we typically go over memory. gcc/ChangeLog: * config/s390/s390.cc (s390_register_move_cost): Add costing for vlvg/vlgv

Re: [PATCH v1 1/3] libstdc++: Implement is_sufficiently_aligned.

2025-07-17 Thread Luc Grosheintz
On 7/17/25 11:14, Jonathan Wakely wrote: On Thu, 17 Jul 2025 at 10:05, Luc Grosheintz wrote: On 7/8/25 16:56, Tomasz Kaminski wrote: On Thu, Jul 3, 2025 at 12:36 PM Luc Grosheintz wrote: This commit implements and tests the function is_sufficiently_aligned from P2897R7. libstdc++-v3/

[PATCH] tree-optimization/121048 - move check for only having vector(1)

2025-07-17 Thread Richard Biener
The following moves rejecting loop vectorization with vector(1) typed vectors from the initial vector type determining to after SLP discovery when we can check whether there's any instance with other than vector(1) vectors. For RVV at least vector(1) instances serve as a limited way to support par

Re: [PATCH v5 3/11] openmp: Add support for iterators in 'target update' clauses (C/C++)

2025-07-17 Thread Tobias Burnus
Kwok Cheung Yeung wrote: Subject: [PATCH 03/11] openmp: Add support for iterators in 'target update' clauses (C/C++) This adds support for iterators in 'to' and 'from' clauses in the 'target update' OpenMP directive. * * * + c_parser_error (parser, "% or % clause with modifier " +

Re: [PATCH v1 3/3] libstdc++: Implement aligned_accessor from mdspan.

2025-07-17 Thread Luc Grosheintz
On 7/8/25 17:37, Tomasz Kaminski wrote: On Thu, Jul 3, 2025 at 12:38 PM Luc Grosheintz wrote: This commit completes the implementation of P2897R7 by implementing and testing the template class aligned_accessor. libstdc++-v3/ChangeLog: * include/bits/version.def (aligned_accessor)

Re: [PATCH] tree-ssa-structalias: Put solver into its own file

2025-07-17 Thread Richard Biener
On Thu, 17 Jul 2025, Filip Kastl wrote: > On Thu 2025-07-17 10:00:01, Richard Biener wrote: > > On Thu, 17 Jul 2025, Filip Kastl wrote: > > > > > Hi, > > > > > > This patch cuts out the solver from tree-ssa-structalias.cc. Soon, I'd > > > like to > > > also cut out the part that generates cons

Re: [PATCH] tree-ssa-structalias: Put solver into its own file

2025-07-17 Thread Filip Kastl
On Thu 2025-07-17 10:00:01, Richard Biener wrote: > On Thu, 17 Jul 2025, Filip Kastl wrote: > > > Hi, > > > > This patch cuts out the solver from tree-ssa-structalias.cc. Soon, I'd > > like to > > also cut out the part that generates constraints and perhaps also other > > parts. > > > > My bi

  1   2   >