Re: [PATCH v3] Consider frequency in cost estimation when converting scalar to vector.

2025-05-14 Thread Jan Hubicka
> Thansk for review. > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > Ok for trunk? > > n some benchmark, I notice stv failed due to cost unprofitable, but the igain > is inside the loop, but sse<->integer conversion is outside the loop, current > cost > model doesn't consider the

Re: [PATCH] gimple: allow fold_stmt without setting cfun in case of GIMPLE_COND folding

2025-05-14 Thread Richard Biener
On Tue, May 13, 2025 at 10:42 PM Andrew Pinski wrote: > > This is the followup mentioned in > https://gcc.gnu.org/pipermail/gcc-patches/2025-May/683444.html . > It adds the check for cfun before accessing function specific flags. > We handle the case where !cfun as conservative in that it the fun

[PATCH v2] libstdc++: Preserve the argument type in basic_format_args [PR119246]

2025-05-14 Thread Tomasz Kamiński
This commits adjust the way how the arguments are stored in the _Arg_value (and thus basic_format_args), by preserving the types of fixed width floating-point types, that were previously converted to float, double, long double. The _Arg_value union now contains alternatives with std::bfloat16_t, s

[PATCH v2 2/3] libstdc++: Implement C++26 copyable_function [PR119125]

2025-05-14 Thread Tomasz Kamiński
This patch implements C++26 copyable_function as specified in P2548R6. It also implements LWG 4255 that adjust move_only_function so constructing from empty copyable_function, produces empty functor. This falls from existing checks, after specializing __is_polymorphic_function_v for copyable_functi

Re: [PATCH v2 3/3] libstdc++: Renamed bits/move_only_function.h to bits/funcwrap.h [PR119125]

2025-05-14 Thread Tomasz Kaminski
On Wed, May 14, 2025 at 1:07 PM Jonathan Wakely wrote: > On 14/05/25 10:48 +0200, Tomasz Kamiński wrote: > >The file now includes copyable_function in addition to > >move_only_function. > > > > PR libstdc++/119125 > > > >libstdc++-v3/ChangeLog: > > * include/bits/move_only_function.h:

Re: [RFC PATCH] Implement -fdiag-prefix-map

2025-05-14 Thread Rasmus Villemoes
On Mon, Apr 28 2025, Rasmus Villemoes wrote: > On Thu, 3 Apr 2025 at 13:58, Rasmus Villemoes wrote: >> >> In many setups, especially when CI and/or some meta-build system like >> Yocto or buildroot, is involved, gcc ends up being invoked using >> absolute path names, which are often long and uni

Re: [PATCH v2 2/3] libstdc++: Implement C++26 copyable_function [PR119125]

2025-05-14 Thread Tomasz Kaminski
On Wed, May 14, 2025 at 1:06 PM Jonathan Wakely wrote: > On 14/05/25 10:48 +0200, Tomasz Kamiński wrote: > >This patch implements C++26 copyable_function as specified in P2548R6. > >It also implements LWG 4255 that adjust move_only_function so constructing > >from empty copyable_function, produce

Re: [PATCH v2 3/3] libstdc++: Renamed bits/move_only_function.h to bits/funcwrap.h [PR119125]

2025-05-14 Thread Jonathan Wakely
On Wed, 14 May 2025 at 12:57, Tomasz Kaminski wrote: > > > > On Wed, May 14, 2025 at 1:07 PM Jonathan Wakely wrote: >> >> On 14/05/25 10:48 +0200, Tomasz Kamiński wrote: >> >The file now includes copyable_function in addition to >> >move_only_function. >> > >> > PR libstdc++/119125 >> > >>

Re: [PATCH v2 2/3] libstdc++: Implement C++26 copyable_function [PR119125]

