[RFA][PR rtl-optimization/116136] Fix previously latent SUBREG simplification bug

2024-07-30 Thread Jeff Law
This fixes a testsuite regression seen on m68k after some of the recent ext-dce changes. Ultimately Richard S and I have concluded the bug was a latent issue in subreg simplification. Essentially when simplifying something like (set (target:M1) (subreg:M1 (subreg:M2 (reg:M1) 0) 0)) Where M

Re: arm: Prevent ICE when doloop dec_set is not PLUS_EXPR

2024-07-30 Thread Christophe Lyon
Hi Andre, On 7/26/24 16:05, Andre Vieira (lists) wrote: This patch refactors and fixes an issue where arm_mve_dlstp_check_dec_counter was making an assumption about the form of what a candidate for a dec_insn. I think this lacks some verb? (eg what a candidate for a dec_insn "is" or "

Re: [RFC] RISC-V: Add support for Profiles RVA/B23.

2024-07-30 Thread Jeff Law
On 7/28/24 9:24 PM, Jiawei wrote: This patch adds support for RISC-V RVA23 and RVB23 Profiles[1], which depend on the base RISC-V Profiles support[2]. [1] https://github.com/riscv/riscv-profiles/releases/tag/rva23-v0.4-rvb23-v0.1-internal-review [2] https://gcc.gnu.org/pipermail/gcc-patches/

Re: [PATCH] Fix ICE when using -gcodeview with empty struct

2024-07-30 Thread Jeff Law
On 7/28/24 4:41 PM, Mark Harmstone wrote: Empty structs result in empty LF_FIELDLIST types, which are valid, but we weren't accounting for this and assuming they had to contain subtypes. gcc/ * dwarf2codeview.cc (get_type_num_struct): Fix NULL pointer dereference. OK jeff

Re: [PATCH 4/5] RISC-V: Add support to vector stack-clash protection

2024-07-30 Thread Raphael Zinsly
On Tue, Jul 30, 2024 at 4:29 PM Jeff Law wrote: >... > You define: > +#define RISCV_STACK_CLASH_VECTOR_CFA_REGNUM (GP_TEMP_FIRST + 4) > > Where: > #define GP_REG_FIRST 0 > #define GP_TEMP_FIRST (GP_REG_FIRST + 5) > > So RISCV_STACK_CLASH_VECTOR_CFA_REGNUM defined as "9" which I think is > "s1". T

[PATCH, v2] OpenMP: Constructors and destructors for "declare target" static aggregates

2024-07-30 Thread Tobias Burnus
Hello world, hi Jakub, I would like to PING the following patch. It's essentially Julian's patch, except: * It is rediffed (albeit it mostly applied cleanly). * I replaced the omp_is_initial_device call by an internal function (IFN_) such that it can be evaluated at compile time. With -O1, t

Re: [PATCH 4/5] RISC-V: Add support to vector stack-clash protection

2024-07-30 Thread Jeff Law
On 7/30/24 2:50 PM, Raphael Zinsly wrote: On Tue, Jul 30, 2024 at 4:29 PM Jeff Law wrote: ... You define: +#define RISCV_STACK_CLASH_VECTOR_CFA_REGNUM (GP_TEMP_FIRST + 4) Where: #define GP_REG_FIRST 0 #define GP_TEMP_FIRST (GP_REG_FIRST + 5) So RISCV_STACK_CLASH_VECTOR_CFA_REGNUM defined a

[PATCH v2] c++: array new with value-initialization, again [PR115645]

2024-07-30 Thread Marek Polacek
On Mon, Jul 29, 2024 at 06:34:40PM -0400, Jason Merrill wrote: > On 7/29/24 4:18 PM, Marek Polacek wrote: > > On Tue, Jul 23, 2024 at 05:18:52PM -0400, Jason Merrill wrote: > > > On 7/17/24 5:33 PM, Marek Polacek wrote: > > > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? > > > > >

Re: [r15-2196 Regression] FAIL: c-c++-common/dfp/convert-bfp-6.c -std=gnu++98 execution test on Linux/x86_64

2024-07-30 Thread Jeff Law
On 7/23/24 11:26 PM, Jiang, Haochen wrote: -Original Message- From: Jakub Jelinek Sent: Wednesday, July 24, 2024 1:09 PM To: Jiang, Haochen Cc: j...@ventanamicro.com; gcc-regress...@gcc.gnu.org; gcc- patc...@gcc.gnu.org Subject: Re: [r15-2196 Regression] FAIL: c-c++-common/dfp/con

Re: [PATCH] recog: Disallow subregs in mode-punned value [PR115881]

2024-07-30 Thread Jeff Law
On 7/19/24 11:37 AM, Richard Sandiford wrote: In g:9d20529d94b23275885f380d155fe8671ab5353a, I'd extended insn_propagation to handle simple cases of hard-reg mode punning. The punned "to" value was created using simplify_subreg rather than simplify_gen_subreg, on the basis that hard-coded subr

Re: [r15-2196 Regression] FAIL: c-c++-common/dfp/convert-bfp-6.c -std=gnu++98 execution test on Linux/x86_64

2024-07-30 Thread Jakub Jelinek
On Tue, Jul 30, 2024 at 03:03:39PM -0600, Jeff Law wrote: > > > The compilation of convert-bfp-6.c itself is identical between the older > > > (where > > > it didn't fail) and newer (where it fails) builds, what has changed is > > > libgcc.a. > > > In particular, what matters is libgcc/bid_binary

[r15-2416 Regression] FAIL: gcc.target/i386/switch-exp-transform-3.c scan-tree-dump-times switchconv "Applying exponential index transform" 6 on Linux/x86_64

2024-07-30 Thread haochen.jiang
On Linux/x86_64, 2b3533cd871f62923e7a4f06a826f37bf0f35c5c is the first bad commit commit 2b3533cd871f62923e7a4f06a826f37bf0f35c5c Author: Filip Kastl Date: Tue Jul 30 18:40:29 2024 +0200 gimple ssa: Teach switch conversion to optimize powers of 2 switches caused FAIL: gcc.target/i386/swi

[PATCH] RISC-V: Reject 'd' extension with ILP32E ABI

2024-07-30 Thread Patrick O'Neill
Also add a testcase for -mabi=lp64d where 'd' is required. gcc/ChangeLog: PR 116111 * config/riscv/riscv.cc (riscv_option_override): gcc/testsuite/ChangeLog: * gcc.target/riscv/arch-41.c: New test. * gcc.target/riscv/pr116111.c: New test. Signed-off-by: Patrick

Re: [PATCH v2] c++: array new with value-initialization, again [PR115645]

2024-07-30 Thread Jason Merrill
On 7/30/24 4:59 PM, Marek Polacek wrote: On Mon, Jul 29, 2024 at 06:34:40PM -0400, Jason Merrill wrote: On 7/29/24 4:18 PM, Marek Polacek wrote: On Tue, Jul 23, 2024 at 05:18:52PM -0400, Jason Merrill wrote: On 7/17/24 5:33 PM, Marek Polacek wrote: Bootstrapped/regtested on x86_64-pc-linux-gn

[PATCH v4 1/2] arm: [MVE intrinsics] fix vdup iterator

2024-07-30 Thread Christophe Lyon
This patch fixes a bug where the mode iterator for mve_vdup should be MVE_VLD_ST instead of MVE_vecs: V2DI and V2DF (thus vdup.64) are not supported by MVE. 2024-07-02 Jolen Li Christophe Lyon gcc/ * config/arm/mve.md (mve_vdup): Fix mode iterator. --- gcc/config

[PATCH v4 2/2] arm: [MVE intrinsics] Improve vdupq_n implementation

2024-07-30 Thread Christophe Lyon
Hi, v4 of patch 2/2 fixes a small mistake in 3 testcases, by relaxing the expected q0 as result register into q[0-9]+ to account for codegen differences depending on if the test is compiled with -mfloat-abi=softfp or -mfloat-abi=hard. I repost patch 1/2 (already approved) so that Linaro CI can ap

Re: [PATCH v2] libstdc++: implement concatenation of strings and string_views

2024-07-30 Thread Giuseppe D'Angelo
On 30/07/2024 15:27, Jonathan Wakely wrote: On Tue, 30 Jul 2024 at 14:08, Jonathan Wakely wrote: On Tue, 30 Jul 2024 at 08:31, Giuseppe D'Angelo wrote: Hello! The attached patch implements adds support for P2591R5 in libstdc++ (concatenation of strings and string_views, approved in Tokyo f

[PATCH v3] c++: array new with value-initialization, again [PR115645]

2024-07-30 Thread Marek Polacek
On Tue, Jul 30, 2024 at 05:38:37PM -0400, Jason Merrill wrote: > On 7/30/24 4:59 PM, Marek Polacek wrote: > > On Mon, Jul 29, 2024 at 06:34:40PM -0400, Jason Merrill wrote: > > > On 7/29/24 4:18 PM, Marek Polacek wrote: > > > > On Tue, Jul 23, 2024 at 05:18:52PM -0400, Jason Merrill wrote: > > > >

Re: [PATCH v2] libstdc++: implement concatenation of strings and string_views

2024-07-30 Thread Jonathan Wakely
On Tue, 30 Jul 2024 at 22:54, Giuseppe D'Angelo wrote: > > On 30/07/2024 15:27, Jonathan Wakely wrote: > > On Tue, 30 Jul 2024 at 14:08, Jonathan Wakely wrote: > >> > >> On Tue, 30 Jul 2024 at 08:31, Giuseppe D'Angelo > >> wrote: > >>> > >>> Hello! > >>> > >>> The attached patch implements adds

Re: [PATCH v3] c++: array new with value-initialization, again [PR115645]

2024-07-30 Thread Jason Merrill
On 7/30/24 5:56 PM, Marek Polacek wrote: On Tue, Jul 30, 2024 at 05:38:37PM -0400, Jason Merrill wrote: On 7/30/24 4:59 PM, Marek Polacek wrote: On Mon, Jul 29, 2024 at 06:34:40PM -0400, Jason Merrill wrote: On 7/29/24 4:18 PM, Marek Polacek wrote: On Tue, Jul 23, 2024 at 05:18:52PM -0400, Ja

Re: [PATCH 1/2 v2] Introduce __builtin_is_virtual_base_of

2024-07-30 Thread Giuseppe D'Angelo
On 29/07/2024 22:53, Giuseppe D'Angelo wrote: Hi, The attached patch is a stab at adding the necessary compiler builtin to support std::is_virtual_base_of (P2985R0, approved for C++26). The name of the builtin matches the one just merged into clang: https://github.com/llvm/llvm-project/issues/9

Re: [PATCH 2/2 v2] libstdc++: add std::is_virtual_base_of

2024-07-30 Thread Giuseppe D'Angelo
Hello, On 30/07/2024 15:04, Jonathan Wakely wrote: On Mon, 29 Jul 2024 at 21:58, Giuseppe D'Angelo wrote: Hi, And this is the corresponding change libstdc++. Thanks for the patch. Again, thanks for the guidance, should be all fixed. -- Giuseppe D'Angelo From 1ab6d37ea41ca6fa05074a3d3b26

Re: [PATCH 2/2 v2] libstdc++: add std::is_virtual_base_of

2024-07-30 Thread Jonathan Wakely
On Tue, 30 Jul 2024 at 23:49, Giuseppe D'Angelo wrote: > > Hello, > > On 30/07/2024 15:04, Jonathan Wakely wrote: > > On Mon, 29 Jul 2024 at 21:58, Giuseppe D'Angelo wrote: > >> > >> Hi, > >> > >> And this is the corresponding change libstdc++. > > > > Thanks for the patch. > > Again, thanks for t

[PATCH] RISC-V: Add deprecation warning to LP64E abi

2024-07-30 Thread Patrick O'Neill
gcc/ChangeLog: PR 116152 * config/riscv/riscv.cc (riscv_option_override): Add deprecation warning. gcc/testsuite/ChangeLog: * gcc.target/riscv/predef-9.c: Add check for warning. Signed-off-by: Patrick O'Neill --- Tested prior to adding link. Relying on precommit

Re: [PATCH] RISC-V: Add deprecation warning to LP64E abi

2024-07-30 Thread Andrew Pinski
On Tue, Jul 30, 2024 at 4:04 PM Patrick O'Neill wrote: > > gcc/ChangeLog: > > PR 116152 > * config/riscv/riscv.cc (riscv_option_override): Add deprecation > warning. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/predef-9.c: Add check for warning. > > Signed-of

Re: [PATCH ver 2] rs6000, Add new overloaded vector shift builtin int128, varients

2024-07-30 Thread Peter Bergner
On 7/30/24 10:17 AM, Carl Love wrote: > I tried, I hope I got it right, with -m32t: > > /* { dg-do run { target power10_hw } } */ > /* { dg-do compile { target { ! power10_hw } } } */ > /* { dg-require-effective-target int128 } */ > > This gives: > > # of unsupported tests 1 > > The

Re: [RFH PATCH] c++: Implement C++26 P2963R3 - Ordering of constraints involving fold expressions [PR115746]

2024-07-30 Thread Jason Merrill
On 7/29/24 5:32 PM, Patrick Palka wrote: On Mon, 29 Jul 2024, Jakub Jelinek wrote: On Fri, Jul 26, 2024 at 06:00:12PM -0400, Patrick Palka wrote: On Fri, 26 Jul 2024, Jakub Jelinek wrote: On Fri, Jul 26, 2024 at 04:42:36PM -0400, Patrick Palka wrote: // P2963R3 - Ordering of constraints inv

Re: [r15-2196 Regression] FAIL: c-c++-common/dfp/convert-bfp-6.c -std=gnu++98 execution test on Linux/x86_64

2024-07-30 Thread Jeff Law
On 7/30/24 3:08 PM, Jakub Jelinek wrote: On Tue, Jul 30, 2024 at 03:03:39PM -0600, Jeff Law wrote: The compilation of convert-bfp-6.c itself is identical between the older (where it didn't fail) and newer (where it fails) builds, what has changed is libgcc.a. In particular, what matters is li

Re: [PATCH] RISC-V: Reject 'd' extension with ILP32E ABI

2024-07-30 Thread Kito Cheng
LGTM, although I thought for a few seconds whether to use sorry or error, but I think we don't really feel sorry for that case, so just error is fine :P On Wed, Jul 31, 2024 at 5:33 AM Patrick O'Neill wrote: > > Also add a testcase for -mabi=lp64d where 'd' is required. > > gcc/ChangeLog: > >

Re: [PATCH] RISC-V: Add deprecation warning to LP64E abi

2024-07-30 Thread Patrick O'Neill
On 7/30/24 16:08, Andrew Pinski wrote: On Tue, Jul 30, 2024 at 4:04 PM Patrick O'Neill wrote: gcc/ChangeLog: PR 116152 * config/riscv/riscv.cc (riscv_option_override): Add deprecation warning. gcc/testsuite/ChangeLog: * gcc.target/riscv/predef-9.c: Add c

[PATCH v2] RISC-V: Add deprecation warning to LP64E abi

2024-07-30 Thread Patrick O'Neill
gcc/ChangeLog: PR 116152 * config/riscv/riscv.cc (riscv_option_override): Add deprecation warning. gcc/testsuite/ChangeLog: * gcc.target/riscv/predef-9.c: Add check for warning. Signed-off-by: Patrick O'Neill --- v2 ChangeLog: Shorten message and split into warn

Re: Re: [PATCH] RISC-V: NFC: Do not use zicond for pr105314 testcases

2024-07-30 Thread Xiao Zeng
2024-07-31 03:10  Jeff Law wrote: > > > >On 7/28/24 7:58 PM, Xiao Zeng wrote: >> gcc/testsuite/ChangeLog: >> >>  * gcc.target/riscv/pr105314-rtl.c: Skip zicond. >>  * gcc.target/riscv/pr105314-rtl32.c: Dotto. >>  * gcc.target/riscv/pr105314.c: Dotto. >Why do you want to ski

RE: [PATCH v1] RISC-V: Implement the quad and oct .SAT_TRUNC for scalar

2024-07-30 Thread Li, Pan2
Kindly ping. Pan -Original Message- From: Li, Pan2 Sent: Tuesday, July 23, 2024 1:06 PM To: gcc-patches@gcc.gnu.org Cc: juzhe.zh...@rivai.ai; kito.ch...@gmail.com; jeffreya...@gmail.com; rdapp@gmail.com; Li, Pan2 Subject: [PATCH v1] RISC-V: Implement the quad and oct .SAT_TRUNC fo

Re: [RFC] RISC-V: Add support for Profiles RVA/B23.

2024-07-30 Thread Jiawei
在 2024/7/31 4:48, Jeff Law 写道: On 7/28/24 9:24 PM, Jiawei wrote: This patch adds support for RISC-V RVA23 and RVB23 Profiles[1], which depend on the base RISC-V Profiles support[2]. [1] https://github.com/riscv/riscv-profiles/releases/tag/rva23-v0.4-rvb23-v0.1-internal-review [2] https://

[PATCH] [x86] Mention _Float16 and __bf16 changes in GCC14.

2024-07-30 Thread liuhongt
Ok for trunk? --- htdocs/gcc-14/changes.html| 7 +++ htdocs/gcc-14/porting_to.html | 9 + 2 files changed, 16 insertions(+) diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html index ca4cae0f..b023a4b9 100644 --- a/htdocs/gcc-14/changes.html +++ b/htdocs/gcc-14/ch

[PATCH] i386: Remove ndd support for *add_4 [PR113744]

2024-07-30 Thread Kong, Lingling
*add_4 and *adddi_4 are for shorter opcode from cmp to inc/dec or add $128. But NDD code is longer than the cmp code, so there is no need to support NDD. Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. Ok for trunk? gcc/ChangeLog: PR target/113744 * con

Re: [PATCH] LoongArch: Relax ins_zero_bitmask_operand and remove and3_align

2024-07-30 Thread Lulu Cheng
在 2024/7/29 下午3:59, Xi Ruoyao 写道: In r15-1207 I was too stupid to realize we just need to relax ins_zero_bitmask_operand to allow using bstrins for aligning, instead of adding a new split. And, "> 12" in ins_zero_bitmask_operand also makes no sense: it rejects bstrins for things like "x & ~4l"

[PATCH v4 0/3] aarch64: Add initial support for +fp8 arch extensions

2024-07-30 Thread Claudio Bantaloukas
This series introduces initial flags and functionality for the fp8 feature. Specifically, the following are added: - functions that enable constructing valid fpm register values. - support for the '+fp8' -march modifier. - support for reading and writing the new system register FPMR (Floating Po

[PATCH v4 1/3] aarch64: Add march flags for +fp8 arch extensions

2024-07-30 Thread Claudio Bantaloukas
This introduces the relevant flags to enable access to the fpmr register and fp8 intrinsics, which will be added subsequently. gcc/ChangeLog: * config/aarch64/aarch64-option-extensions.def (fp8): New. * config/aarch64/aarch64.h (TARGET_FP8): Likewise. * doc/invoke.texi (

[PATCH v4 3/3] aarch64: Add fpm register helper functions.

2024-07-30 Thread Claudio Bantaloukas
The ACLE declares several helper types and functions to facilitate construction of `fpm` arguments. These are available when one of the arm_neon.h, arm_sve.h, or arm_sme.h headers is included. These helpers don't map to specific FP8 instructions and there's no expectation that they will produce a

[PATCH v4 2/3] aarch64: Add support for moving fpm system register

2024-07-30 Thread Claudio Bantaloukas
Unlike most system registers, fpmr can be heavily written to in code that exercises the fp8 functionality. That is because every fp8 instrinsic call can potentially change the value of fpmr. Rather than just use an unspec, we treat the fpmr system register like all other registers and use a move o

Re: [PATCH] i386: Remove ndd support for *add_4 [PR113744]

2024-07-30 Thread Hongtao Liu
On Wed, Jul 31, 2024 at 2:08 PM Kong, Lingling wrote: > > *add_4 and *adddi_4 are for shorter opcode from cmp to inc/dec or add > $128. > > But NDD code is longer than the cmp code, so there is no need to support NDD. > > > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > > Ok for tr

<    1   2