[PATCH] x86: Enable *mov_and only for -Oz

2025-05-24 Thread H.J. Lu
commit ef26c151c14a87177d46fd3d725e7f82e040e89f Author: Roger Sayle Date: Thu Dec 23 12:33:07 2021 + x86: PR target/103773: Fix wrong-code with -Oz from pop to memory. transformed "mov $0,mem" to the shorter and "$0,mem" for -Oz. But (define_insn "*mov_and" [(set (match_operand:SWI

[to-be-committed][RISC-V] shift+and+shift for logical and synthesis

2025-05-24 Thread Jeff Law
The next chunk of Shreya's work. For this expansion we want to detect cases when the mask fits in a simm12 after shifting right by the number of trailing zeros in the mask. In that case we can synthesize the AND with a shift right, andi and shift left. I saw this case come up when doing some

[PATCH] x86: Enable *mov_(and|or) only for -Oz

2025-05-24 Thread H.J. Lu
On Sun, May 25, 2025 at 7:47 AM H.J. Lu wrote: > > commit ef26c151c14a87177d46fd3d725e7f82e040e89f > Author: Roger Sayle > Date: Thu Dec 23 12:33:07 2021 + > > x86: PR target/103773: Fix wrong-code with -Oz from pop to memory. > > transformed "mov $0,mem" to the shorter and "$0,mem" for

[to-be-committed][RISC-V] Add andi+bclr synthesis

2025-05-24 Thread Jeff Law
So this patch from Shreya adds the ability to use andi + a series of bclr insns to synthesize a logical AND, much like we're doing for IOR/XOR using ori+bset or their xor equivalents. This would regress from a code quality standpoint if we didn't make some adjustments to a handful of define_in

[Ada] Install ACATS 4.2 testsuite in acats-4 directory

2025-05-24 Thread Eric Botcazou
It corresponds to revision 4.2A of http://www.ada-auth.org/acats.html minus the same chapters as for ACATS 2.6. It is not run, the missing step being: --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -1108,7 +1108,7 @@ check-ada-subtargets: check-acats-subtarg

Re: [PATCH 2/2] VR-VALUES: Rewrite test_for_singularity using range_op_handler

2025-05-24 Thread Jeff Law
On 5/23/25 8:56 AM, Andrew MacLeod wrote: Since the PR scrolled by, i don't think I ever noticed this thread.. or at least where it lead. This is not an "equivalence" that ranger would propagate because its a relation with a constant. the issue here seems to be: if (x < 4)   when x has

Re: [PATCH v2] libstdc++: Implement C++26 std::indirect [PR119152]

2025-05-24 Thread NightStrike
On Thu, May 22, 2025 at 08:54 Tomasz Kamiński wrote: > From: Jonathan Wakely > > This papers implements C++26 std::indirect as specified “This patch”? >

[PATCH] fortran: add constant input support for trig functions with half-revolutions

2025-05-24 Thread Yuao Ma
Hi Steve, Thanks for your review! I've updated the patch. > this range_check() is unneeded. Done. > As a side note, the error message is slightly misleading > (although it will not be issued). Technically, x = -1 or 1 > are allowed values, and neither is **between** -1 and 1. You're right, th

[PATCH v1] libstdc++: Fix bug in default ctor of extents.

2025-05-24 Thread Luc Grosheintz
The array that stores the dynamic extents used to be default initialized. The standard requires value intialization. This commit fixes the bug and adds a test. libstdc++-v3/ChangeLog: * include/std/mdspan: Value initialize the array storing the dynamic extents. * testsuite

[Ada] Move ACATS 2.6 testsuite to acats-2 directory

2025-05-24 Thread Eric Botcazou
This is in preparation for the installation of the ACATS 4.2 testsuite. Tested on x86-64/Linux, applied on the mainline. 2025-05-24 Eric Botcazou ada/ * gcc-interface/Make-lang.in (ACATSDIR): Use acats-2 directory. testsuite/ * ada/acats/*: Rename into ada/acats-2/*.

[PATCH] rs6000: Remove include of reload.h

2025-05-24 Thread Segher Boessenkool
As one of the last steps in removing old reload, I'll delete the reload.h header file. It would be a bit embarrassing if that stopped the target I am responsible for from working, so let's prevent that. We do not actually use anything from this header file (checked by building with this patch, an

[Ada] Install ACATS 3.1 testsuite in acats-3 directory

2025-05-24 Thread Eric Botcazou
It corresponds to revision 3.1DD of http://www.ada-auth.org/acats.html minus the same chapters as for ACATS 2.6. It is not run, the missing step being: --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -1108,7 +1108,7 @@ check-ada-subtargets: check-acats-subtar

Re: [PATCH v2 2/2] emit-rtl: Validate mode for paradoxical hardware subregs [PR119966]

2025-05-24 Thread Dimitar Dimitrov
On Fri, May 16, 2025 at 06:14:30PM +0100, Richard Sandiford wrote: > Dimitar Dimitrov writes: > > After r16-160-ge6f89d78c1a752, late_combine2 started transforming the > > following RTL for pru-unknown-elf: > > > > (insn 3949 3948 3951 255 (set (reg:QI 56 r14.b0 [orig:1856 _619 ] [1856]) > >

Re: [PATCH 1/3] LoongArch: testsuite: Fix pr112325.c and pr117888-1.c.

2025-05-24 Thread Lulu Cheng
在 2025/5/23 下午7:07, Xi Ruoyao 写道: On Fri, 2025-03-07 at 14:14 +0800, Lulu Cheng wrote: By default, vectorization is not enabled on LoongArch, resulting in the failure of these two test cases. Hmm, but wouldn't every test in the vect/ directory automatically get - mlsx (from DEFAULT_VECTCFLAGS

[PATCH] [lra] force reg update after spilling to memory [PR120424]

2025-05-24 Thread Alexandre Oliva
In the added C++ testcase, a stack slot at a negative sp offset is used to hold a value across a call. There are a couple of causes that directly lead to this outcome: - the -fstack-clash-protection and -fnon-call-exception options, that cause arm_frame_pointer_required to flip from false to tr