On Mon, Sep 1, 2025 at 11:40 PM wrote:
>
> From: Soumya AR
>
> Add optab definitions for both legacy __sync and __atomic min/max operations.
>
> The legacy sync optabs are not expected to be implemented by backends. They're
> included to minimize branching in expand_atomic_fetch_op_no_fallback in
From: Soumya AR
This patch adds builtin types and function declarations for integer atomic fetch
min/max operations.
---
At RTL level, we distinguish between signed and unsigned min/max operations
based on the optab: SMIN/SMAX or UMIN/UMAX (rather than just using min/max) as
signedness is not e
From: Soumya AR
This patch adds support for expanding the following atomic min/max builtins:
__atomic_fetch_min
__atomic_fetch_max
__atomic_min_fetch
__atomic_max_fetch
into compare-and-swap loops.
---
expand_binop() is extended to handle min/max operations, either via a
conditional move or a
From: Soumya AR
Add optab definitions for both legacy __sync and __atomic min/max operations.
The legacy sync optabs are not expected to be implemented by backends. They're
included to minimize branching in expand_atomic_fetch_op_no_fallback in
gcc/optabs.cc, since this function attempts to emit
From: Soumya AR
Hi,
This patch series implements support for integer atomic fetch min/max operations
in GCC, backing the C++26 std::atomic::fetch_max and
std::atomic::fetch_min operations.
CC'ed in: The following maintainers according to parts of the compiler modified
- middle-end maintainers:
On Tue, Sep 02, 2025 at 09:32:15AM +0530, Surya Kumari Jangala wrote:
> Ping.
>
> Please review.
IMHO we shouldn't introduce new builtins for this, but instead
use new flag bits in the upper bits of the memorder arguments.
See how x86 uses __ATOMIC_HLE_ACQUIRE and __ATOMIC_HLE_RELEASE
in there.
The print_ext_doc_entry function and associated version_t struct in
gen-riscv-ext-opt.cc were not being used anywhere in the codebase.
Remove them to clean up the code.
gcc/
* config/riscv/gen-riscv-ext-opt.cc (version_t): Remove unused
struct.
(print_ext_doc_entry): Remove
Hi Avinash,
On 14/08/25 11:27 am, Avinash Jayakar wrote:
> Hi all,
>
> Below is a draft of the patch for PR119702. I request you to
> please review it.
>
> In vector extensions for rs6000, there is no immediate version
> of left shift. This leads to having 2 instructions for the simple
> case o
I noticed that when looking into g++.dg/tree-ssa/vector-compare-1.C
failure on arm, the wrong alignment was being used for the load.
There needs to be an unaligned type here to get the correct alignment.
NOTE this means the code in strlen is also wrong but that is on its way
out so I am not sure i
From: Matthew Fortune
The compressed MIPS ISAs (microMIPS and MIPS16) require the LSB of
an address to indicate which ISA to execute. The non-conformant
patterns used in these tests cannot set the ISA mode bit and may
attempt to directly call the variable which triggers an error from
the assembl
On Mon, 1 Sep 2025, Jonny Grant wrote:
> My patch for these issues - could someone review please?
> https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642539.html
Indeed, all of this was still unresolved. :-(
I created a proper commit message and pushed your patch as follows.
Than you!
Geral
Hi Jeff,
> > [PATCH v2 02/12] Fix unsafe comparison against stack_pointer_rtx:
> > https://sourceware.org/pipermail/gcc-patches/2025-March/677829.html
> Is this still an issue? I thought this was fixed a while back in the
> renamer. I don't necessarily thing the patch would ever do anything
> wr
On 30/08/2025 3.32 pm, Jeff Law wrote:
On 8/29/25 2:36 PM, Mark Harmstone wrote:
The LF_ARRAY CodeView type represents a C- or C++-style array, which a
length known at compile time. We were crashing when using -gcodeview
with Ada (bug #121157), as the DW_AT_upper_bound value is not an
unsigned
Over time we had some cases where orphaned files from the libstdc++
documentation (manual) still appeared on our web site under
https://gcc.gnu.org/onlinedocs/libstdc++.
Jonathan and me played a bit of whack-a-mole over the years addressing
things manually. Earlier this year I realized this was
Am 01.09.25 um 05:31 schrieb Jerry D:
On 8/31/25 11:58 AM, Harald Anlauf wrote:
Dear all,
the attached fixes a missed optimization passing a constant character
string to a scalar dummy with value attribute and shorter than the
actual by truncating the latter at compile time.
Regtested on x86_6
Pushed, based on a redirect coming from the original server.
Gerald
gcc:
* doc/invoke.texi (Optimize Options): Update the perfwiki web
address.
---
gcc/doc/invoke.texi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
i
From: Aleksandar Rakic
Matthew Fortune (1):
Testsuite: Skip tests making calls to variables
gcc/doc/sourcebuild.texi | 6 ++
gcc/testsuite/gcc.c-torture/compile/20020129-1.c | 5 +
gcc/testsuite/gcc.c-torture/compile/pr37433-1.c | 5 +
gcc/testsuite/gcc
r16-3465 diagnostics: add GCC_DIAGNOSTICS_LOG broke bootstrap on
32b Darwin hosts, this fix tested on i686-darwin9, 17 and on
x86_64, aarch64 and powerpc64le - linux, pushed to trunk as obvious
and fixing bootstrap. Thanks,
Iain
--- 8< ---
The use of HOST_SIZE_T_PRINT_HEX needs to be paired wit
Tested on i686, x86_64 darwin, powerpc64le linux, aarch64 darwin,
pushed to trunk, thanks
Iain
--- 8< ---
While the assemblers used by Darwin that are based on LLVM, do
support .cfi_ instructions, their use triggers production of
compact unwind which currently does not interwork properly with
GCC
Hi,
This is a resubmission of the patch to skip tests that make calls to
variables, which are incompatible with compressed MIPS ISAs (microMIPS
and MIPS16). As requested, I have added documentation for the new
effective target `mips_compressed` in `doc/sourcebuild.texi`.
The patch now includes:
On 9/1/25 4:26 AM, Robin Dapp wrote:
Hi,
In a two-source gather we unconditionally overwrite target with the
first gather already. If op1 == target this clobbers the source operand
for the second gather. This patch uses a temporary in that case.
Regtested on rv64gcv_zvl512b.
Regards
Robin
On 9/1/25 9:02 AM, Yoshinori Sato wrote:
The problem was caused by an erroneous note about creating a stack frame,
which caused the cur_cfa reg to fail to assert with a value other than
the frame pointer.
This fix will generate notes that correctly update cur_cfa.
v2 changes.
Add testcase.
A
Excellent. Thank you. Okay for trunk, as David said.
Do you want backports for this?
Segher
On Mon, Sep 01, 2025 at 07:22:17PM +0530, Ayappan Perumal wrote:
> From: Ayappan Perumal
>
> ---
> stack-protector is not supported in GCC on AIX. This patch is to fail the
> compilation if -fstack-
Hi all, hi Yuao,
Yuao Ma wrote:
I mostly agree it looks okay. While I'm not that meticulous about
diagnostics, I believe it should point to the '=' sign or the first
character of the expression. Pointing to the middle, however, seems a
bit odd.
Looking at your patch, I understand what you mean
Yes, that would be really helpful.
Thanks
Ayappan
On Mon, Sep 1, 2025 at 9:31 PM Segher Boessenkool <
seg...@kernel.crashing.org> wrote:
> Excellent. Thank you. Okay for trunk, as David said.
>
> Do you want backports for this?
>
>
> Segher
>
>
> On Mon, Sep 01, 2025 at 07:22:17PM +0530, Ayapp
In use for 2 years or so on Darwin branches, OK for trunk?
thanks
Iain
--- 8< ---
The collect fork version has two issues on Darwin, first that it seems
to hang quite frequently and second that ___fork() is not available on
all OS versions. The remedy here is to avoid its use, for now.
---
...
Hi,
In a two-source gather we unconditionally overwrite target with the
first gather already. If op1 == target this clobbers the source operand
for the second gather. This patch uses a temporary in that case.
Regtested on rv64gcv_zvl512b.
Regards
Robin
PR target/121724
gcc/ChangeLog
On Fri, Aug 29, 2025 at 09:01:06AM -0700, Andi Kleen wrote:
> From: Andi Kleen
>
> This makes them not fail during test suite runs with overriden arch or
> tunings.
Comitted as obvious now.
-Andi
On 01/09/2025 14:02, Christophe Lyon wrote:
> Test "names" (the string after 'PASS:' or 'FAIL:' etc... is expected
> to be unique, otherwise this will confuse comparison scripts.
>
> This patch displays the lists of non-unique test names in the 'before'
> and in the 'now' results.
>
> contrib/Ch
can_find_related_mode_p incorrectly handled VLS (Vector Length Specific)
types by using TARGET_MIN_VLEN directly, which is in bits, instead of
converting it to bytes as required.
This patch fixes the issue by dividing TARGET_MIN_VLEN by 8 to convert
from bits to bytes when calculating the number o
The problem was caused by an erroneous note about creating a stack frame,
which caused the cur_cfa reg to fail to assert with a value other than
the frame pointer.
This fix will generate notes that correctly update cur_cfa.
v2 changes.
Add testcase.
All tests that failed with
"internal compiler e
On Wed, 27 Aug 2025 at 13:25, Torbjorn SVENSSON
wrote:
>
>
>
> On 2025-08-18 19:24, Christophe Lyon wrote:
> > Like we do in other effective-targets, add
> > "-mcpu=unset -march=armv8-a"
> > directly when setting et_arm_v8_neon_flags in arm_v8_neon_ok_nocache,
> > to avoid having to add these two
While we have already the accessor info_for_reduction, its result
is a plain stmt_vec_info. The following turns that into a class
for the purpose of changing accesses to reduction info to a new
set of accessors prefixed with VECT_REDUC_INFO and removes
the corresponding STMT_VINFO prefixed accesso
The main reason is that I’m working on the fixed-length-vector calling
convention [1]. For that, I need all these VLS types to be available so
that arguments can be passed correctly.
I know LMUL choice is very u-arch specific, so I agree the option makes
sense for the vectorizer. But when people
These patterns enable the combine pass (or late-combine, depending on the case)
to merge a vec_duplicate into an unspec_vfmax RTL instruction.
Before this patch, we have two instructions, e.g.:
vfmv.v.f v2,fa0
vfmax.vv v1,v2,v1
After, we get only one:
vfmax.vf v1,v1,fa0
I
> -Original Message-
> From: Jennifer Schmitz
> Sent: Friday, August 29, 2025 1:17 PM
> To: GCC Patches
> Cc: Alex Coplan ; Kyrylo Tkachov
> ; Tamar Christina ; Richard
> Earnshaw ; Andrew Pinski
> Subject: [PATCH][PR121602] aarch64: Force vector when folding svmul with all-
> ones op1.
Test "names" (the string after 'PASS:' or 'FAIL:' etc... is expected
to be unique, otherwise this will confuse comparison scripts.
This patch displays the lists of non-unique test names in the 'before'
and in the 'now' results.
contrib/ChangeLog:
* compare_tests: Report non-unique test
On Mon, Sep 1, 2025 at 7:56 PM Robin Dapp wrote:
>
> > I would prefer to keep it use GET_MODE_SIZE here since it make this
> > function more readable, I mean because few lines above just using
> > GET_MODE_SIZE, it might confusing people (at least to me :P) if we use
> > GET_MODE_PRECISION here.
>
On Mon, Sep 1, 2025 at 6:51 PM Robin Dapp wrote:
>
> > We used to apply -mrvv-max-lmul= to limit VLS code gen, auto vectorizer,
> > and builtin string function expansion. But I think the VLS code gen part
> > doesn't
> > need this limit, since it only happens when the user explicitly writes
> >
The following removes no longer needed extra sets of STMT_VINFO_REDUC_DEF
and replaces a single remaining one with a more appropriate check.
Bootstrapped and tested on x86_64-unknown-linux-gnu.
* tree-vect-loop.cc (vectorizable_live_operation): Check
vect_is_reduction on the SLP n
The following uses SLP_TREE_REDUC_IDX where it looks more appropriate.
Bootstrapped and tested on x86_64-unknown-linux-gnu.
* tree-vect-loop.cc (vect_create_epilog_for_reduction):
Use SLP_TREE_REDUC_IDX for following the SLP graph and
for identifying whether we use the 'el
On Mon, 1 Sep 2025, Tamar Christina wrote:
> > -Original Message-
> > From: Richard Biener
> > Sent: Friday, August 29, 2025 12:41 PM
> > To: gcc-patches@gcc.gnu.org
> > Cc: RISC-V CI ; Tamar Christina
> >
> > Subject: [PATCH 4/4] Eliminate some STMT_VINFO_REDUC_IDX for
> > SLP_TREE_REDU
On Fri, 29 Aug 2025 at 16:07, Christophe Lyon
wrote:
>
> On Fri, 29 Aug 2025 at 16:01, Richard Earnshaw
> wrote:
> >
> > On 29/08/2025 14:57, Christophe Lyon wrote:
> > > On Fri, 29 Aug 2025 at 15:50, Christophe Lyon
> > > wrote:
> > >>
> > >> On Fri, 29 Aug 2025 at 15:35, Richard Earnshaw
> >
We currently do not handle promotion/demotion of 'var' when the
left operand of a variable shift is constant. There's no good
reason why, so the following fixes this omission.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
PR tree-optimization/121744
* tree-vect-p
I would prefer to keep it use GET_MODE_SIZE here since it make this
function more readable, I mean because few lines above just using
GET_MODE_SIZE, it might confusing people (at least to me :P) if we use
GET_MODE_PRECISION here.
Then maybe change 8 to BITS_PER_UNIT? Otherwise one could think t
Ok, Thanks for your review. I will prepare a new implement recently.
BR,
Jiawei
- Original Message -
From: "Kito Cheng"
To: "Christoph Müllner"
Cc: Jiawei , gcc-patches@gcc.gnu.org, jeffreya...@gmail.com, pal...@rivosinc.com
Sent: Mon, 1 Sep 2025 18:41:03 +0800
Subject: Re: [PATCH]
Hello
Could this be reviewed please. It looks like not applied yet:
https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
BTW, I made the change because as it was it just shows the same line-number the
whole way through - where the wrapper called __builtin_LINE()
https://godbolt.org/z/rTc6EchvE
My patch for these issues - could someone review please?
https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642539.html
On Mon, 1 Sept 2025 at 12:57, Richard Earnshaw (lists)
wrote:
>
> On 01/09/2025 10:59, Christophe Lyon wrote:
> > Test "names" (the string after 'PASS:' or 'FAIL:' etc... is expected
> > to be unique, otherwise this will confuse comparison scripts.
> >
> > This patch displays the lists of non-uni
On Mon, Sep 1, 2025 at 6:43 PM Robin Dapp wrote:
>
>
> > @@ -3047,7 +3047,7 @@ can_find_related_mode_p (machine_mode vector_mode,
> > scalar_mode element_mode,
> >GET_MODE_SIZE (element_mode), nunits))
> > return true;
> >if (riscv_v_ext_vls_mode_p (vector_mode)
> > -
This pattern enables the combine pass (or late-combine, depending on the case)
to merge a vec_duplicate into an smax RTL instruction.
Before this patch, we have two instructions, e.g.:
vfmv.v.f v2,fa0
vfmax.vv v1,v1,v2
After, we get only one:
vfmax.vf v1,v1,fa0
In some ca
On 01/09/2025 10:59, Christophe Lyon wrote:
> Test "names" (the string after 'PASS:' or 'FAIL:' etc... is expected
> to be unique, otherwise this will confuse comparison scripts.
>
> This patch displays the lists of non-unique test names in the 'before'
> and in the 'now' results.
>
> contrib/Ch
Yuao Ma wrote:
BTW, The current trunk seems to have some problems with diagnostic
location: https://godbolt.org/z/bcrvn9xo4
In the last days, there were some diagnostic changes; possibly
those caused an intermittent issue?
Otherwise, it looks ok. Namely:
The '1' points to the space after '='i
We used to apply -mrvv-max-lmul= to limit VLS code gen, auto vectorizer,
and builtin string function expansion. But I think the VLS code gen part doesn't
need this limit, since it only happens when the user explicitly writes vector
types.
For example, int32x8_t under -mrvv-max-lmul=m1 with VLEN=1
Hi Jiawei:
I would prefer to have full verification on arch-canonicalize side,
could you extract profile list to a def file like riscv-cores.def or
riscv-ext.def and then read that in arch-canonicalize?
On Mon, Sep 1, 2025 at 6:03 PM Christoph Müllner
wrote:
>
>
>
> On Tue, Aug 26, 2025 at 11:26
We used to apply -mrvv-max-lmul= to limit VLS code gen, auto vectorizer,
and builtin string function expansion. But I think the VLS code gen part doesn't
need this limit, since it only happens when the user explicitly writes vector
types.
For example, int32x8_t under -mrvv-max-lmul=m1 with VLEN=12
Test "names" (the string after 'PASS:' or 'FAIL:' etc... is expected
to be unique, otherwise this will confuse comparison scripts.
This patch displays the lists of non-unique test names in the 'before'
and in the 'now' results.
contrib/ChangeLog:
* compare_tests: Report non-unique test
On Tue, Aug 26, 2025 at 11:26 AM Jiawei wrote:
> This patch allows profiles input in '--with-arch'. With this change,
> profile names such as `rva22*`, `rvb23*`, or `rvi*` can be passed
> directly to `--with-arch` without triggering configure errors. This
> makes it easier to configure and buil
On 28/08/2025 09:03, Tobias Burnus wrote:
I am seemingly not fully awake: As the Aug 8 commit was not listed + I
forgot 'git pull', I only added that one – and not also the Aug 27 commit.
Hence, there is now a [v2] that adds the two newer commits such that
there are now three post-release Newl
Minor update (as attached): Fixed two bugs in plugin-gcn.c.
The patch has now also been tested with AMD GPUs (MI300) offloading
and on a PowerPC (powerpc64le) system with offloading
to a Volta GPU.
Tobias Burnus wrote:
The main motivation for this patch is that on MI300,
libgomp.c-c++-common/d
PING
On 21/05/2025 16:13, Christopher Bazley wrote:
Commit 0547dbb725b reduced the number of cases in which
union padding bits are zeroed when the relevant language
standard does not strictly require it, unless gcc was
invoked with -fzero-init-padding-bits=unions or
-fzero-init-padding-bits=all
On Sep 01 2025, Nathanial Sloss wrote:
> + /* expand the right value for nan */
> + if ((fl1.l & QUIET_NaN) == QUIET_NaN)
Any non-zero bit pattern can be NaN, not only all-bits-one, and the sign
bit can be zero or one.
--
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D
Thanks for taking a look so fast LH and Jonathan.
On Sun Aug 31, 2025 at 11:09 PM CDT, LIU Hao wrote:
> 在 2025-9-1 11:12, Jonathan Yong 写道:
>> On 8/31/25 9:58 PM, Trevor Gross wrote:
>>> For MinGW on x86-64, GCC currently passes and returns `_Float16` in
>>> GPRs. Microsoft does not specify an off
Hi Jakub,
Gentle ping :).
On Tue, 2025-08-19 at 19:37 +0800, Yang Yujie wrote:
> 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
OK for trunk :)
On Mon, Sep 1, 2025 at 12:06 PM Jiawei wrote:
>
> This patch update RISC-V Zba extension 'shNadd.uw' instruction generation.
> Supplemented the instruction generation detection of 'sh1add.uw' and
> 'sh3add.uw'.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/riscv/zba-shadd.
65 matches
Mail list logo