Re: [PATCH 1/2] lra: Stop constraint processing on error [PR121205]

2025-07-24 Thread Stefan Schulze Frielinghaus
On Thu, Jul 24, 2025 at 12:03:43PM +0200, Stefan Schulze Frielinghaus wrote: > It looks like we didn't have a test so far reaching this point which > changed with the new hard register constraint tests. Bootstrap and > regtest are still running on x86_64. If they succeed, ok for mainline? Meanwh

Re: [PATCH 4/4] Do not set STMT_VINFO_VECTYPE from dataref analysis

2025-07-24 Thread Robin Dapp
It's probably changes from the RVV cost modeling behavior, the patches are of course not supposed to change code generation. These tests don't use dynamic LMUL (which needs a special flag and is not generally active) so it would be odd if they were affected by the costing changes. In particul

Re: [PATCH 4/4] Do not set STMT_VINFO_VECTYPE from dataref analysis

2025-07-24 Thread Richard Biener
On Thu, 24 Jul 2025, Robin Dapp wrote: > > I do see regressions for zve32x-3.c et al. Those might be related to the > > recently fixed tests regarding partial vectorization with vector(1) types > > but I haven't checked further for now. > > The regressions are "scan failures". One loop is not l

[PATCH v4 8/9] LoongArch: Prioritize target-specific makefile fragments

2025-07-24 Thread Yang Yujie
libgcc/ChangeLog: * config.host: Remove unused code. Include LoongArch-specific tmake_files after the OS-specific ones. --- libgcc/config.host | 31 --- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/libgcc/config.host b/libgcc/config.h

[PATCH v4 9/9] LoongArch: Add support for _BitInt [PR117599]

2025-07-24 Thread Yang Yujie
This patch adds support for C23's _BitInt for LoongArch. >From the LoongArch psABI[1]: > _BitInt(N) objects are stored in little-endian order in memory > and are signed by default. > > For N ≤ 64, a _BitInt(N) object have the same size and alignment > of the smallest fundamental integral type tha

[PATCH v4 7/9] bitint: Do not optimize away conversion to _BitInt before a VCE

2025-07-24 Thread Yang Yujie
A _BitInt value may rely on a conversion to become properly extended. So a conversion to _BitInt is not trivially removable even if the types of the result and the operand have the same precision and size. This patches fixes gcc.dg/torture/bitint-64.c at -O2 on LoongArch, which fails because exten

[PATCH v4 5/9] bitint: Zero-extend the result of a signed->unsigned widening cast

2025-07-24 Thread Yang Yujie
A widening cast from a signed _BitInt operand to an unsigned _BitInt type involves filling the extra limb(s) with sign extension. On a target that wants _BitInts extended in memory, if this unsigned type has a partial limb, the unused part of it should be zeroed. e.g. Assuming limb_mode == E_DImod

[PATCH v4 3/9] bitint: Allow unused bits when testing extended _BitInt ABIs

2025-07-24 Thread Yang Yujie
In LoongArch psABI, large _BitInt(N) (N > 64) objects are only extended to fill the highest 8-byte chunk that contains any used bit, but the size of such a large _BitInt type is a multiple of their 16-byte alignment. So there may be an entire unused 8-byte chunk that is not filled by extension, an

[PATCH v4 0/9] LoongArch: Add support for _BitInt [PR117599]

2025-07-24 Thread Yang Yujie
Changes from v3: 1. Modify BEXTC to compare in the original type of the operand instead of the extended type of the copied object. Due to omission of BITINT_EXTEND during expand, which forces an actual extension from the operand to a wider type, we can no longer rely on the value of t

[PATCH v4 6/9] bitint: Make sure BEXTC checks extension when optimized

2025-07-24 Thread Yang Yujie
In BEXTC, whether a _BitInt object is properly extended is examined by a value comparison against a copied object in a wider _BitInt type that utilizes all of the partial limb. Since the (implicit) conversion to the wider type may be optimized away and cause the result of the comparison to always

[PATCH v4 4/9] bitint: Avoid extending ABI-extended large/huge _BitInts on load

2025-07-24 Thread Yang Yujie
This patch also make casts of ABI-extended large/huge _BitInts behave the same as the small/middle case, i.e. no-op for casts to a higher precision _BitInt with the same number of limbs / extension for casts that turns a full top limb into a partial limb. This conveniently helps keep some code with

[PATCH v4 2/9] expand: Reduce unneeded _BitInt extensions

2025-07-24 Thread Yang Yujie
For targets that set the "extended" flag in TARGET_C_BITINT_TYPE_INFO, we assume small _BitInts to be internally extended after arithmetic operations. In this case, an extra extension during RTL expansion can be avoided. gcc/ChangeLog: * expr.cc (expand_expr_real_1): Do not call r

