[PATCH] tree-reassoc.cc: PR tree-optimization/116139 Don't assert when forming fully-pipelined FMAs on wide MULT targets

2024-08-04 Thread Kyrylo Tkachov
Hi all, The code in get_reassociation_width that forms FMAs aggressively when they are fully pipelined expects the FMUL reassociation width in the target to be less than for FMAs. This doesn't hold for all target tunings. This code shouldn't ICE, just avoid forming these FMAs here. This patch doe

Re: [PATCH] rs6000, document built-ins vec_test_lsbb_all_ones and, vec_test_lsbb_all_zeros

2024-08-04 Thread Kewen.Lin
on 2024/8/3 05:48, Peter Bergner wrote: > On 7/31/24 10:21 PM, Kewen.Lin wrote: >> on 2024/8/1 01:52, Carl Love wrote: >>> Yes, I noticed that the built-ins were defined as overloaded but only had >>> one definition. Did seem odd to me. >>> either is with "vector unsigned char" as argument

Re: [PATCH ver 3] rs6000, Add new overloaded vector shift builtin int128, variants

2024-08-04 Thread Kewen.Lin
Hi Carl, on 2024/8/2 03:35, Carl Love wrote: > GCC developers: > > Version 3, updated the testcase dg-do link to dg-do compile.  Moved the new > documentation again.  Retested on Power 10 LE and BE to verify the dg > arguments disable the test on Power10BE but enable the test for Power10LE.  >

Re: [PR middle-end/114635] Set OMP safelen handling to INT_MAX when the pragma didn’t provide one.

2024-08-04 Thread Kugan Vivekanandarajah
> On 15 Jul 2024, at 5:18 pm, Jakub Jelinek wrote: > > External email: Use caution opening links or attachments > > > On Mon, Jul 15, 2024 at 12:39:22AM +, Kugan Vivekanandarajah wrote: >> OMP safelen handling is assigning backend provided max as an int even when >> the pragma didn’t provid

Re: [PATCH 0/1] Initial support for AVX10.2

2024-08-04 Thread Hongyu Wang
Andi Kleen 于2024年8月5日周一 06:31写道: > > > BTW, I noticed that in LLVM there is FP8 support for ARM currently > > undergoing. I will have a look on it to see if everything is mature. > > There's even FP8 work for ARM work under way for gcc, see > https://gcc.gnu.org/pipermail/gcc-patches/2024-August/6

Re: [PATCH] IRA: Ignore debug insns for uses in split_live_ranges_for_shrink_wrap. [PR116179]

