[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

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] 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] 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

[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 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 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] 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

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: [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 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: [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 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

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 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] 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

[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 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

[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] 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 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

[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

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 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

[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

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 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

[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

[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--):

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 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

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 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

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. >

[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] 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)

[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

[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

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

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 >

[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 //

[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

[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

[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

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 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

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

[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] 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] 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] 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 v1 1/3] libstdc++: Implement is_sufficiently_aligned.

2025-07-17 Thread Luc Grosheintz
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/ChangeLog: * include/bits/align.h (is_sufficiently_aligned): New function. * inc

RE: [PATCH v2] aarch64: Adapt unwinder to linux's SME signal behaviour

2025-07-17 Thread Tamar Christina
> -Original Message- > From: Yury Khrustalev > Sent: Wednesday, July 16, 2025 1:14 PM > To: gcc-patches@gcc.gnu.org > Cc: Richard Sandiford ; Tamar Christina > ; Mark Rutland > Subject: [PATCH v2] aarch64: Adapt unwinder to linux's SME signal behaviour > > From: Richard Sandiford > > S

Re: [PATCH v5 2/11] openmp: Add support for iterators in map clauses (C/C++)

2025-07-17 Thread Tobias Burnus
Hi Kwok, thanks for the patch; looks quite good, but I have a couple of remarks: Kwok Cheung Yeung wrote: Date: Sat, 3 May 2025 20:24:26 + Subject: [PATCH 02/11] openmp: Add support for iterators in map clauses (C/C++) This adds preliminary support for iterators in map clauses within Op

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

2025-07-17 Thread Jonathan Wakely
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/ChangeLog: > >

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

2025-07-17 Thread Luc Grosheintz
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: Regenerate. * include/std/mdspan (dims): Add. *

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

2025-07-17 Thread Luc Grosheintz
On 7/17/25 09:07, 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: Regenerate.

[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__((noinline))

Re: PING⁴ – PING³ – Re: PING³ — Re: PING (and v2) – [Patch] nvptx/nvptx.opt: Update -march-map= for newer sm_xxx

2025-07-17 Thread Tobias Burnus
PING⁴ June 25, 2025, Tobias Burnus wrote: PING³ June 2, 2025 Tobias Burnus wrote: Tobias Burnus wrote: PING² On May 12, 2025, Tobias Burnus wrote: PING. There is actually a minor update as meanwhile CUDA 12.8 was released that added the 'f' suffix and sm_103 and sm_121. Still, the pattern

Re: [PATCH v5 0/3] Hard Register Constraints

2025-07-17 Thread Stefan Schulze Frielinghaus
On Wed, Jul 09, 2025 at 03:48:43PM +0200, Stefan Schulze Frielinghaus wrote: > This is a follow-up to > https://gcc.gnu.org/pipermail/gcc-patches/2025-May/684181.html > > I added the last missing pieces namely changelogs, and bootstrapped and > regtested on > > aarch64-unknown-linux-gnu > powerpc

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

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 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)

[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 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/

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

[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

[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 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

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

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

[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] 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))); }; > >

[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 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] 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] 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

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] 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] 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 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: > >

Contents of PO file 'cpplib-15.1-b20250316.sr.po'

2025-07-17 Thread Translation Project Robot
cpplib-15.1-b20250316.sr.po.gz Description: Binary data The Translation Project robot, in the name of your translation coordinator.

[PATCH] tree-optimization/121126 - properly verify live LC PHIs

2025-07-17 Thread Richard Biener
The following makes sure we analyze live LC PHIs not part of a double reduction. Bootstrap and regtest running on x86_64-unknown-linux-gnu. PR tree-optimization/121126 * tree-vect-stmts.cc (vect_analyze_stmt): Analyze the live lane extract for LC PHIs that are vect_interna

New Serbian PO file for 'cpplib' (version 15.1-b20250316)

2025-07-17 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'cpplib' has been submitted by the Serbian team of translators. The file is available at: https://translationproject.org/latest/cpplib/sr.po (This file, 'cpplib-15.1-b202503

[PATCH v3] 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 v5 2/6] dwarf: create annotation DIEs for btf tags

2025-07-17 Thread Richard Biener
On Thu, Jul 17, 2025 at 6:53 PM David Faust wrote: > > > > 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 use

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

2025-07-17 Thread Kishan Parmar
On 18/07/25 2:09 am, Segher Boessenkool wrote: > So, how do you resolve it in this backport, simply leaving out those > hunks? > > If so: okay for 14. You don't want to backport further, right? More > stuff becomes missing :-) Yes, We need to ignore those patterns in this backport! Thanks, Kis

[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

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

2025-07-17 Thread Tomasz Kaminski
On Thu, Jul 17, 2025 at 10:39 PM Jonathan Wakely wrote: > 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>

[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] 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

  1   2   >