[PATCH v4 1/9] bitint: Allow mode promotion of _BitInt types

2025-07-24 Thread Yang Yujie
For targets that treat small _BitInts like the fundamental integral types, we should allow their machine modes to be promoted in the same way. gcc/ChangeLog: * explow.cc (promote_function_mode): Add a case for small/medium _BitInts. (promote_mode): Same. --- gcc/explow.cc

[PATCH] Prevent mixups of IDENTIFIER_TRANSPARENT_ALIAS and IDENTIFIER_INTERNAL_P better [PR120855]

2025-07-24 Thread Nathaniel Shead
Bootstrapped and regtested on x86_64-pc-linux-gnu. Also verified that it fixes the regression on an mcore-elf cross. OK for trunk? -- >8 -- The assertion failure on ASM_OUTPUT_WEAKREF targets since my r16-1738 was caused because the 'TREE_CHAIN (id)' check in assemble_name_resolve no longer imp

Re: [PATCH 2/2] xtensa: Fix inaccuracy in xtensa_rtx_costs()

2025-07-24 Thread Takayuki 'January June' Suwa
On 2025/07/23 2:16, Max Filippov wrote: Regtested for target=xtensa-linux-uclibc. Two new regressions in the configuration with call0 ABI: FAIL: gcc.c-torture/execute/2603-1.c -O2 execution test FAIL: gcc.c-torture/execute/2603-1.c -O3 -g execution test because the load from b->d

Re: [PATCH] RISC-V: Add support for resumable non-maskable interrupt (RNMI) handlers

2025-07-24 Thread Kito Cheng
LGTM :) Christoph Müllner 於 2025年7月25日 週五 05:33 寫道: > The Smrnmi extension introduces the nmret instruction to return from RNMI > handlers. We already have basic Smrnmi support. This patch introduces > support for the nmret instruction and the ability to set the function > attribute `__attribu

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Kees Cook
On Thu, Jul 24, 2025 at 07:19:48PM +, Aaron Ballman wrote: > I'll have to think about that more, but my initial reaction is: that's > making our implementation/design problems be the user's problem. Maybe > that's fine? But it would be kind of frustrating as a user to have > code using `__count

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Kees Cook
On Thu, Jul 24, 2025 at 04:26:12PM +, Aaron Ballman wrote: > Ah, apologies, I wasn't clear. My thinking is: we're (Clang folks) > going to want it to work in C++ mode because of shared headers. If it > works in C++ mode, then we have to figure out what it means with all > the various C++ featur

Re: [PATCH v5] c++: Unwrap type traits defined in terms of builtins within diagnostics [PR117294]

2025-07-24 Thread Nathaniel Shead
On Thu, Jul 24, 2025 at 01:16:24PM -0400, Jason Merrill wrote: > On 7/24/25 8:40 AM, Nathaniel Shead wrote: > > On Thu, Jul 24, 2025 at 09:02:24PM +1000, Nathaniel Shead wrote: > > > On Tue, Jul 08, 2025 at 12:51:37PM -0400, Jason Merrill wrote: > > > > I'm resistant to moving functions around unne

[PATCH] c++/modules: Stream some missing lang_type flags

