Re: [PATCH 1/3][v4] Record get_load_store_info results from analysis

2025-08-19 Thread Richard Biener
On Tue, 19 Aug 2025, Richard Biener wrote: > The following is a patch to make us record the get_load_store_info > results from load/store analysis and re-use them during transform. > In particular this moves where SLP_TREE_MEMORY_ACCESS_TYPE is stored. > > A major hassle was (and still is, to som

[committed] cobol: Eliminate errors that cause valgrind messages.

2025-08-19 Thread Robert Dubner
From: Robert Dubner mailto:rdub...@symas.com Date: Tue, 19 Aug 2025 23:08:48 -0400 Subject: [PATCH] cobol: Eliminate errors that cause valgrind messages. gcc/cobol/ChangeLog: * genutil.cc (get_binary_value): Fix a comment. * parse.y: udf_args_valid(): Fix loc calculation.

[PATCH] sra: Make build_ref_for_offset static [PR121568]

2025-08-19 Thread Andrew Pinski
build_ref_for_offset was originally made external with r0-95095-g3f84bf08c48ea4. The call was extracted out into ipa_get_jf_ancestor_result by r0-110216-g310bc6334823b9. Then the call was removed by r10-7273-gf3280e4c0c98e1. So there is no use of build_ref_for_offset outside of SRA, so let's make i

[PATCH v2 1/2] Rewrite bool loads for undefined case [PR121279]

2025-08-19 Thread Andrew Pinski
Just like r16-465-gf2bb7ffe84840d8 but this time instead of a VCE there is a full on load from a boolean. This showed up when trying to remove the extra copy in the testcase from the revision mentioned above (pr120122-1.c). So when moving loads from a boolean type from being conditional to non-cond

[PATCH v2 2/2] LIM: Manually put uninit decl into ssa

2025-08-19 Thread Andrew Pinski
When working on PR121279, I noticed that lim would create an uninitialized decl and marking it with supression for uninitialization warning. This is fine but then into ssa would just call get_or_create_ssa_default_def on that new decl which could in theory take some extra compile time to figure tha

Re: [PATCH v4] x86: Place the TLS call before all register setting BBs

2025-08-19 Thread Hongtao Liu
On Wed, Aug 20, 2025 at 2:49 AM H.J. Lu wrote: > > We can't place a TLS call before a conditional jump in a basic block like > > (code_label 13 11 14 4 2 (nil) [1 uses]) > (note 14 13 16 4 [bb 4] NOTE_INSN_BASIC_BLOCK) > (jump_insn 16 14 17 4 (set (pc) > (if_then_else (le (reg:CCNO 17 flag

Re: [PATCH v6] libstdc++: Implement Philox Engine (PR119794)

2025-08-19 Thread 1nfocalypse
Awesome! Thanks for taking care of the ChangeLog entry, and my apologies for missing that. I'll start trying to get support for targets not supporting __uint128_t. Thanks for the feedback throughout as well! On Tuesday, August 19th, 2025 at 8:42 AM, Patrick Palka wrote: > On Tue, 5 Aug 2025, 1n

Re: [PATCH] Rewrite bool loads for undefined case [PR121279]

2025-08-19 Thread Andrew Pinski
On Tue, Aug 19, 2025 at 12:26 AM Richard Biener wrote: > On Sat, Aug 16, 2025 at 7:34 PM Andrew Pinski > wrote: > > > > Just like r16-465-gf2bb7ffe84840d8 but this time > > instead of a VCE there is a full on load from a boolean. > > This showed up when trying to remove the extra copy > > in the

Re: [PATCH v9 07/13] c++: Refactor FMV frontend conflict and merging logic and hooks.

2025-08-19 Thread Jason Merrill
On 8/19/25 4:49 AM, Alfie Richards wrote: This change refactors FMV handling in the frontend to allows greater reasoning about versions in shared code. This is needed for allowing target_clones and target_versions to be used together in a function set, as there is then two distinct concerns when

Re: [PATCH] ctf: avoid overflow for array num elements [PR121411]

2025-08-19 Thread David Faust
Ping. Note: this patch doesn't fully resolve the PR (see discussion there) but it does fix one existing truncation bug. Thanks! On 8/6/25 09:26, David Faust wrote: > CTF array encoding uses uint32 for number of elements. This means there > is a hard upper limit on array types which the format c

Re: [PATCH v8 0/6] c, dwarf, btf: Add btf_decl_tag and btf_type_tag C attributes

2025-08-19 Thread David Faust
Ping for v8. archive link: https://gcc.gnu.org/pipermail/gcc-patches/2025-August/692443.html Thanks! On 8/12/25 15:32, David Faust wrote: > [v7: https://gcc.gnu.org/pipermail/gcc-patches/2025-August/692127.html > Review Status: > - Patch 2,3 have been OK'd in v6 and are unchanged since then. >

Re: [PATCH v3] x86: Place the TLS call before all register setting BBs

2025-08-19 Thread H.J. Lu
On Mon, Aug 18, 2025 at 11:23 PM Hongtao Liu wrote: > > On Tue, Aug 19, 2025 at 10:51 AM H.J. Lu wrote: > > > > We can't place a TLS call before a conditional jump in a basic block like > > > > (code_label 13 11 14 4 2 (nil) [1 uses]) > > (note 14 13 16 4 [bb 4] NOTE_INSN_BASIC_BLOCK) > > (jump_i

[PATCH v4] x86: Place the TLS call before all register setting BBs

2025-08-19 Thread H.J. Lu
We can't place a TLS call before a conditional jump in a basic block like (code_label 13 11 14 4 2 (nil) [1 uses]) (note 14 13 16 4 [bb 4] NOTE_INSN_BASIC_BLOCK) (jump_insn 16 14 17 4 (set (pc) (if_then_else (le (reg:CCNO 17 flags) (const_int 0 [0])) (label_ref

Re: [PATCH v9 06/13] c/c++: Add target_[version/clones] to decl diagnostics formatting.

2025-08-19 Thread Jason Merrill
On 8/19/25 4:49 AM, Alfie Richards wrote: Adds the target_version and target_clones attributes to diagnostic messages for target_version semantics. This is because the target_version/target_clones attributes affect the identity of the decls, so need to be represented in diagnostics for them. Af

Re: [PATCH v2] c++: Fix ICE on mangling invalid compound requirement [PR120618]

2025-08-19 Thread Jason Merrill
Pushed, thanks! On 8/18/25 11:32 PM, Ben Wu wrote: Looks like I mispelled "Merrill". Here is the corrected patch. -Ben On Mon, Aug 18, 2025 at 7:31 PM Ben Wu > wrote: Sorry about that, I'm not sure why the formatting issues are there. Gmail seems to re

Re: [PATCH v2 1/1] contrib: add bpf-vmtest-tool to test BPF programs

2025-08-19 Thread Jose E. Marchesi
> On 16/07/25 00:55, Jose E. Marchesi wrote: >> >>> Hi Jose, >>> On 15/07/25 22:55, Jose E. Marchesi wrote: Hi Piyush. This form of the script looks generally good to me. May be a good time to move to the second stage of the project, which if I am not mistaken consists i

Re: [PATCH] libgfortran: add fallback for trigonometric pi-based functions

2025-08-19 Thread Yuao Ma
Hi Joseph, On 7/31/2025 1:45 AM, Joseph Myers wrote: On Sun, 6 Jul 2025, Yuao Ma wrote: +#ifndef HAVE_COSPI +#define HAVE_COSPI 1 +double cospi (double); + +double +cospi (double x) +{ + return cos (x * pihi_d + x * pilo_d); For reasonable results for large x you should first reduce mod 2 t

[C PATCH] c: Add -Wuse-after-missed-init [PR87038]

2025-08-19 Thread Martin Uecker
Here is another attempt to improve the situation with uninitialized variables. Instead of modifying -Wjump-misses-init, it adds a new warning that is called -Wuse-after-missed-init.   Thoughts? Should this go into -Wall or only -Wextra? Bootstrapped and regression tested for x86_64. Martin

Re: [Patch, fortran] PR84122 - Incorrect statement sequence in PDT definition

2025-08-19 Thread Paul Richard Thomas
Hi Jerry, Thanks for taking a look at it but I have to withdraw this patch for a short while. It suppresses legal declarations like(pr85942): type, public :: mat_t(k,c,r) !.. type parameters integer, kind :: k = r4 integer, len :: c = 1 integer, len :: r = 1 private

Re: [Patch, fortran] PR84122 - Incorrect statement sequence in PDT definition

2025-08-19 Thread Jerry D
On 8/19/25 4:15 AM, Paul Richard Thomas wrote: Hi All, I have just noticed that line 9 in the testcase is not what was intended. It should read:   integer, len, PUBLIC :: idim ! { dg-error "is not allowed" } and that the second dg-error should be removed. Paul On Tue, 19 Aug 2025 at 10:58,

Re: [PATCH v2] rs6000: Inefficient vector splat of small V2DI constants [PR107757]

2025-08-19 Thread Segher Boessenkool
Hi! On Mon, Dec 02, 2024 at 02:20:06PM +0530, Surya Kumari Jangala wrote: > diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc > index 02a2f1152db..d0c528f4d5f 100644 > --- a/gcc/config/rs6000/rs6000.cc > +++ b/gcc/config/rs6000/rs6000.cc > @@ -6652,7 +6652,7 @@ vspltisw_vupkhs

Re: [PATCH] libstdc++/ranges: Prefer using offset-based _CachedPosition

2025-08-19 Thread Jonathan Wakely
On Tue, 19 Aug 2025 at 16:20, Patrick Palka wrote: > > On Wed, 16 Jul 2025, Tomasz Kaminski wrote: > > > > > > > On Tue, Jul 15, 2025 at 9:51 PM Patrick Palka wrote: > > Tested on x86_64-pc-linux-gnu, does this look OK for trunk? > > > > -- >8 -- > > > > The offset-based partial

Re: [PATCH v3] libstdc++: Implement LWG4222 'expected' constructor from a single value missing a constraint

2025-08-19 Thread Yrong
Thanks for the review! But I don't have a commit access, could you help me to commit this patch? Many thanks! > Perhaps we want to backport this, not sure how far back Is there anything I need to do about this? Best regards, Yihan Patrick Palka 于2025年8月19日周二 23:16写道: > LGTM! Perhaps we wan

Re: [PATCH v6] libstdc++: Implement Philox Engine (PR119794)

2025-08-19 Thread Patrick Palka
On Tue, 5 Aug 2025, 1nfocalypse wrote: > Implements Philox Engine (P2075R6) and associated tests. > > Implements additional feedback from v5 from Patrick Palka. > Also cut some trailing whitespace from the limb propagation > fix in v5. > > Apologies for the delay from v5 - I had to finish writin

Re: [PATCH v2] libstdc++: Conditionalize LWG 3569 changes to join_view

2025-08-19 Thread Patrick Palka
On Wed, 16 Jul 2025, Tomasz Kaminski wrote: > > > On Tue, Jul 15, 2025 at 6:13 PM Patrick Palka wrote: > Tested on x86_64-pc-linux-gnu, does this look OK for trunk only > (since it impacts ABI)? > > Changes in v2: > >  - Condition on forward_iterator instead of default

Re: [PATCH] libstdc++/ranges: Prefer using offset-based _CachedPosition

2025-08-19 Thread Patrick Palka
On Wed, 16 Jul 2025, Tomasz Kaminski wrote: > > > On Tue, Jul 15, 2025 at 9:51 PM Patrick Palka wrote: > Tested on x86_64-pc-linux-gnu, does this look OK for trunk? > > -- >8 -- > > The offset-based partial specialization of _CachedPosition for > random-access iterator

Re: [PATCH v3] libstdc++: Implement LWG4222 'expected' constructor from a single value missing a constraint

2025-08-19 Thread Patrick Palka
LGTM! Perhaps we want to backport this, not sure how far back (std::expected was implemented in GCC 12). On Sat, 16 Aug 2025, Yihan Wang wrote: > libstdc++-v3/ChangeLog: > > * include/std/expected: Add missing constraint as per LWG 4222. > * testsuite/20_util/expected/lwg4222.cc: Ne

[PATCH] libstdc++: Reduce chances of object aliasing for function wrapper.

2025-08-19 Thread Tomasz Kamiński
Previously, an empty functor (EmptyIdFunc) stored inside a std::move_only_function being first member of a Composite class could have the same address as the base of the EmptyIdFunc type (see included test cases), resulting in two objects of the same type at the same address. This commit addresses

[PING 3][PATCH v2] rs6000: Inefficient vector splat of small V2DI constants [PR107757]

2025-08-19 Thread Surya Kumari Jangala
Ping. Changes in v2: Remove -mvsx option from dg-options as this is implied by -mcpu=power8. Ok for trunk? Regards, Surya On 02/12/24 2:20 pm, Surya Kumari Jangala wrote: > I have incorporated review comments in this patch. > > Regards, > Surya > > > rs6000: Inefficient vector splat of smal

[PATCH] libstdc++: Refactor bound arguments storage for bind_front/back

2025-08-19 Thread Tomasz Kamiński
This patch refactors the implementation of bind_front and bind_back to avoid using std::tuple for argument storage. Instead, bound arguments are now: * stored directly if there is only one, * within a dedicated _Bound_arg_storage otehrwise. _Bound_arg_storage holds each argument in an _Indexed_bou

[PATCH] More escapes for Makefile rules (-M option)

2025-08-19 Thread Jörg Böhmer
This patch adds support for more characters that are special to GNU make in file-names. Especially GNU make expects in rules that #, %, :, *, ? and [ characters are preceded by a backslash to remove their special meaning. Bug 41329 - -M does not properly escape special characters. Bug 1214

[PATCH] Remove reduction chain detection from parloops

2025-08-19 Thread Richard Biener
Historically SLP reduction chains were the only multi-stmt reductions supported. But since we have check_reduction_path more complicated cases are handled. As parloops doesn't do any specific chain processing it can solely rely on that functionality instead. Bootstrapped and tested on x86_64-unk

[PATCH] A few missing SLP node passings to vector costing

2025-08-19 Thread Richard Biener
The following fixes another few missed cases to pass a SLP node instead of a stmt_info. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. * tree-vect-loop.cc (vectorizable_reduction): Pass the appropriate SLP node for costing of single-def-use-cycle operations.

[PATCH] tree-optimization/121592 - failed reduction SLP discovery

2025-08-19 Thread Richard Biener
The testcase in the PR shows that when we have a reduction chain with a wrapped conversion we fail to properly fall back to a regular reduction, resulting in wrong-code. The following fixes this by failing discovery. The testcase has other issues, so I'm not including it here. Bootstrapped and t

[PATCH] bitint: Fix regressions [PR117599]

2025-08-19 Thread Yang Yujie
This patch fixes regressions of the gcc.dg/torture/bitint-* tests caused by r16-3036-ga76a032354ee48 with --enable-checking=all. The errors are similar to the following: ../../gcc/testsuite/gcc.dg/torture/bitint-14.c:54:1: error: type mismatch in 'array_ref' unsigned long _42 = VIEW_CONVERT_E

Re: [Patch, fortran] PR84122 - Incorrect statement sequence in PDT definition

2025-08-19 Thread Paul Richard Thomas
Hi All, I have just noticed that line 9 in the testcase is not what was intended. It should read: integer, len, PUBLIC :: idim ! { dg-error "is not allowed" } and that the second dg-error should be removed. Paul On Tue, 19 Aug 2025 at 10:58, Paul Richard Thomas < paul.richard.tho...@gmail.com>

[PATCH 2/3][v4] Remove most of the epilogue vinfo fixup

2025-08-19 Thread Richard Biener
The following removes the fixup we apply to pattern stmt operands before code generating vector epilogues. This isn't necessary anymore since the SLP graph now exclusively records the data flow. Similarly fixing up of SSA references inside DR_REF of gather/scatter isn't necessary since we now rec

[PATCH 1/3][v4] Record get_load_store_info results from analysis

2025-08-19 Thread Richard Biener
The following is a patch to make us record the get_load_store_info results from load/store analysis and re-use them during transform. In particular this moves where SLP_TREE_MEMORY_ACCESS_TYPE is stored. A major hassle was (and still is, to some extent), gather/scatter handling with it's accompani

[PATCH 3/3][v4] Enable gather/scatter for epilogues of vector epilogues

2025-08-19 Thread Richard Biener
The restriction no longer applies, so remove it. * tree-vect-data-refs.cc (vect_check_gather_scatter): Remove restriction on epilogue of epilogue vectorization. --- gcc/tree-vect-data-refs.cc | 7 --- 1 file changed, 7 deletions(-) diff --git a/gcc/tree-vect-data-refs.cc b/gc

[PATCH v9 12/13] c/aarch64: Add FMV diagnostic tests.

2025-08-19 Thread Alfie Richards
Adds some aarch64 C fmv diagnostic tests. This mostly tests C front end code, but has to be target specific at FMV is requires specifying target extensions. gcc/testsuite/ChangeLog: * gcc.target/aarch64/mv-and-mvc-error1.c: New test. * gcc.target/aarch64/mv-and-mvc-error2.c: New

Re: [PATCH v1 0/1] c: Add support for array parameters in _Countof

2025-08-19 Thread Alejandro Colomar
Hi Joseph, On Mon, Aug 18, 2025 at 11:19:39PM +, Joseph Myers wrote: > On Fri, 15 Aug 2025, Alejandro Colomar wrote: > > > Hi Joseph, > > > > On Thu, Aug 14, 2025 at 10:03:00PM +, Joseph Myers wrote: > > > On Thu, 14 Aug 2025, Alejandro Colomar wrote: > > > > > > > And I'm proposing it

RE: [PATCH 2/3]middle-end: Fix costing hooks of various vectorizable_* [PR121536]

2025-08-19 Thread Richard Biener
On Tue, 19 Aug 2025, Tamar Christina wrote: > > > > -Original Message- > > From: Richard Biener > > Sent: Tuesday, August 19, 2025 8:31 AM > > To: Tamar Christina > > Cc: gcc-patches@gcc.gnu.org; nd > > Subject: Re: [PATCH 2/3]middle-end: Fix costing hooks of various > > vectorizable

[Patch, fortran] PR84122 - Incorrect statement sequence in PDT definition

2025-08-19 Thread Paul Richard Thomas
This is a trivial patch that enforces the requirement that PDT parameters do not have an access specification and appear before a PRIVATE statement within the derived type. Regtests on FC42/x86_64. OK for mainline? Paul diff --git a/gcc/fortran/parse.cc b/gcc/fortran/parse.cc index 300a7a36fbd..d

Re: [PATCH] tree-optimization/121527 - wrong SRA with aggregage copy

2025-08-19 Thread Martin Jambor
Hi, On Mon, Aug 18 2025, Richard Biener wrote: > SRA handles outermost VIEW_CONVERT_EXPRs but it wrongly ignores > those when building an access which leads to the wrong size > used when the VIEW_CONVERT_EXPR does not have the same size as > its operand which is valid GENERIC and is used by Ada up

Re: [PATCH][risc-v] Fix riscv build, no longer works with python2

2025-08-19 Thread Kito Cheng
LGTM, thanks dor fixing that :) Richard Biener 於 2025年8月19日 週二 16:16 寫道: > Building riscv no longer works with python2: > > > python ./config/riscv/arch-canonicalize -misa-spec=20191213 rv64gc > File "./config/riscv/arch-canonicalize", line 229 > print(f"ERROR: Unhandled conditional depend

[committed] libstdc++: Restore call to test6642 in string_vector_iterators.cc test [PR104874]

2025-08-19 Thread Tomasz Kamiński
The test call was accidentally omitted in r16-2484-gdc49c0a46ec96e, a commit that refactored this test file. This patch adds it back. PR libstdc++/104874 libstdc++-v3/ChangeLog: * testsuite/24_iterators/random_access/string_vector_iterators.cc: Call test6642. --- Pushed t

[PATCH v9 09/13] aarch64: testsuite: Add diagnostic tests for Aarch64 FMV.

2025-08-19 Thread Alfie Richards
Add tests covering many FMV errors for Aarch64, including redeclaration, and mixing target_clones and target_versions. gcc/testsuite/ChangeLog: * g++.target/aarch64/mv-and-mvc-error1.C: New test. * g++.target/aarch64/mv-and-mvc-error2.C: New test. * g++.target/aarch64/mv-a

RE: [PATCH 2/3]middle-end: Fix costing hooks of various vectorizable_* [PR121536]

2025-08-19 Thread Tamar Christina
> -Original Message- > From: Richard Biener > Sent: Tuesday, August 19, 2025 8:31 AM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd > Subject: Re: [PATCH 2/3]middle-end: Fix costing hooks of various > vectorizable_* > [PR121536] > > On Tue, 19 Aug 2025, Tamar Christina wrot

[PATCH v9 06/13] c/c++: Add target_[version/clones] to decl diagnostics formatting.

2025-08-19 Thread Alfie Richards
Adds the target_version and target_clones attributes to diagnostic messages for target_version semantics. This is because the target_version/target_clones attributes affect the identity of the decls, so need to be represented in diagnostics for them. After this change diagnostics look like: c: `

[PATCH v9 04/13] fmv: Add check_target_clone hook for filtering target_clone versions.

2025-08-19 Thread Alfie Richards
This patch introduces the TARGET_CHECK_TARGET_CLONE_VERSION hook which is used to determine if a target_clones version string parses. The hook has a flag to enable emitting diagnostics. This is as specified in the Arm C Language Extension. The purpose of this is to be able to ignore invalid versi

[PATCH v9 08/13] fmv: Support mixing of target_clones and target_version.

2025-08-19 Thread Alfie Richards
Add support for a FMV set defined by a combination of target_clones and target_version definitions. Additionally, change is_function_default_version to consider a function declaration annotated with target_clones containing default to be a default version. Lastly, add support for the case that a

[PATCH v9 13/13] FMV: Redirect to specific target

2025-08-19 Thread Alfie Richards
Adds an optimisation in FMV to redirect to a specific target if possible. A call is redirected to a specific target if both: - the caller can always call the callee version - and, it is possible to rule out all higher priority versions of the callee fmv set. That is estabilished either by the ca

[PATCH v9 05/13] fmv: Change target_version semantics to follow ACLE specification.

2025-08-19 Thread Alfie Richards
This patch changes the semantics of target_version and target_clones attributes to match the behavior described in the Arm C Language extension. The changes to behavior are: - The scope and signature of an FMV function set is now that of the default version. - The FMV resolver is now created at

[PATCH v9 11/13] c: Add target_version attribute support.

2025-08-19 Thread Alfie Richards
This commit introduces support for the target_version attribute in the c frontend, following the behavior defined in the Arm C Language Extension. Key changes include: - During pushdecl, the compiler now checks whether the current symbol is part of a multiversioned set. - New versions are add

[PATCH v9 10/13] aarch64: Remove FMV beta warning.

2025-08-19 Thread Alfie Richards
This patch removes the warning for target_version and target_clones in aarch64 as it is now spec compliant. gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_process_target_version_attr): Remove warning. * config/aarch64/aarch64.opt: Mark -Wno-experimental-fmv-target

[PATCH v9 07/13] c++: Refactor FMV frontend conflict and merging logic and hooks.

2025-08-19 Thread Alfie Richards
This change refactors FMV handling in the frontend to allows greater reasoning about versions in shared code. This is needed for allowing target_clones and target_versions to be used together in a function set, as there is then two distinct concerns when encountering two declarations that previous

[PATCH v9 02/13] fmv: Refactor FMV name mangling.

2025-08-19 Thread Alfie Richards
This patch is an overhaul of how FMV name mangling works. Previously mangling logic was duplicated in several places across both target specific and independent code. This patch changes this such that all mangling is done in targetm.mangle_decl_assembler_name (including for the dispatched symbol an

Re: [PATCH] libstdc++: Fix-self element self-assigments when insertint an empty range [PR121313]

2025-08-19 Thread Jonathan Wakely
On Mon, 18 Aug 2025 at 09:16, Tomasz Kaminski wrote: > > The overlapping range, will lead to move from moved-from object, which I > think is generally expected to work. But move_backward has a precondition that "result is not in the range (first, last]" and we don't check that with an assertion.

[PATCH v9 03/13] riscv: Refactor riscv target parsing to take string_slice.

2025-08-19 Thread Alfie Richards
This is a quick refactor of the riscv target processing code to take a string_slice rather than a decl. The reason for this is to enable it to work with target_clones where merging logic requires reasoning about each version string individually in the front end. This refactor primarily serves jus

[PATCH v9 01/13] cgraph: Add clone_identifier function.

2025-08-19 Thread Alfie Richards
This is similar to clone_function_name and its siblings but takes an identifier tree node rather than a function declaration. This is to be used in conjunction with the identifier node stored in cgraph_function_version_info::assembler_name to mangle FMV functions in later patches. gcc/ChangeLog:

[PATCH v9 00/13] C/C++: FMV refactor, C FMV support and ACLE compliance

2025-08-19 Thread Alfie Richards
Hi All, Resending due to some email issues resulting in undelivered email. Thank you so much for the reviews. This revision is mostly addressing feedback from Richard S. Changes since V8: - Several stylistic changes/code clarity. - Change check_target_clone_version to take a pointer to location_

[PATCH 1/3] LoongArch: Fix the semantic of 16B CAS

2025-08-19 Thread Xi Ruoyao
In a CAS operation, even if expected != *memory we still need to do an atomic load of *memory into output. But I made a mistake in the initial implementation, causing the output to contain junk in this situation. Like a normal atomic load, the atomic load embedded in the CAS semantic is required

[PATCH 3/3] testsuite: LoongArch: Enable 16B atomic tests if the test machine supports LSX and SCQ

2025-08-19 Thread Xi Ruoyao
Enable those tests so we won't make too stupid mistakes in 16B atomic implementation anymore. All these test passed on a Loongson 3C6000/S except atomic-other-int128.c. With GDB patched to support sc.q (https://sourceware.org/pipermail/gdb-patches/2025-August/220034.html) this test also XPASS. g

[PATCH 2/3] LoongArch: Fix ICE on atomic-compare-exchange-5.c

2025-08-19 Thread Xi Ruoyao
Fix the ICE: ../gcc/gcc/testsuite/gcc.dg/atomic-compare-exchange-5.c:88:1: internal compiler error: output_operand: invalid use of '%t' 88 | } | ^ The ICE is because we have an incorrect condition "GET_MODE (op) != TImode": we may use (const_int 0) here but it is in VOIDmode. Use reg_o

[PATCH 0/3] LoongArch: Fix semantic issue and ICE of 16B CAS

2025-08-19 Thread Xi Ruoyao
Bootstrapped and regtested on loongarch64-linux-gnu. Ok for trunk? Xi Ruoyao (3): LoongArch: Fix the semantic of 16B CAS LoongArch: Fix ICE on atomic-compare-exchange-5.c testsuite: LoongArch: Enable 16B atomic tests if the test machine supports LSX and SCQ gcc/config/loongarch/loonga

[PATCH][risc-v] Fix riscv build, no longer works with python2

2025-08-19 Thread Richard Biener
Building riscv no longer works with python2: > python ./config/riscv/arch-canonicalize -misa-spec=20191213 rv64gc File "./config/riscv/arch-canonicalize", line 229 print(f"ERROR: Unhandled conditional dependency: '{ext_name}' with condition:", file=sys.stderr)

Re: [PATCH 3/3]AArch64: Use vectype from SLP node instead of stmt_info [PR121536]

2025-08-19 Thread Richard Biener
On Tue, Aug 19, 2025 at 6:33 AM Tamar Christina wrote: > > commit g:1786be14e94bf1a7806b9dc09186f021737f0227 stops storing in > STMT_VINFO_VECTYPE the vectype of the current stmt being vectorized and > instead > requires the use of SLP_TREE_VECTYPE for everything but data-refs. > > This means tha

Re: [PATCH 2/3]middle-end: Fix costing hooks of various vectorizable_* [PR121536]

2025-08-19 Thread Richard Biener
On Tue, 19 Aug 2025, Tamar Christina wrote: > commit g:1786be14e94bf1a7806b9dc09186f021737f0227 stops storing in > STMT_VINFO_VECTYPE the vectype of the current stmt being vectorized and > instead > requires the use of SLP_TREE_VECTYPE for everything but data-refs. > > However contrary to what t

Re: [PATCH] Rewrite bool loads for undefined case [PR121279]

2025-08-19 Thread Richard Biener
On Sat, Aug 16, 2025 at 7:34 PM Andrew Pinski wrote: > > Just like r16-465-gf2bb7ffe84840d8 but this time > instead of a VCE there is a full on load from a boolean. > This showed up when trying to remove the extra copy > in the testcase from the revision mentioned above (pr120122-1.c). > So when m