2025-05-14 Thread Jonathan Wakely
On Wed, 14 May 2025 at 13:59, Tomasz Kaminski wrote: > > > On Wed, May 14, 2025 at 1:06 PM Jonathan Wakely wrote: >> >> On 14/05/25 10:48 +0200, Tomasz Kamiński wrote: >> >This patch implements C++26 copyable_function as specified in P2548R6. >> >It also implements LWG 4255 that adjust move_only_

[PATCH] tighten type verification for CONJ_EXPR

2025-05-14 Thread Alexander Monakov
As a followup to PAREN_EXPR verification, let's ensure that CONJ_EXPR is only used with COMPLEX_TYPE. While at it, move the whole block towards the end of the switch, because unlike the other entries it needs to break out of the switch, not immediately return from the function, as after the switch

Re: [PATCH] c++: Add std::to_underlying to the set of stdlib functions that are always folded

2025-05-14 Thread Ville Voutilainen
On Wed, 14 May 2025 at 16:32, Ville Voutilainen wrote: > > On Wed, 14 May 2025 at 16:30, Ville Voutilainen > wrote: > > > > On Wed, 14 May 2025 at 16:26, Patrick Palka wrote: > > > > r = CALL_EXPR_ARG (x, 0); > > > > /* Check that the return and argument types are sane before

Re: [PATCH] c++: Add std::to_underlying to the set of stdlib functions that are always folded

2025-05-14 Thread Patrick Palka
On Tue, 13 May 2025, Ville Voutilainen wrote: > On Tue, 13 May 2025 at 23:34, Jason Merrill wrote: > > > > On 5/13/25 4:29 PM, Ville Voutilainen wrote: > > > On Tue, 13 May 2025 at 23:23, Jason Merrill wrote: > > >>>/* Check that the return and argument types are sane before > > >>>

Re: [PATCH] c++: Add std::to_underlying to the set of stdlib functions that are always folded

2025-05-14 Thread Ville Voutilainen
On Wed, 14 May 2025 at 16:30, Ville Voutilainen wrote: > > On Wed, 14 May 2025 at 16:26, Patrick Palka wrote: > > > r = CALL_EXPR_ARG (x, 0); > > > /* Check that the return and argument types are sane before > > > folding. */ > > > > This comment should be remove

Re: [pushed] c++: adjust PR99599/CWG2369 workaround

2025-05-14 Thread Patrick Palka
On Thu, 8 May 2025, Jason Merrill wrote: > Tested x86_64-pc-linux-gnu, applying to trunk. > > -- 8< -- > > This tweak to CWG2369 has gotten more discussion lately in CWG, including in > P3606. In those discussions, it occurred to me that having the check depend > on whether a class has been ins

Re: [PATCH] c++: Add std::to_underlying to the set of stdlib functions that are always folded

2025-05-14 Thread Ville Voutilainen
On Wed, 14 May 2025 at 16:26, Patrick Palka wrote: > > r = CALL_EXPR_ARG (x, 0); > > /* Check that the return and argument types are sane before > > folding. */ > > This comment should be removed too, along with the sanity check. I'll commit-as-obvious that remov

RE: [PATCH v2 1/2]middle-end: Add new parameter to scale scalar loop costing in vectorizer

2025-05-14 Thread Richard Biener
On Wed, 14 May 2025, Tamar Christina wrote: > > -Original Message- > > From: Tamar Christina > > Sent: Wednesday, May 14, 2025 12:19 PM > > To: gcc-patches@gcc.gnu.org > > Cc: nd ; rguent...@suse.de > > Subject: [PATCH v2 1/2]middle-end: Add new parameter to scale scalar loop > > costing

Re: [PATCH] libiberty: remove duplicated declaration of mkstemps

2025-05-14 Thread Richard Biener
On Wed, May 14, 2025 at 3:20 PM Andreas Schwab wrote: Looks obvious to me. Richard. > * libiberty.h (mkstemps): Remove duplicate. > --- > include/libiberty.h | 4 > 1 file changed, 4 deletions(-) > > diff --git a/include/libiberty.h b/include/libiberty.h > index d4e8791b14b..4ec9b