2025-07-24 Thread Nathaniel Shead
Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? -- >8 -- I noticed that C++26 trivial relocation didn't work in modules yet, and there are a couple of other flags that seem potentially useful we weren't streaming. This streams those flags and adds a comment to cp-tree.h to help

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Martin Uecker
Am Donnerstag, dem 24.07.2025 um 15:06 -0700 schrieb Bill Wendling: > On Thu, Jul 24, 2025 at 11:11 AM Martin Uecker wrote: > > Am Donnerstag, dem 24.07.2025 um 16:26 + schrieb Aaron Ballman: > > > > > > constexpr size_t size = 4; > > struct foo { > > char (*buf)[size] __counted_by(size);

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Bill Wendling
On Thu, Jul 24, 2025 at 11:11 AM Martin Uecker wrote: > Am Donnerstag, dem 24.07.2025 um 16:26 + schrieb Aaron Ballman: > > On Thu, Jul 24, 2025 at 3:03 PM Martin Uecker wrote: > > > Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > > > For my understanding: What is the pr

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Martin Uecker
Am Donnerstag, dem 24.07.2025 um 14:25 -0700 schrieb Bill Wendling: > On Thu, Jul 24, 2025 at 8:03 AM Martin Uecker wrote: > > Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > > > On Wed, Jul 23, 2025 at 8:38 PM Martin Uecker wrote: ... > > > > TBH, I am not terrible convin

Re: [PATCH] c++: more name lookup for non-dep rewritten cmp ops

2025-07-24 Thread Jason Merrill
On 7/24/25 5:20 PM, Patrick Palka wrote: On Thu, 24 Jul 2025, Jason Merrill wrote: On 7/23/25 8:29 PM, Patrick Palka wrote: On Wed, 23 Jul 2025, Jason Merrill wrote: On 7/23/25 3:46 PM, Patrick Palka wrote: As a follow-up to r16-2448-g7590c14b53a762, this patch attempts to teach build_min_n

[PATCH] RISC-V: Add support for resumable non-maskable interrupt (RNMI) handlers

2025-07-24 Thread Christoph Müllner
The Smrnmi extension introduces the nmret instruction to return from RNMI handlers. We already have basic Smrnmi support. This patch introduces support for the nmret instruction and the ability to set the function attribute `__attribute__ ((interrupt ("rnmi")))` to let the compiler generate RNMI

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Bill Wendling
On Thu, Jul 24, 2025 at 8:03 AM Martin Uecker wrote: > Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > > On Wed, Jul 23, 2025 at 8:38 PM Martin Uecker wrote: > > > > That said, John McCall pointed out some usage patterns Apple has with > > > > their existing feature: > > > >

Re: [PATCH] c++: more name lookup for non-dep rewritten cmp ops

2025-07-24 Thread Patrick Palka
On Thu, 24 Jul 2025, Jason Merrill wrote: > On 7/23/25 8:29 PM, Patrick Palka wrote: > > On Wed, 23 Jul 2025, Jason Merrill wrote: > > > > > On 7/23/25 3:46 PM, Patrick Palka wrote: > > > > As a follow-up to r16-2448-g7590c14b53a762, this patch attempts to teach > > > > build_min_non_dep_op_overl

Re: [PATCH] c++: more name lookup for non-dep rewritten cmp ops

2025-07-24 Thread Jason Merrill
On 7/23/25 8:29 PM, Patrick Palka wrote: On Wed, 23 Jul 2025, Jason Merrill wrote: On 7/23/25 3:46 PM, Patrick Palka wrote: As a follow-up to r16-2448-g7590c14b53a762, this patch attempts to teach build_min_non_dep_op_overload how to rebuild all rewritten comparison operators, not just != -> =

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Qing Zhao
> On Jul 24, 2025, at 11:03, Martin Uecker wrote: __counted_by(M)); ``` It's kind of gross to need two attributes to do the same notional thing, but it does solve the vast majority of the usages seen in the wild if you're willing to accept some awkwardness around things

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Martin Uecker
Am Donnerstag, dem 24.07.2025 um 19:19 + schrieb Aaron Ballman: > On Thu, Jul 24, 2025 at 6:11 PM Martin Uecker wrote: > > > > Am Donnerstag, dem 24.07.2025 um 16:26 + schrieb Aaron Ballman: > > > On Thu, Jul 24, 2025 at 3:03 PM Martin Uecker wrote: > > > > > > > > Am Donnerstag, dem 24

Re: [Fortran, Coarray] Call-out to everyone having Fortran coarray-codes available

2025-07-24 Thread Toon Moene
On 7/24/25 21:35, Thomas Koenig wrote: Am 23.07.25 um 21:47 schrieb Toon Moene: Today I used Thomas's "locks" example code from the same e-mail message (showing the full output): Actually, I think that example is flawed, it lacks synchronization. Sorry for that. Good - hope it's not too h

Re: [pushed] c++: lambda convop in C++23 [PR114632]

2025-07-24 Thread Jason Merrill
On 7/24/25 2:43 PM, Patrick Palka wrote: On Thu, 24 Jul 2025, Jason Merrill wrote: The lambda conversion was ICEing for two C++23 features, static op() and explicit object parameters. The issue with the former seems like a more general issue: tsubst_function_decl recursing to substitute the pa

Re: [Fortran, Coarray] Call-out to everyone having Fortran coarray-codes available

2025-07-24 Thread Thomas Koenig
Am 23.07.25 um 21:47 schrieb Toon Moene: Today I used Thomas's "locks" example code from the same e-mail message (showing the full output): Actually, I think that example is flawed, it lacks synchronization. Sorry for that. Best regards Thomas

[PATCH] x86: Disallow -mtls-dialect=gnu with no_caller_saved_registers

2025-07-24 Thread H.J. Lu
On x86-64, __tls_get_addr is a normal function which doesn't preserve vector registers. On i386, ___tls_get_addr preserve vector registers only with the commit: 848f0e46f0 i386: Update ___tls_get_addr to preserve vector registers which fixed: https://sourceware.org/bugzilla/show_bug.cgi?id=3299

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Aaron Ballman
On Thu, Jul 24, 2025 at 6:11 PM Martin Uecker wrote: > > Am Donnerstag, dem 24.07.2025 um 16:26 + schrieb Aaron Ballman: > > On Thu, Jul 24, 2025 at 3:03 PM Martin Uecker wrote: > > > > > > Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > > > > On Wed, Jul 23, 2025 at 8:3

Re: [Patch] gcn: Add "s_nop"s for MI300

2025-07-24 Thread Tobias Burnus
Andrew Stubbs wrote: On 24/07/2025 16:49, Tobias Burnus wrote: Andrew Stubbs wrote: On 24/07/2025 14:25, Tobias Burnus wrote: +/* Device requires CDNA1-style manually inserted wait states for AVGPRs.  */ +#define TARGET_AVGPR_CDNA3_NOPS TARGET_CDNA3 This is not for CDNA1, and not for AVGPRS.

Re: [pushed] c++: lambda convop in C++23 [PR114632]

2025-07-24 Thread Patrick Palka
On Thu, 24 Jul 2025, Jason Merrill wrote: > Tested x86_64-pc-linux-gnu, applying to trunk. > > -- 8< -- > > The lambda conversion was ICEing for two C++23 features, static op() and > explicit object parameters. The issue with the former seems like a more > general issue: tsubst_function_decl re

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Martin Uecker
Am Donnerstag, dem 24.07.2025 um 16:26 + schrieb Aaron Ballman: > On Thu, Jul 24, 2025 at 3:03 PM Martin Uecker wrote: > > > > Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > > > On Wed, Jul 23, 2025 at 8:38 PM Martin Uecker wrote: > > > > > ... > > > > > > Personall

[pushed] c++: lambda convop in C++23 [PR114632]

2025-07-24 Thread Jason Merrill
Tested x86_64-pc-linux-gnu, applying to trunk. -- 8< -- The lambda conversion was ICEing for two C++23 features, static op() and explicit object parameters. The issue with the former seems like a more general issue: tsubst_function_decl recursing to substitute the parameters was affected by cp_u

[committed] cobol: Honor the "-static" command-line option. [PR119231]

2025-07-24 Thread Robert Dubner
Subject: [PATCH] cobol: Honor the "-static" command-line option. [PR119231] gcc/cobol/ChangeLog: PR cobol/119231 * gcobolspec.cc: (lang_specific_driver): Pass OPT_static through. Handle -static and -static-libgcobol properly. gcc/testsuite/ChangeLog: * cobol.dg/g

Re: [PATCH v5] c++: Unwrap type traits defined in terms of builtins within diagnostics [PR117294]

2025-07-24 Thread Jason Merrill
On 7/24/25 8:40 AM, Nathaniel Shead wrote: On Thu, Jul 24, 2025 at 09:02:24PM +1000, Nathaniel Shead wrote: On Tue, Jul 08, 2025 at 12:51:37PM -0400, Jason Merrill wrote: I'm resistant to moving functions around unnecessarily, as it makes git change tracking a lot harder. Especially when it me

Re: [PATCH] c++: more name lookup for non-dep rewritten cmp ops

2025-07-24 Thread Patrick Palka
On Wed, 23 Jul 2025, Patrick Palka wrote: > On Wed, 23 Jul 2025, Jason Merrill wrote: > > > On 7/23/25 3:46 PM, Patrick Palka wrote: > > > As a follow-up to r16-2448-g7590c14b53a762, this patch attempts to teach > > > build_min_non_dep_op_overload how to rebuild all rewritten comparison > > > ope

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
> On 24 Jul 2025, at 17:46, Jason Merrill wrote: > > On 7/24/25 12:39 PM, Iain Sandoe wrote: >>> On 24 Jul 2025, at 17:31, Jason Merrill wrote: >>> >>> On 7/24/25 10:24 AM, Iain Sandoe wrote: >>> We should check (gcc_checking_assert?) that NRVO works in the case >>> where we expect

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Jason Merrill
On 7/24/25 12:39 PM, Iain Sandoe wrote: On 24 Jul 2025, at 17:31, Jason Merrill wrote: On 7/24/25 10:24 AM, Iain Sandoe wrote: We should check (gcc_checking_assert?) that NRVO works in the case where we expect it to, rather than let NRVO failures show up as wrong-code. This seems a simple

Re: [Patch] gcn: Add "s_nop"s for MI300

2025-07-24 Thread Andrew Stubbs
On 24/07/2025 16:49, Tobias Burnus wrote: Andrew Stubbs wrote: On 24/07/2025 14:25, Tobias Burnus wrote: +/* Device requires CDNA1-style manually inserted wait states for AVGPRs.  */ +#define TARGET_AVGPR_CDNA3_NOPS TARGET_CDNA3 This is not for CDNA1, and not for AVGPRS. I have deleted it

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
> On 24 Jul 2025, at 17:31, Jason Merrill wrote: > > On 7/24/25 10:24 AM, Iain Sandoe wrote: > We should check (gcc_checking_assert?) that NRVO works in the case where > we expect it to, rather than let NRVO failures show up as wrong-code. This seems a simple request - but it see

[PUSHED] Fix minor typo in #ifdef docuementation

2025-07-24 Thread Andrew Pinski
As reported in https://gcc.gnu.org/pipermail/gcc/2025-July/246417.html, This fixes the minor typo under the #ifdef documentation about adding MACRO after the #endif and the MACRO matching of the #ifdef. It had `#ifndef` in it, rather than `#ifdef`. Pushed as obvious. gcc/ChangeLog: * doc

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Jason Merrill
On 7/24/25 10:24 AM, Iain Sandoe wrote: We should check (gcc_checking_assert?) that NRVO works in the case where we expect it to, rather than let NRVO failures show up as wrong-code. This seems a simple request - but it seems quite involved to implement; the conditions that have to be met are n

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Aaron Ballman
On Thu, Jul 24, 2025 at 3:03 PM Martin Uecker wrote: > > Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > > On Wed, Jul 23, 2025 at 8:38 PM Martin Uecker wrote: > > > > ... > > > > > > > That said, John McCall pointed out some usage patterns Apple has with > > > > their exist