2024-08-04 Thread Andrew Pinski
On Sat, Aug 3, 2024 at 3:31 PM Jeff Law wrote: > > > > On 8/2/24 11:31 PM, Sam James wrote: > > Andrew Pinski writes: > > > >> Late_combine exposed this latent bug in split_live_ranges_for_shrink_wrap. > >> What it did was copy-prop regno 151 from regno 119 from: > >> ``` > >> (insn 2 264 3 2 (se

Re: [PATCH v2] RISC-V: Add --with-cmodel configure option

2024-08-04 Thread Hau Hsu
Oh the Palmer's patch is here https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641172.html It doesn't mater who's patch get merged for me :) > On Aug 2, 2024, at 10:43 PM, Jeff Law wrote: > > > > On 8/1/24 11:11 PM, Hau Hsu wrote: >> Sometimes we want to use default cmodel oth

Re: [PATCH] RISC-V: Minimal support for Zimop extension.

2024-08-04 Thread Jiawei
在 2024/8/5 8:45, Jeff Law 写道: On 8/2/24 9:32 AM, Jiawei wrote: https://github.com/riscv/riscv-isa-manual/blob/main/src/zimop.adoc gcc/ChangeLog: * common/config/riscv/riscv-common.cc: New extension. * config/riscv/riscv.opt: New mask. gcc/testsuite/ChangeLog: * gcc.target/ris

Re: [PATCH] RISC-V: Minimal support for Zimop extension.

2024-08-04 Thread Jeff Law
On 8/2/24 9:32 AM, Jiawei wrote: https://github.com/riscv/riscv-isa-manual/blob/main/src/zimop.adoc gcc/ChangeLog: * common/config/riscv/riscv-common.cc: New extension. * config/riscv/riscv.opt: New mask. gcc/testsuite/ChangeLog: * gcc.target/riscv/arch-42.c: New te

Re: [PATCH] Fix handling of const or volatile void pointers in CodeView

2024-08-04 Thread Jeff Law
On 8/4/24 4:42 PM, Mark Harmstone wrote: DWARF represents voids in DW_TAG_const_type and DW_TAG_volatile_type DIEs by the absence of a DW_AT_type attribute, which we weren't handling correctly. gcc/ * dwarf2codeview.cc (get_type_num_const_type): Handle missing DW_AT_type attri

[PATCH] Fix handling of const or volatile void pointers in CodeView

2024-08-04 Thread Mark Harmstone
DWARF represents voids in DW_TAG_const_type and DW_TAG_volatile_type DIEs by the absence of a DW_AT_type attribute, which we weren't handling correctly. gcc/ * dwarf2codeview.cc (get_type_num_const_type): Handle missing DW_AT_type attribute. (get_type_num_volatile_type): Li

Re: [PATCH 0/1] Initial support for AVX10.2

2024-08-04 Thread Andi Kleen
> BTW, I noticed that in LLVM there is FP8 support for ARM currently > undergoing. I will have a look on it to see if everything is mature. There's even FP8 work for ARM work under way for gcc, see https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659248.html -andi

Re: [committed][PR rtl-optimization/116199] Fix latent bug in reload's SUBREG handling

2024-08-04 Thread Jakub Jelinek
On Sun, Aug 04, 2024 at 10:47:57PM +0200, Georg-Johann Lay wrote: > > --- /dev/null > > +++ b/gcc/testsuite/gcc.dg/torture/pr116199.c > > @@ -0,0 +1,13 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target int32 } */ > > + > > +__extension__ typedef unsigned long long int __uint64_t

Re: [committed][PR rtl-optimization/116199] Fix latent bug in reload's SUBREG handling

2024-08-04 Thread Georg-Johann Lay
Building glibc on the m68k has exposed a long standing latent bug in reload. Basically ext-dce replaced an extension with a subreg expression (good) resulting in this pair of insns: (insn 7 4 8 2 (set (reg:DI 31 [ _1 ]) (subreg:DI (reg/v:SI 37 [ __major ]) 0)) "j.c":7:32 75 {*m68k.md

[RFC 0/1] libstdc++: Replace Ryu with Teju Jagua.

2024-08-04 Thread Cassio Neri
Dear libstdc++ developers, I developed a novel algorithm called Teju Jagua which finds the shortest representation of a floating-point number. It can be used by std::to_chars which currently uses Ryu. IMHO, Teju Jagua is much simpler than Ryu and, according to my measurements, for doubles, Teju J

[committed][PR rtl-optimization/116199] Fix latent bug in reload's SUBREG handling

2024-08-04 Thread Jeff Law
Building glibc on the m68k has exposed a long standing latent bug in reload. Basically ext-dce replaced an extension with a subreg expression (good) resulting in this pair of insns: (insn 7 4 8 2 (set (reg:DI 31 [ _1 ]) (subreg:DI (reg/v:SI 37 [ __major ]) 0)) "j.c":7:32 75 {*m68k.md

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Martin Uecker
Am Sonntag, dem 04.08.2024 um 20:34 +0200 schrieb Alejandro Colomar: > On Sun, Aug 04, 2024 at 08:02:25PM GMT, Martin Uecker wrote: > > Hi Alex, > > Hi Martin, > > > > Is this missing diagnostics? > > > > > > $ cat star.c > > > void foo(char (*a)[3][*], int (*x)[__lengthof__(*a)]); > > >

[PATCH v5 1/1] RISC-V: Add support for XCVbitmanip extension in CV32E40P

2024-08-04 Thread Mary Bennett
Spec: github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md Contributors: Mary Bennett Nandni Jamnadas Pietra Ferreira Charlie Keaney Jessica Mills Craig Blackmore Simon Cook Jeremy Bennett Helene Chelin gcc/ChangeLog: * common/config/

[PATCH v5 0/1] RISC-V: Support CORE-V XCVBITMAIP extension

2024-08-04 Thread Mary Bennett
This patch series presents the comprehensive implementation of the BITMANIP extension for CORE-V. Tested with riscv-gnu-toolchain on binutils, ld, gas and gcc testsuites to ensure its correctness and compatibility with the existing codebase. However, your input, reviews, and suggestions are invalu

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Alejandro Colomar
On Sun, Aug 04, 2024 at 08:02:25PM GMT, Martin Uecker wrote: > Hi Alex, Hi Martin, > > Is this missing diagnostics? > > > > $ cat star.c > > void foo(char (*a)[3][*], int (*x)[__lengthof__(*a)]); > > void bar(char (*a)[*][3], int (*x)[__lengthof__(*a)]); > > void foos(char (*a)[

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Martin Uecker
Hi Alex, Am Sonntag, dem 04.08.2024 um 19:49 +0200 schrieb Alejandro Colomar: > Hi Martin, > > On Sun, Aug 04, 2024 at 06:43:46PM GMT, Alejandro Colomar wrote: > > On Sun, Aug 04, 2024 at 06:40:14PM GMT, Alejandro Colomar wrote: > > > > The last  > > > > case should return a non-constant. > > >

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Alejandro Colomar
Hi Martin, On Sun, Aug 04, 2024 at 06:43:46PM GMT, Alejandro Colomar wrote: > On Sun, Aug 04, 2024 at 06:40:14PM GMT, Alejandro Colomar wrote: > > > The last  > > > case should return a non-constant. > > > > The last case [*] is only allowed in prototypes. How should we get the > > non-constant

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Martin Uecker
Hi Alex, Am Sonntag, dem 04.08.2024 um 18:40 +0200 schrieb Alejandro Colomar: > Hi Martin, > > On Sun, Aug 04, 2024 at 11:39:26AM GMT, Martin Uecker wrote: > > Am Sonntag, dem 04.08.2024 um 10:25 +0200 schrieb Alejandro Colomar: > > > Hi Martin, > > > > > > On Sun, Aug 04, 2024 at 07:38:49AM G

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Alejandro Colomar
On Sun, Aug 04, 2024 at 06:40:14PM GMT, Alejandro Colomar wrote: > > The last  > > case should return a non-constant. > > The last case [*] is only allowed in prototypes. How should we get the > non-constant value? It's just another way to say [], isn't it? > > > If you reuse the sizeof code, i

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Alejandro Colomar
Hi Martin, On Sun, Aug 04, 2024 at 11:39:26AM GMT, Martin Uecker wrote: > Am Sonntag, dem 04.08.2024 um 10:25 +0200 schrieb Alejandro Colomar: > > Hi Martin, > > > > On Sun, Aug 04, 2024 at 07:38:49AM GMT, Martin Uecker wrote: > > > Am Sonntag, dem 04.08.2024 um 01:17 +0200 schrieb Alejandro Colo

Re: [PATCH] Make may_trap_p_1 return false for constant pool references [PR116145]

2024-08-04 Thread Jeff Law
On 8/2/24 2:23 PM, Andrew Pinski wrote: On Wed, Jul 31, 2024 at 9:41 AM Richard Sandiford wrote: The testcase contains the constant: arr2 = svreinterpret_u8(svdup_u32(0x0a0d5c3f)); which was initially hoisted by hand, but which gimple optimisers later propagated to each use (as expecte

[PATCH v2] RISC-V: Support IMM for operand 0 of ussub pattern

2024-08-04 Thread pan2 . li
From: Pan Li This patch would like to allow IMM for the operand 0 of ussub pattern. Aka .SAT_SUB(1023, y) as the below example. Form 1: #define DEF_SAT_U_SUB_IMM_FMT_1(T, IMM) \ T __attribute__((noinline)) \ sat_u_sub_imm##IMM##_##T##_fmt_1 (T y) \ {

[PATCH v1] Match: Add type_has_mode_precision_p check for SAT_TRUNC [PR116202]

2024-08-04 Thread pan2 . li
From: Pan Li The .SAT_TRUNC matching can only perform the type has its mode precision. g_12 = (long unsigned int) _2; _13 = MIN_EXPR ; _3 = (_Bool) _13; The above pattern cannot be recog as .SAT_TRUNC (g_12) because the dest only has 1 bit precision but QImode. Aka the type doesn't have the mo

[pushed] wwwdocs: gcc-15: Mark up static_assert as

2024-08-04 Thread Gerald Pfeifer
A minor markup change. Pushed. Gerald --- htdocs/gcc-15/changes.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/gcc-15/changes.html b/htdocs/gcc-15/changes.html index 2fd7aa90..bfd98496 100644 --- a/htdocs/gcc-15/changes.html +++ b/htdocs/gcc-15/changes.htm

[pushed] wwwdocs: gcc-14: Tweak a word around GNAT Storage Models

2024-08-04 Thread Gerald Pfeifer
"Performances" would be the choice in case of theater performances or the like; the generic, uncountable "performance" seems more appropriate here. Pushed. Gerald When not countable, use performance instead of performances. --- htdocs/gcc-14/changes.html | 2 +- 1 file changed, 1 insertion(+)

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Martin Uecker
Am Sonntag, dem 04.08.2024 um 10:25 +0200 schrieb Alejandro Colomar: > Hi Martin, > > On Sun, Aug 04, 2024 at 07:38:49AM GMT, Martin Uecker wrote: > > Am Sonntag, dem 04.08.2024 um 01:17 +0200 schrieb Alejandro Colomar: > > > > > > FUTURE DIRECTIONS: > > > > > > We could make it work with arra

Re: [RFC v3 3/3] c: Add __lengthof__() operator

2024-08-04 Thread Alejandro Colomar
Hi Martin, On Sun, Aug 04, 2024 at 07:38:49AM GMT, Martin Uecker wrote: > Am Sonntag, dem 04.08.2024 um 01:17 +0200 schrieb Alejandro Colomar: > > > > FUTURE DIRECTIONS: > > > > We could make it work with array parameters to functions, and > > somehow magically return the length designat