Re: 2nd Ping: Re: [Stage 1][Middle-end][PATCH v5 0/3] Provide more contexts for -Warray-bounds and -Wstringop-* warning messages

2025-05-14 Thread Richard Biener
On Wed, May 14, 2025 at 3:24 PM Qing Zhao wrote: > > Hi, > > This patch set has been waiting for the Middle-end review for a very long > time since last year. > > Could you Please take a look and let me know whether it’s ready for GCC16? I plan to look at this next week while idling on a train.

Re: [Stage 1][Middle-end][PATCH v5 2/3] Provide more contexts for -Warray-bounds, -Wstringop-*warning messages due to code movements from compiler transformation (Part 2) [PR109071,PR85788,PR88771,PR1

2025-05-14 Thread David Malcolm
On Mon, 2025-04-07 at 15:04 +, Qing Zhao wrote: [...snip...] > diff --git a/gcc/move-history-rich-location.cc b/gcc/move-history- > rich-location.cc > new file mode 100644 > index 000..120498d165e > --- /dev/null > +++ b/gcc/move-history-rich-location.cc [...snip...] > + > +/* Imple

Re: [PATCH] tighten type verification for CONJ_EXPR

2025-05-14 Thread Richard Biener
On Wed, May 14, 2025 at 3:41 PM Alexander Monakov wrote: > > As a followup to PAREN_EXPR verification, let's ensure that CONJ_EXPR is > only used with COMPLEX_TYPE. While at it, move the whole block towards > the end of the switch, because unlike the other entries it needs to > break out of the s

[PATCH 0/1] middle-end: Fix operation_could_trap_p for FIX_TRUNC_EXPR

2025-05-14 Thread Spencer Abson
Floating-point to integer conversions can be inexact or invalid (e.g., the latter due to overflow or NaN). However, since users of operation_could_trap_p infer the bool FP_OPERATION argument from the expression's type, FIX_TRUNC_EXPR is considered non-trapping here. This patch handles FIX_TRUNC_E

[PATCH 1/1] middle-end: Fix operation_could_trap_p for FIX_TRUNC_EXPR

2025-05-14 Thread Spencer Abson
Floating-point to integer conversions can be inexact or invalid (e.g., due to overflow or NaN). However, since users of operation_could_trap_p infer the bool FP_OPERATION argument from the expression's type, FIX_TRUNC_EXPR is considered non-trapping here. This patch handles FIX_TRUNC_EXPR explici

Re: [PATCH 11/61] Fix unsafe comparison against stack_pointer_rtx

2025-05-14 Thread Aleksandar Rakic
HTEC Public Hi, > > GCC can modify a rtx which was created using stack_pointer_rtx. > > This means that just doing a straight address comparision of a rtx > > against stack_pointer_rtx to see whether it is the stack pointer > > register will not be correct in all cases. > Umm, no. There is one a

Re: [PATCH 30/61] MSA: Make MSA and microMIPS R5 unsupported

2025-05-14 Thread Aleksandar Rakic
HTEC Public Hi, Could you please let us know if you have any comments on the latest version of this patch? Kind regards, Aleksandar Rakic

Re: [RFC PATCH] Implement -fdiag-prefix-map

2025-05-14 Thread David Malcolm
On Thu, 2025-04-03 at 13:58 +0200, Rasmus Villemoes wrote: > In many setups, especially when CI and/or some meta-build system like > Yocto or buildroot, is involved, gcc ends up being invoked using > absolute path names, which are often long and uninteresting. > > That amounts to a lot of noise bo

Re: [PATCH v2 1/3] libstdc++: Avoid double indirection in move_only_function when possible [PR119125]

2025-05-14 Thread Patrick Palka
On Wed, 14 May 2025, Tomasz Kaminski wrote: > > > On Wed, May 14, 2025 at 9:41 AM Tomasz Kaminski wrote: > > > On Tue, May 13, 2025 at 11:16 PM Patrick Palka wrote: > On Mon, 12 May 2025, Tomasz Kamiński wrote: > > > Based on the provision in C++26 [func.wrap.general] p2 this pa

Re: [PATCH v2 1/3] libstdc++: Avoid double indirection in move_only_function when possible [PR119125]

2025-05-14 Thread Tomasz Kaminski
On Wed, May 14, 2025 at 9:41 AM Tomasz Kaminski wrote: > > > On Tue, May 13, 2025 at 11:16 PM Patrick Palka wrote: > >> On Mon, 12 May 2025, Tomasz Kamiński wrote: >> >> > Based on the provision in C++26 [func.wrap.general] p2 this patch >> adjust the generic >> > move_only_function(_Fn&&) const

[PATCH] gcc: add trigonometric pi-based functions as gcc builtins

2025-05-14 Thread Yuao Ma
Hi all, This patch adds trigonometric pi-based functions as gcc builtins: acospi, asinpi, atan2pi, atanpi, cospi, sinpi, and tanpi. Latest glibc already provides support for these functions, which we plan to leverage in future gfortran implementations. The patch includes two test cases to verify

[PATCH 1/7] i386: Remove -mavx10.1-256/512 options

2025-05-14 Thread Haochen Jiang
As we mentioned in GCC 15, we will remove avx10.1-256/512 in GCC 16. Also, the combination of AVX10 and AVX512 option behavior will also be simplified in GCC 16 since AVX10.1 now implied AVX512, making the behavior matching everyone else. gcc/ChangeLog: * common/config/i386/cpuinfo.h

[PATCH 4/7] i386: Remove duplicate iterators in md

2025-05-14 Thread Haochen Jiang
There are several iterators no longer needed in md files since after refactor in AVX10, they could directly use legacy AVX512 ones. Remove those duplicate iterators. gcc/ChangeLog: * config/i386/sse.md (VF1_VF2_AVX10_2): Removed. (VF2_AVX10_2): Ditto. (VI1248_AVX10_2): Dit

[PATCH v2 0/7] Remove -mavx10.1-256/512 and -mno-evex512

2025-05-14 Thread Haochen Jiang
Hi all, This is the v2 patch to remove -mavx10.1/256-512 and -mno-evex512. I suppose this time all the patches will not be held due to size. As mentioned in GCC 15, we will remove -mavx10.1-256/512 and -mno-evex512 options in GCC 16. Also we will do some clean up in code for all the size happenin

[committed] Fortran: Fix mpfr_tanu use in gfc_simplify_cotand with mpfr 4.2.0+ [PR120225] (was: PING – Re: [Patch] Fortran: Use mpfr_sinu etc. with mpfr 4.2.0+ for degree trigonometric functions [PR12

2025-05-14 Thread Tobias Burnus
Am 14.05.25 um 08:42 schrieb FX Coudert: […] more trigonometric functions changes are coming, I think it would be useful to agree that this is a good approach. Patch is OK to push. Thanks for the review. However, I messed up with 'git add' at some point and committed now a version that didn't

[COMMITTED,PATCH] s390: Fix tf_to_fprx2

2025-05-14 Thread Stefan Schulze Frielinghaus
Insn tf_to_fprx2 moves a TF value into a floating-point register pair. For alternative 0, the input is a vector register, however, in the else case instruction ldr is emitted which expects floating-point register operands only. Thus, this works only for vector registers which overlap with floating

Re: [PATCH v2] libstdc++: Preserve the argument type in basic_format_args [PR119246]

2025-05-14 Thread Jonathan Wakely
On 14/05/25 10:01 +0200, Tomasz Kamiński wrote: This commits adjust the way how the arguments are stored in the _Arg_value (and thus basic_format_args), by preserving the types of fixed width floating-point types, that were previously converted to float, double, long double. The _Arg_value union

Re: [PATCH v2 1/3] libstdc++: Avoid double indirection in move_only_function when possible [PR119125]

2025-05-14 Thread Jonathan Wakely
On 14/05/25 10:48 +0200, Tomasz Kamiński wrote: Based on the provision in C++26 [func.wrap.general] p2 this patch adjust the generic move_only_function(_Fn&&) constructor, such that when _Fn refers to selected move_only_function instantiations, the ownership of the target object is direclty s

Re: [PATCH 2/2] forwprop: Move around the marking bb for eh to after the local non-fold_stmt optimizations

2025-05-14 Thread Richard Biener
On Tue, May 13, 2025 at 7:23 PM Andrew Pinski wrote: > > When moving the optimize_memcpy_to_memset optimization to forwprop from > fold_stmt, the marking > of the bb to purge for eh cleanup was not happening for the local > optimizations but only after > the fold_stmt, this causes g++.dg/torture

[14 PATCH] c++: Partially revert "Support lambdas attached to more places in modules" [PR118245]

2025-05-14 Thread Nathaniel Shead
Bootstrapped and regtested (just modules.exp and dg.exp=lambda*) on x86_64-pc-linux-gnu, OK for 14 if full regtest succeeds? -- >8 -- r14-9232-g3685fae23bb008 broke the ABI for lambdas in base classes, causing ICEs when different lambdas got given the same mangled name. This patch reverts the pa

Re: [PATCH v2 2/8] RISC-V: Use riscv-ext.def to generate target options and variables

2025-05-14 Thread Mark Wielaard
Hi Kito, On Mon, May 12, 2025 at 10:17:36PM +0800, Kito Cheng wrote: > Leverage the centralized riscv-ext.def definitions to auto-generate > the target option parsing and associated internal flags, replacing > manual listings in riscv.opt; `riscv_ext_flag_table` part will remove in > later patch.

Re: [PATCH v2 3/3] libstdc++: Renamed bits/move_only_function.h to bits/funcwrap.h [PR119125]

2025-05-14 Thread Jonathan Wakely
On 14/05/25 10:48 +0200, Tomasz Kamiński wrote: The file now includes copyable_function in addition to move_only_function. PR libstdc++/119125 libstdc++-v3/ChangeLog: * include/bits/move_only_function.h: Move to... * include/bits/funcwrap.h: ...here. * doc/doxyge

Re: [PATCH v2 1/3] libstdc++: Avoid double indirection in move_only_function when possible [PR119125]

2025-05-14 Thread Tomasz Kaminski
On Tue, May 13, 2025 at 11:16 PM Patrick Palka wrote: > On Mon, 12 May 2025, Tomasz Kamiński wrote: > > > Based on the provision in C++26 [func.wrap.general] p2 this patch adjust > the generic > > move_only_function(_Fn&&) constructor, such that when _Fn refers to > selected > > move_only_functio

[PATCH] c++: Add testcase for issue fixed in GCC 15 [PR120126]

2025-05-14 Thread Simon Martin
Patrick noticed that this PR's testcase has been fixed by the patch for PR c++/114292 (r15-7238-gceabea405ffdc8), more specifically the part that walks the type of DECL_EXPR DECLs. This simply adds the case to the testsuite. Successfully tested on x86_64-pc-linux-gnu. PR c++/120126 gcc/

Re: [PATCH] c++/modules: Fix handling of -fdeclone-ctor-dtor with explicit instantiations [PR120125]

2025-05-14 Thread Nathaniel Shead
On Tue, May 13, 2025 at 12:40:30PM -0400, Jason Merrill wrote: > On 5/9/25 11:48 AM, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk/15? > > > > One slight concern I have is why we end up in 'maybe_thunk_body' to > > start with: the imported constructor i

Re: [14 PATCH] c++: Partially revert "Support lambdas attached to more places in modules" [PR118245]

2025-05-14 Thread Jason Merrill
On 5/14/25 6:54 AM, Nathaniel Shead wrote: Bootstrapped and regtested (just modules.exp and dg.exp=lambda*) on x86_64-pc-linux-gnu, OK for 14 if full regtest succeeds? OK. -- >8 -- r14-9232-g3685fae23bb008 broke the ABI for lambdas in base classes, causing ICEs when different lambdas got giv

[PATCH] s390: Floating point vector lane handling

2025-05-14 Thread Juergen Christ
Since floating point and vector registers overlap on s390, more efficient code can be generated to extract FPRs from VRs. Additionally, for double vectors, more efficient code can be generated to load specific lanes. gcc/ChangeLog: * config/s390/vector.md (VF): New mode iterator.

Re: [Stage 1][Middle-end][PATCH v5 2/3] Provide more contexts for -Warray-bounds, -Wstringop-*warning messages due to code movements from compiler transformation (Part 2) [PR109071,PR85788,PR88771,PR1

2025-05-14 Thread Qing Zhao
Hi, David, Thanks a lot for the info. > On May 14, 2025, at 09:50, David Malcolm wrote: > > On Mon, 2025-04-07 at 15:04 +, Qing Zhao wrote: > > [...snip...] > >> diff --git a/gcc/move-history-rich-location.cc b/gcc/move-history- >> rich-location.cc >> new file mode 100644 >> index 000

Re: [PATCH] c++: Add std::to_underlying to the set of stdlib functions that are always folded

2025-05-14 Thread Jason Merrill
On 5/14/25 9:32 AM, Ville Voutilainen wrote: On Wed, 14 May 2025 at 16:30, Ville Voutilainen wrote: On Wed, 14 May 2025 at 16:26, Patrick Palka wrote: r = CALL_EXPR_ARG (x, 0); /* Check that the return and argument types are sane before folding. */ This

Re: [PATCH 2/2] Move vector lowering to before vectorization

2025-05-14 Thread Richard Biener
On Mon, 12 May 2025, Richard Sandiford wrote: > Richard Biener writes: > > The following moves vector lowering to before vectorization - in fact > > to before DCE/forwprop and CSE. This gets us the chance to re-vectorize > > the lowered form eventually. Note that when the vectorizer learns to >

RE: [PATCH 1/4]middle-end: document pragma unroll n [PR116140]

2025-05-14 Thread Richard Biener
On Tue, 13 May 2025, Tamar Christina wrote: > > -Original Message- > > From: Richard Biener > > Sent: Tuesday, May 13, 2025 12:44 PM > > To: Eric Botcazou > > Cc: Tamar Christina ; gcc-patches@gcc.gnu.org; nd > > > > Subject: Re: [PATCH 1/4]middle-end: document pragma unroll n > > [PR1

RE: [PATCH][RFC] Add vector_costs::add_vector_cost vector stmt grouping hook

2025-05-14 Thread Richard Biener
On Wed, 14 May 2025, Tamar Christina wrote: > > -Original Message- > > From: Richard Biener > > Sent: Tuesday, May 13, 2025 12:08 PM > > To: Richard Sandiford > > Cc: gcc-patches@gcc.gnu.org; Tamar Christina > > Subject: Re: [PATCH][RFC] Add vector_costs::add_vector_cost vector stmt > >

Re: [PATCH] Enhance -fopt-info-vec vectorized loop diagnostic

2025-05-14 Thread Richard Biener
On Wed, 14 May 2025, Richard Sandiford wrote: > Richard Biener writes: > > The following includes whether we vectorize an epilogue, whether > > we use loop masking and what vectorization factor (unroll factor) > > we use. So it's now > > > > t.c:4:21: optimized: loop vectorized using 64 byte vec

Re: [PATCH] tree: Canonical order for ADDR

2025-05-14 Thread Richard Biener
On Wed, May 14, 2025 at 9:34 PM Andrew Pinski wrote: > > This is the followup based on the review at > https://inbox.sourceware.org/gcc-patches/cafiyyc3xeg75dswaf63zbu5uelpeaeohwgfogavydwouuj7...@mail.gmail.com/ > . > We should put ADDR_EXPR last instead of just is_gimple_invariant_address ones. >

<    1   2