Re: [Patch] gcn: Add "s_nop"s for MI300

2025-07-24 Thread Tobias Burnus
Andrew Stubbs wrote: On 24/07/2025 14:25, Tobias Burnus wrote: +/* Device requires CDNA1-style manually inserted wait states for AVGPRs.  */ +#define TARGET_AVGPR_CDNA3_NOPS TARGET_CDNA3 This is not for CDNA1, and not for AVGPRS. I have deleted it and use now TARGET_CDNA3 directly. +

Re: [PATCH 4/4] Do not set STMT_VINFO_VECTYPE from dataref analysis

2025-07-24 Thread Robin Dapp
I do see regressions for zve32x-3.c et al. Those might be related to the recently fixed tests regarding partial vectorization with vector(1) types but I haven't checked further for now. The regressions are "scan failures". One loop is not loop vectorized any more but SLP vectorized and the f

[PATCH 3/4] i386: Fix incorrect handling of simultaneous regparm and thiscall use

2025-07-24 Thread Artemiy Granat
gcc/ChangeLog: * config/i386/i386-options.cc (ix86_handle_cconv_attribute): Handle simultaneous use of regparm and thiscall attributes in case when regparm is set before thiscall. gcc/testsuite/ChangeLog: * gcc.target/i386/attributes-error.c: Add more attributes

[PATCH 1/4] i386: Ignore regparm attribute and warn for it in 64-bit mode

2025-07-24 Thread Artemiy Granat
The regparm attribute does not affect code generation on x86-64 target. Despite this, regparm was accepted silently, unlike other calling convention attributes handled in the ix86_handle_cconv_attribute function. Due to lack of diagnostics, Linux kernel attempted to specify regparm(0) on vmread_er

[PATCH 2/4] i386: Fix incorrect comment about stdcall and fastcall compatibility

2025-07-24 Thread Artemiy Granat
gcc/ChangeLog: * config/i386/i386-options.cc (ix86_handle_cconv_attribute): Fix comments which state that combination of stdcall and fastcall attributes is valid but redundant. --- gcc/config/i386/i386-options.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)

[PATCH 4/4] i386: Fix typo in diagnostic about simultaneous regparm and thiscall use

2025-07-24 Thread Artemiy Granat
gcc/ChangeLog: * config/i386/i386-options.cc (ix86_handle_cconv_attribute): Fix typo. --- gcc/config/i386/i386-options.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc index e7b200cd4f1..f6cca6

[PATCH] Remove vec_stmt from vectorizable_* API

2025-07-24 Thread Richard Biener
The following removes the non-SLP gimple **vec_stmt argument from the vectorizable_* functions API. Checks on it can be replaced by an inverted check on the passed cost_vec vector pointer. Bootstrap and regtest running on x86_64-unknown-linux-gnu. * tree-vectorizer.h (vectorizable_induct

[PATCH v2] configure: reject unsupported --with-long-double-64 option

2025-07-24 Thread Kishan Parmar
Hello, Changes from V1: Corrected Commit Message. Configure script previously accepted unsupported --with-long-double-64 option without any warning, leading to confusion. This option was mistakenly documented in install.texi but never handled by configure script, resulting in it bein

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Martin Uecker
Am Donnerstag, dem 24.07.2025 um 14:08 + schrieb Aaron Ballman: > On Wed, Jul 23, 2025 at 8:38 PM Martin Uecker wrote: > > ... > > > > That said, John McCall pointed out some usage patterns Apple has with > > > their existing feature: > > > > > > * 655 simple references to variables or str

[PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
>>>We should check (gcc_checking_assert?) that NRVO works in the case where we >>>expect it to, rather than let NRVO failures show up as wrong-code. >>This seems a simple request - but it seems quite involved to implement; >>the conditions that have to be met are numerous - I've made an attempt (t

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Aaron Ballman
On Wed, Jul 23, 2025 at 7:40 PM Kees Cook wrote: > > On Wed, Jul 23, 2025 at 11:53:40AM +, Aaron Ballman wrote: > > That said, John McCall pointed out some usage patterns Apple has with > > their existing feature: > > > > * 655 simple references to variables or struct members: __counted_by(len

Re: [PATCH] [RFC] Delayed parsing for bounds safety attributes

2025-07-24 Thread Aaron Ballman
On Wed, Jul 23, 2025 at 8:38 PM Martin Uecker wrote: > > Am Mittwoch, dem 23.07.2025 um 11:53 + schrieb Aaron Ballman: > > On Wed, Jul 23, 2025 at 5:47 AM Martin Uecker wrote: > > > > > > > This is a personal stance of mine, not a Clang community response. > > > > > > > But this requires true

Re: [PATCH v2] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Jason Merrill
On 7/24/25 6:59 AM, Iain Sandoe wrote: return machinery to return the g_r_o_o_a_f. I think it should be simpler/cleaner to move the grooaf case to the 'else' rather than the 'then', to accommodate the NRVO limitation described in check_return_expr: Done. same type. We should check

Re: [Patch] gcn: Add "s_nop"s for MI300

2025-07-24 Thread Andrew Stubbs
On 24/07/2025 14:25, Tobias Burnus wrote: Hello Andrew, hello world, some instructions take a bit longer but permit that the next instruction is processed while finishing the work. That works well - and speeds up the calculation - unless the next instruction relies on those being available. Whic

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

2025-07-24 Thread Qing Zhao
Ping. The patch has been committed to trunk 2 months ago. Okay for committing to GCC15 now? thanks. Qing > On Jul 17, 2025, at 17:26, Qing Zhao wrote: > > 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 >

[Patch] gcn: Add "s_nop"s for MI300

2025-07-24 Thread Tobias Burnus
Hello Andrew, hello world, some instructions take a bit longer but permit that the next instruction is processed while finishing the work. That works well - and speeds up the calculation - unless the next instruction relies on those being available. Which combinations instructions are affected ar

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

2025-07-24 Thread Qing Zhao
Ping. The patch has been committed to trunk 2 months ago. Okay for committing to GCC15 now? thanks. Qing > On Jul 17, 2025, at 17:26, Qing Zhao wrote: > > 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 i

[committed v3] libstdc++: Expand compile-time ranges tests for vector and basic_string.

2025-07-24 Thread Tomasz Kamiński
This replaces most test_constexpr invocations with direct calls to test_ranges(), which is also used for runtime tests. SimpleAllocator was made constexpr to simplify this refactoring. Other test allocators, like uneq_allocator (used in from_range constructor tests), were not updated. libstdc++-v

[PATCH 2/3] Remove non-SLP path from vectorizable_early_exit

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 44 +++--- 1 file changed, 7 insertions(+), 37 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 10d05a87830..b38d78500aa 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -12564,7 +12

[PATCH 3/3] Remove non-SLP path from vectorizable_early_exit

2025-07-24 Thread Richard Biener
This removes the non-SLP path from vectorizable_early_exit. Bootstrap and regtest ongoing on x86_64-unknown-linux-gnu, will squash and push when succeeded. * tree-vect-stmts.cc (vectorizable_early_exit): Remove non-SLP path. --- gcc/tree-vect-stmts.cc | 51 +++

[PATCH 1/3] Remove non-SLP path from vectorizable_early_exit

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 203c21b460a..10d05a87830 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -12564,7 +12564,7 @@ vectorizable_early_e

[PATCH 3/3] Remove non-SLP path from vectorizable_simd_clone_call

2025-07-24 Thread Richard Biener
This removes the non-SLP path from vectorizable_simd_clone_call and the then unused simd_clone_info from the stmt_vec_info structure. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Will squash and push if that succeeds. * tree-vectorizer.h (_stmt_vec_info::simd_clone_info

Re: [PATCH v2 1/1] aarch64: Add support for unpacked SVE FP conditional binary arithmetic

2025-07-24 Thread Remi Machet
On 7/24/25 08:19, Spencer Abson wrote: > External email: Use caution opening links or attachments > > > This patch extends the expander for conditional smax, smin, add, sub, mul, > min, max, and div to support partial SVE FP modes. > > If exceptions from undefined vector elements must be suppresse

[PATCH 1/3] Remove non-SLP path from vectorizable_simd_clone_call

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 32 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index c6fdbe13a48..fa86aecd9bc 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -4017,7 +4017,7 @@ ve

Re: [PATCH] libstdc++: Expand compile-time ranges tests for vector and basic_string.

2025-07-24 Thread Patrick Palka
On Wed, 23 Jul 2025, Tomasz Kamiński wrote: > This replaces most test_constexpr invocations with direct calls to > test_ranges(), which is also used for runtime tests. > > SimpleAllocator was made constexpr to simplify this refactoring. Other > test allocators, like uneq_allocator (used in from_r

Re: [PATCH] RISC-V: Prepare dynamic LMUL heuristic for SLP.

2025-07-24 Thread Richard Biener
On Tue, Jul 22, 2025 at 11:46 AM Robin Dapp wrote: > > Hi, > > This patch prepares the dynamic LMUL vector costing to use the coming > SLP_TREE_TYPE instead of the (to-be-removed) STMT_VINFO_TYPE. > > Even though the whole approach should be reviewed and adjusted at some > point, the patch chooses

[PATCH 2/3] Remove non-SLP path from vectorizable_simd_clone_call

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 115 ++--- 1 file changed, 26 insertions(+), 89 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index fa86aecd9bc..3f9edb79479 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -3954,7 +39

Re: [PATCH] libstdc++: Cleaned up string_vector_iterators.cc test [PR104874]

2025-07-24 Thread Patrick Palka
On Thu, 24 Jul 2025, Tomasz Kamiński wrote: > Removed the wrong_stuff() function, which was effectively empty for > actual test runs. Replaced the manual failure counter with the VERIFY > macro to simplify identifying failures. LGTM > > PR libstdc++/104874 > > libstdc++-v3/ChangeLog: >

Re: [PATCH 06/11] builtins: optab: Tie the new atomic builtins to the backend

2025-07-24 Thread Matthew Malcomson
Ping (Libatomic autoinclude patch that this patch series depends on has been re-spinned, so bringing this patch series back to attention). https://gcc.gnu.org/pipermail/gcc-patches/2025-July/688838.html On 11/14/24 13:55, mmalcom...@nvidia.com wrote: From: Matthew Malcomson Not sure who to C

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

2025-07-24 Thread Robin Dapp
Stefan kindly ran a regtest on s390 which looked OK as well. I re-tested everything one more time and will commit soon. The patches were bootstrapped individually on x86 (and built on riscv) so I hope it's safe to not squash them. Thanks for the guidance on that patch/series. -- Regards Rob

Re: [PATCH 05/11] c: c++: Expand into CAS loop in frontend

2025-07-24 Thread Matthew Malcomson
Ping (Libatomic autoinclude patch that this patch series depends on has been re-spinned, so bringing this patch series back to attention). https://gcc.gnu.org/pipermail/gcc-patches/2025-July/688838.html On 11/14/24 13:55, mmalcom...@nvidia.com wrote: From: Matthew Malcomson Use wrapper in bu

Re: [PATCH 04/11] builtins: Add FP types for atomic builtin overload resolution

2025-07-24 Thread Matthew Malcomson
Ping (Libatomic autoinclude patch that this patch series depends on has been re-spinned, so bringing this patch series back to attention). https://gcc.gnu.org/pipermail/gcc-patches/2025-July/688838.html On 11/14/24 13:55, mmalcom...@nvidia.com wrote: From: Matthew Malcomson N.b. we match whi

Re: [PATCH 03/11] c: c++: Define new floating point builtin fetch_add functions

2025-07-24 Thread Matthew Malcomson
Ping (Libatomic autoinclude patch that this patch series depends on has been re-spinned, so bringing this patch series back to attention). https://gcc.gnu.org/pipermail/gcc-patches/2025-July/688838.html On 11/14/24 13:55, mmalcom...@nvidia.com wrote: From: Matthew Malcomson Not sure who to C

[PATCH 09/12] Remove non-SLP path from vectorizable_condition

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 44 ++ 1 file changed, 14 insertions(+), 30 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index a1847dc3f0d..949bee3b453 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -11812,7 +1

[PATCH 12/12] Remove non-SLP path from vectorizable_comparison

2025-07-24 Thread Richard Biener
This removes the non-SLP path from vectorizable_comparison. Bootstrapped and tested on x86_64-unknown-linux-gnu, squashed and pushed. * tree-vect-stmts.cc (vectorizable_comparison_1): Remove non-SLP path. (vectorizable_comparison): Likewise. --- gcc/tree-vect-stmts.cc | 2

[PATCH 11/12] Remove non-SLP path from vectorizable_comparison

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index dee6185106f..616b596b1c3 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -12327,7 +12327,7 @@ vectorizable_comparison_1 (

Re: [PATCH 07/11] testsuite: Add tests for fp resolutions of __atomic_fetch_add

2025-07-24 Thread Matthew Malcomson
Ping (Libatomic autoinclude patch that this patch series depends on has been re-spinned, so bringing this patch series back to attention). https://gcc.gnu.org/pipermail/gcc-patches/2025-July/688838.html On 11/14/24 13:55, mmalcom...@nvidia.com wrote: From: Matthew Malcomson N.b. including te

[PATCH 10/12] Remove non-SLP path from vectorizable_condition

2025-07-24 Thread Richard Biener
The following removes the non-SLP paths from vectorizable_condition. * tree-vect-stmts.cc (vectorizable_condition): Remove non-SLP paths. --- gcc/tree-vect-stmts.cc | 25 + 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/gcc/tree-vect-stmts.c

[PATCH 05/12] Remove non-SLP path from vectorizable_shift

2025-07-24 Thread Richard Biener
This removes the non-SLP paths from vectorizable_shift. * tree-vect-stmts.cc (vectorizable_shift): Remove non-SLP paths. --- gcc/tree-vect-stmts.cc | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index e98

[PATCH 06/12] Remove non-SLP path from vectorizable_scan_store

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index ca941aa5bc9..90a90ebe6de 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -7788,7 +7788,7 @@ vectorizable_scan_

[PATCH 07/12] Remove non-SLP path from vectorizable_scan_store

2025-07-24 Thread Richard Biener
This removes the non-SLP paths from vectorizable_scan_store. * tree-vect-stmts.cc (vectorizable_scan_store): Remove non-SLP path and unused parameters. (vectorizable_store): Adjust. --- gcc/tree-vect-stmts.cc | 38 ++ 1 file changed, 6 i

[PATCH 08/12] Remove non-SLP path from vectorizable_condition

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 9bed36283cf..a1847dc3f0d 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -11812,7 +11812,7 @@ vectorizable_condition

[PATCH 02/12] Remove non-SLP path from vectorizable_assignment

2025-07-24 Thread Richard Biener
This removes the non-SLP paths from vectorizable_assignment * tree-vect-stmts.cc (vectorizable_assignment): Remove non-SLP paths. --- gcc/tree-vect-stmts.cc | 28 +--- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/g

[PATCH 04/12] Remove non-SLP path from vectorizable_shift

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 111 - 1 file changed, 42 insertions(+), 69 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index aa2b7fa7c40..e98b02c3d39 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -5997,7 +59

[PATCH 03/12] Remove non-SLP path from vectorizable_shift

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index dcee631fd82..aa2b7fa7c40 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -6094,7 +6094,7 @@ vectorizab

[PATCH 01/12] Remove non-SLP path from vectorizable_assignment

2025-07-24 Thread Richard Biener
--- gcc/tree-vect-stmts.cc | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index ba0b94c93da..8f9aad9d7f1 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -5857,7 +5857,7 @@ vectorizable_assignment (vec_

Re: [PATCH 01/11] libatomic: Split concept of SUFFIX and SIZE in libatomic

2025-07-24 Thread Matthew Malcomson
Ping (Libatomic autoinclude patch that this patch series depends on has been re-spinned, so bringing this patch series back to attention). https://gcc.gnu.org/pipermail/gcc-patches/2025-July/688838.html On 11/14/24 13:55, mmalcom...@nvidia.com wrote: From: Matthew Malcomson Cc'ing in build m

Re: [PATCH v5] c++: Unwrap type traits defined in terms of builtins within diagnostics [PR117294]

2025-07-24 Thread Nathaniel Shead
On Thu, Jul 24, 2025 at 09:02:24PM +1000, Nathaniel Shead wrote: > On Tue, Jul 08, 2025 at 12:51:37PM -0400, Jason Merrill wrote: > > I'm resistant to moving functions around unnecessarily, as it makes git > > change tracking a lot harder. Especially when it means moving a function to > > a file t

Re: [RFC] vect: remove cast to pointer for create_iv in vect_create_data_ref_ptr

2025-07-24 Thread Richard Biener
On Thu, Jul 24, 2025 at 2:20 PM Alfie Richards wrote: > > Hi, > > This patch comes from me getting confused about gimple dumps from vect. > Specifically, while seemingly not causing any issues I found the conversion of > the IV step from an integral step, to a pointer value, and then to sizetype >

[PATCH v2 1/1] aarch64: Add support for unpacked SVE FP conditional binary arithmetic

2025-07-24 Thread Spencer Abson
This patch extends the expander for conditional smax, smin, add, sub, mul, min, max, and div to support partial SVE FP modes. If exceptions from undefined vector elements must be suppressed, this expansion converts the container-level predicate to an element-level one, and ensures that these eleme

[PATCH v2 0/1] aarch64: Add support for unpacked SVE FP conditional binary arithmetic

2025-07-24 Thread Spencer Abson
Hi all, Here is v2 of patch 11/14 from the unpacked FP series [1]. Apologies for the delay in posting. Changes since V1: * Applied Richard's suggestions RE comments, and the code change for aarch64_sve_emit_masked_fp_pred. * The tests now use -moverride=sve_width=2048, an

  1   2   >