Re: [PATCH] fold-const: Handle NON_LVALUE_EXPR in native_encode_initializer [PR114537]

2024-04-04 Thread Richard Biener
t (T, f); > +} > +} > + > +struct A { signed char b : 1 = 0; signed char c : 7 = 0; }; > +struct D { unsigned char e; }; > +constexpr unsigned char f = std::bit_cast (A{}).e; > +static_assert (f == 0); > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] bitint: Handle m_bitfld_load cast in outer m_cast_conditional [PR114555]

2024-04-04 Thread Richard Biener
t; +/* { dg-options "-std=c23 -O -fno-tree-forwprop" } */ > + > +#if __BITINT_MAXWIDTH__ >= 4139 > +struct S { _BitInt(31) : 6; _BitInt(513) b : 241; } s; > +_BitInt(4139) a; > +#endif > + > +void > +foo (void) > +{ > +#if __BITINT_MAXWIDTH__ >= 4139 > + int i = 0; > + a -= s.b << i; > +#endif > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

[PATCH] tree-optimization/114485 - neg induction with partial vectors

2024-04-04 Thread Richard Biener
We can't use vect_update_ivs_after_vectorizer for partial vectors, the following fixes vect_can_peel_nonlinear_iv_p accordingly. Bootstrap and regtest running on x86_64-unknown-linux-gnu. We could handle this case by vectorizing the live lane but that's a different thing and might be tackled

[PATCH] tree-optimization/114551 - loop splitting and undefined overflow

2024-04-04 Thread Richard Biener
When loop splitting hoists a guard computation it needs to make sure that can be safely evaluated at this place when it was previously only conditionally evaluated. The following fixes this for the case of undefined overflow. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

Re: [Patch] lto-wrapper.cc: Add offload target name to 'offload_args' suffix

2024-04-03 Thread Richard Biener
On Wed, 3 Apr 2024, Tobias Burnus wrote: > Found when working with -save-temps and looking at 'mkoffload' > with a GCC configured for both nvptx and gcn offloading. > > Before (for 'a.out') for mkoffload:a.offload_args now: > a.amdgcn-amdhsa.offload_args and a.nvptx-none.offload_args > OK for

Re: [PATCH] Don't set full_profile in auto-profile [PR113765]

2024-04-03 Thread Richard Biener
On Thu, Mar 28, 2024 at 4:03 AM Eugene Rozenfeld wrote: > > auto-profile currently doesn't guarantee that it will set probabilities > on all edges because of zero basic block counts. Normally those edges > just have probabilities set by the preceding profile_estimate pass but > under -O0

[PATCH] rtl-optimization/101523 - avoid re-combine after noop 2->2 combination

2024-04-03 Thread Richard Biener
The following avoids re-walking and re-combining the instructions between i2 and i3 when the pattern of i2 doesn't change. Bootstrap and regtest running ontop of a reversal of r14-9692-g839bc42772ba7a. It brings down memory use frmo 9GB to 400MB and compile-time from 80s to 3.5s.

Re: [PATCH] Include safe-ctype.h after C++ standard headers, to avoid over-poisoning

2024-04-03 Thread Richard Biener
> > Given that the two patches here (for > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632) were considered obvious > - and are needed on release branches. > > OK for backporting? OK. > (Gerald has volunteered to do the earlier ones, I have already made/tested > t

Re: [PATCH] expr: Fix up emit_push_insn [PR114552]

2024-04-03 Thread Richard Biener
6793 +0200 > +++ gcc/testsuite/gcc.c-torture/execute/pr114552.c2024-04-02 > 16:03:49.829963659 +0200 > @@ -0,0 +1,24 @@ > +/* PR middle-end/114552 */ > + > +struct __attribute__((packed)) S { short b; int c; }; > +struct T { struct S b; int e; }; > +static const struct T

Re: [PATCH] c++: Implement C++26 P2809R3 - Trivial infinite loops are not Undefined Behavior

2024-04-03 Thread Richard Biener
On Wed, Apr 3, 2024 at 9:25 AM Jakub Jelinek wrote: > > Hi! > > The following patch attempts to implement P2809R3, which has been voted > in as a DR. > > The middle-end has its behavior documented: > '-ffinite-loops' > Assume that a loop with an exit will eventually take the exit and >

Re: [PATCH] tree-optimization/114557 - reduce ehcleanup peak memory use

2024-04-02 Thread Richard Biener
On Tue, 2 Apr 2024, Richard Biener wrote: > The following reduces peak memory use for the PR114480 testcase at -O1 > which is almost exclusively spent by the ehcleanup pass in allocating > PHI nodes. The free_phinodes cache we maintain isn't very effective > since it has effective

[PATCH] tree-optimization/114557 - reduce ehcleanup peak memory use

2024-04-02 Thread Richard Biener
The following reduces peak memory use for the PR114480 testcase at -O1 which is almost exclusively spent by the ehcleanup pass in allocating PHI nodes. The free_phinodes cache we maintain isn't very effective since it has effectively two slots, one for 4 and one for 9 argument PHIs and it is only

Re: [PATCH] Fix up duplicated words mostly in comments, part 1

2024-04-02 Thread Richard Biener
the host and the > +# It sets various shell variables based on the host and the > # configuration options. You can modify this shell script without needing > # to rerun autoconf/aclocal/etc. This file is "sourced" not executed. > # > --- libvtv/vtv_rts.cc.jj

Re: [PATCH] Fix up postboot dependencies [PR106472]

2024-04-02 Thread Richard Biener
@endunless target-libstdc++-v3-bootstrap > +@unless target-libatomic-bootstrap > +all-target-libgm2: maybe-all-target-libatomic > +@endunless target-libatomic-bootstrap > +@unless target-libstdc++-v3-bootstrap > +configure-target-libgrust: maybe-all-target-libstdc++-v3 > +@endunless target-libstdc++-v3-bootstrap > +@unless target-libbacktrace-bootstrap > +configure-target-libgfortran: maybe-all-target-libbacktrace > +@endunless target-libbacktrace-bootstrap > +@unless target-libbacktrace-bootstrap > +configure-target-libgo: maybe-all-target-libbacktrace > +@endunless target-libbacktrace-bootstrap > +@endif gcc-bootstrap > + > @unless gcc-bootstrap > all-gnattools: maybe-all-target-libstdc++-v3 > configure-libcc1: maybe-configure-gcc > > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH][Backport][GCC10] Fix SSA corruption due to widening_mul opt on conflict across an abnormal edge [PR111407]

2024-04-02 Thread Richard Biener
On Mon, Apr 1, 2024 at 3:36 PM Qing Zhao wrote: > > This is a bug in tree-ssa-math-opts.c, when applying the widening mul > optimization, the compiler needs to check whether the operand is in a > ABNORMAL PHI, if YES, we should avoid the transformation. > > PR tree-optimization/111407 > >

Re: [PATCH] libiberty: Invoke D demangler when --format=auto

2024-04-02 Thread Richard Biener
On Sat, Mar 30, 2024 at 9:11 PM Tom Tromey wrote: > > Investigating GDB PR d/31580 showed that the libiberty demangler > doesn't automatically demangle D mangled names. However, I think it > should -- like C++ and Rust (new-style), D mangled names are readily > distinguished by the leading "_D",

Re: [PATCH] Prettify output of debug_dwarf_die

2024-04-02 Thread Richard Biener
On Thu, Mar 28, 2024 at 8:35 PM Tom Tromey wrote: > > When debugging gcc, I tried calling debug_dwarf_die and I saw this > output: > > DW_AT_location: location descriptor: > (0x7fffe9c2e870) DW_OP_dup 0, 0 > (0x7fffe9c2e8c0) DW_OP_bra location descriptor (0x7fffe9c2e640) > ,

Re: [PATCH] middle-end/114480 - IDF compute is slow

2024-03-28 Thread Richard Biener
On Wed, 27 Mar 2024, Michael Matz wrote: > Hey, > > On Wed, 27 Mar 2024, Jakub Jelinek wrote: > > > > @@ -1712,12 +1711,9 @@ compute_idf (bitmap def_blocks, bitmap_head *dfs) > > >gcc_checking_assert (bb_index > > > < (unsigned) last_basic_block_for_fn (cfun)); > >

Re: [PATCH] lto: Don't assume a posix shell is usable on windows [PR110710]

2024-03-27 Thread Richard Biener
> Am 27.03.2024 um 18:37 schrieb Peter0x44 : > >  >> >>> >> > Another way would be to have a portable solution to truncate a file >>> >> > (maybe even removing it would work). I don't think we should override >>> >> > SHELL. > I've been thinking harder about this, these files get unlinked

[PATCH] middle-end/114480 - IDF compute is slow

2024-03-27 Thread Richard Biener
The testcase in this PR shows very slow IDF compute: tree SSA rewrite : 76.99 ( 31%) 24.78%243663 cc1plus cc1plus [.] compute_idf which can be mitigated to some extent by refactoring the bitmap operations to simpler variants. With the patch below

Re: [PATCH] match.pd: Avoid (view_convert (convert@0 @1)) optimization for extended _BitInts with padding bits [PR114469]

2024-03-27 Thread Richard Biener
On Wed, 27 Mar 2024, Jakub Jelinek wrote: > On Wed, Mar 27, 2024 at 12:48:29PM +0100, Richard Biener wrote: > > > The following patch attempts to fix the (view_convert (convert@0 @1)) > > > optimization. If TREE_TYPE (@0) is a _BitInt type with padding bits > > >

Re: [PATCH] LoongArch: Increase division costs

2024-03-27 Thread Richard Biener
On Wed, Mar 27, 2024 at 1:20 PM Xi Ruoyao wrote: > > On Wed, 2024-03-27 at 08:54 +0100, Richard Biener wrote: > > On Tue, Mar 26, 2024 at 10:52 AM Xi Ruoyao wrote: > > > > > > The latency of LA464 and LA664 division instructions depends on the > > > input

[PATCH] tree-optimization/114057 - handle BB reduction remain defs as LIVE

2024-03-27 Thread Richard Biener
The following makes sure to record the scalars we add to the BB reduction vectorization result as scalar uses for the purpose of computing live lanes. This restores vectorization in the bondfree.c TU of 435.gromacs. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR

Re: [PATCH] match.pd: Avoid (view_convert (convert@0 @1)) optimization for extended _BitInts with padding bits [PR114469]

2024-03-27 Thread Richard Biener
+ ok = (TYPE_PRECISION (type0) > + == tree_to_uhwi (TYPE_SIZE (type0))); > + } > + } > + else if (TYPE_PRECISION (type0) > TYPE_PRECISION (type1) > +&& TYPE_UNSIGNED (type1)) > +

Re: [PATCH] lto: Don't assume a posix shell is usable on windows [PR110710]

2024-03-27 Thread Richard Biener
On Wed, Mar 27, 2024 at 10:13 AM peter0x44 wrote: > > On 2024-03-27 01:58, Richard Biener wrote: > > On Wed, Mar 27, 2024 at 9:13 AM Peter0x44 > > wrote: > >> > >> I accidentally replied off-list. Sorry. > >> > >> 27 Mar 2024 8:09:30 am Pet

Re: [PATCH] lto: Don't assume a posix shell is usable on windows [PR110710]

2024-03-27 Thread Richard Biener
On Wed, Mar 27, 2024 at 9:13 AM Peter0x44 wrote: > > I accidentally replied off-list. Sorry. > > 27 Mar 2024 8:09:30 am Peter0x44 : > > > 27 Mar 2024 7:51:26 am Richard Biener : > > > On Tue, Mar 26, 2024 at 11:37 PM Peter Damianov > > wrote: > >>

Re: [PATCH] LoongArch: Increase division costs

2024-03-27 Thread Richard Biener
On Tue, Mar 26, 2024 at 10:52 AM Xi Ruoyao wrote: > > The latency of LA464 and LA664 division instructions depends on the > input. When I updated the costs in r14-6642, I unintentionally set the > division costs to the best-case latency (when the first operand is 0). > Per a recent discussion

Re: [PATCH] lto: Don't assume a posix shell is usable on windows [PR110710]

2024-03-27 Thread Richard Biener
On Tue, Mar 26, 2024 at 11:37 PM Peter Damianov wrote: > > lto-wrapper generates Makefiles that use the following: > touch -r file file.tmp && mv file.tmp file > to truncate files. > If there is no suitable "touch" or "mv" available, then this errors with > "The system cannot find the file

Re: [PATCH] fold-const: Punt on MULT_EXPR in extract_muldiv MIN/MAX_EXPR case [PR111151]

2024-03-26 Thread Richard Biener
__) / 2U; > + unsigned b = 1U; > + unsigned c = (a * 2U > b * 2U ? a * 2U : b * 2U) * 2U; > + if (c != 0U) > +__builtin_abort (); > + int d = (-__INT_MAX__ - 1) / 2; > + int e = 10; > + int f = (d * 2 > e * 5 ? d * 2 : e * 5) * 6; > + if (f != 120)

[PATCH] tree-optimization/114471 - ICE with mismatching vector types

2024-03-26 Thread Richard Biener
The following fixes too lax verification of vector type compatibility in vectorizable_operation. When we only have a single vector size then comparing the number of elements is enough but with SLP we mix those and thus for operations like BIT_AND_EXPR we need to verify compatible element types as

[PATCH] tree-optimization/114464 - verify types in recurrence vectorization

2024-03-26 Thread Richard Biener
The following adds missing verification of vector type compatibility to recurrence vectorization. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/114464 * tree-vect-loop.cc (vectorizable_recurr): Verify the latch vector type is compatible

Re: [PATCH] tsan: Don't instrument non-generic AS accesses [PR111736]

2024-03-26 Thread Richard Biener
* { dg-options "-fsanitize=thread -fdump-tree-optimized -ffat-lto-objects" > } */ > +/* { dg-final { scan-tree-dump-not "__tsan_read" "optimized" } } */ > +/* { dg-final { scan-tree-dump-not "__tsan_write" "optimized" } } */ > + > +#ifdef __x86_6

Re: [PATCH] testsuite: Fix copy-headers-8.c

2024-03-26 Thread Richard Biener
On Tue, Mar 26, 2024 at 9:43 AM Stefan Schulze Frielinghaus wrote: > > This fixes the test on s390x. I'm also seeing test failures for > riscv64-suse-linux-gnu, m68k-unknown-linux-gnu, pru-unknown-elf, and > powerpc64le-unknown-linux-gnu. However, I didn't check them so this > might or might

[PATCH] tree-optimization/114027 - fix testcase

2024-03-26 Thread Richard Biener
The following fixes out-of-bounds read in the testcase. Pushed to trunk and branch. PR tree-optimization/114027 * gcc.dg/vect/pr114027.c: Fix iteration count. --- gcc/testsuite/gcc.dg/vect/pr114027.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

Re: [PATCH] amdgcn: Add gfx1036 target

2024-03-25 Thread Richard Biener
On Mon, 25 Mar 2024, Richard Biener wrote: > Add support for the gfx1036 RDNA2 APU integrated graphics devices. The ROCm > documentation warns that these may not be supported, but it seems to work > at least partially. > > x86 host bootstrap/regtest running, target-

Re: [PATCH] amdgcn: Add gfx1036 target

2024-03-25 Thread Richard Biener
On Mon, 25 Mar 2024, Tobias Burnus wrote: > Richard Biener wrote: > > I'll follow up with the libgomp testing test summary for archival > > purposes. I still see linker errors for testcases using -g > > (the ld: ^[[0;31merror: ^[[0mincompatible mach: > > /tmp/ccr0

Re: Backport PR91838 and PR110838

2024-03-25 Thread Richard Biener
On Mon, 25 Mar 2024, Andre Vieira (lists) wrote: > Hi, > > After the backport off PR target/112787 a failure was reported against x86_64, > this would be fixed by backporting: > * tree-optimization/91838 - fix FAIL of g++.dg/opt/pr91838.C > (d1c072a1c3411a6fe29900750b38210af8451eeb) > *

[PATCH] amdgcn: Add gfx1036 target

2024-03-25 Thread Richard Biener
Add support for the gfx1036 RDNA2 APU integrated graphics devices. The ROCm documentation warns that these may not be supported, but it seems to work at least partially. x86 host bootstrap/regtest running, target-libgomp testing for the offload produces results comparable to those of gfx1030.

Re: [PATCH v2] doc: Correction of Tree SSA Passes info.

2024-03-25 Thread Richard Biener
rmations that works on loop nests. It > -includes loop interchange, scaling, skewing and reversal and they are > -all geared to the optimization of data locality in array traversals > -and the removal of dependencies that hamper optimizations such as loop > -parallelization and vectorizatio

Re: [PATCH v1] doc: Correction of Tree SSA Passes info.

2024-03-25 Thread Richard Biener
On Mon, 25 Mar 2024, Chenghui Pan wrote: > Current document of Tree SSA passes contains many parts that is not > updated for many years. > > This patch removes some info that is outdated and not existed in > current GCC codebase, and fixes some wrong code location descriptions > based on current

Re: [PATCH] bitint: Fix bitfield loads in handle_cast [PR114433]

2024-03-23 Thread Richard Biener
> Am 23.03.2024 um 08:59 schrieb Jakub Jelinek : > > Hi! > > We ICE on the following testcase, because handle_cast was incorrectly > testing !m_first to see whether it should use m_data[m_bitfld_load + 1] > or fresh SSA_NAME for a PHI result. > Now, m_first is in the routine sometimes

Re: [PATCH] bitint: Handle complex types in build_bitint_stmt_ssa_conflicts [PR114425]

2024-03-23 Thread Richard Biener
> Am 23.03.2024 um 08:56 schrieb Jakub Jelinek : > > Hi! > > The task of the build_bitint_stmt_ssa_conflicts hook for > tree-ssa-coalesce.cc next to special casing the > multiplication/division/modulo is to ignore statements with > large/huge _BitInt lhs which isn't in names bitmap and on

Re: [PATCH] predcom: Punt for steps which aren't multiples of access size [PR111683]

2024-03-23 Thread Richard Biener
> Am 23.03.2024 um 08:49 schrieb Jakub Jelinek : > > Hi! > > On the following testcases, there is no overlap between data references > within a single iteration, but the data references have size which is twice > as large as the step, which means the data references overlap with the next >

Re: [PATCH] Another ICE after conflicting types of redeclaration [PR109619]

2024-03-22 Thread Richard Biener
On Fri, Mar 22, 2024 at 5:20 AM Andrew Pinski wrote: > > This another one of these ICE after error issues with the > gimplifier and a fallout from r12-3278-g823685221de986af. > This case happens when we are trying to fold memcpy/memmove. > There is already code to try to catch ERROR_MARKs as

Re: scheduler queue flush (was Re: [gcc-15 0/3] RISC-V improve stack/array access by constant mat tweak)

2024-03-22 Thread Richard Biener
On Thu, Mar 21, 2024 at 8:56 PM Jeff Law wrote: > > > > On 3/21/24 11:19 AM, Vineet Gupta wrote: > > >> > >> So if we go back to Robin's observation that scheduling dramatically > >> increases the instruction count, perhaps we try a run with > >> -fno-schedule-insns -fno-schedule-insns2 and see

Re: [PATCH] vect: more oversized bitmask fixups

2024-03-22 Thread Richard Biener
On Thu, Mar 21, 2024 at 5:07 PM Andrew Stubbs wrote: > > On 21/03/2024 15:18, Richard Biener wrote: > > On Thu, Mar 21, 2024 at 3:23 PM Andrew Stubbs wrote: > >> > >> My previous patch to fix this problem with xor was rejected because we > >> want to fi

Re: [PATCH] ubsan: Don't -fsanitize=null instrument __seg_fs/gs pointers [PR111736]

2024-03-22 Thread Richard Biener
/* { dg-final { scan-tree-dump-not "p_\[0-9]*.D. \[=!]= 0" "optimized" } } */ > + > +#ifdef __x86_64__ > +#define SEG __seg_fs > +#else > +#define SEG __seg_gs > +#endif > + > +int > +foo (int SEG *p, int *q) > +{ > + return *p; > +} > + > +__attribute__((no_sanitize("alignment"))) int > +bar (int SEG *p, int *q) > +{ > + return *p; > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] bitint: Some bitint store fixes [PR114405]

2024-03-22 Thread Richard Biener
n_abort (); > + a = y >> (22658 - 22656); > + s6.b = a; > + f6 (); > + if (s6.b != a - 6) > +__builtin_abort (); > + a = x >> (22658 - 22593); > + s7.b = a; > + f7 (); > + if (s7.b != a - 7) > +__builtin_abort (); > + a = y >> (22658

Re: [PATCH] vect: more oversized bitmask fixups

2024-03-21 Thread Richard Biener
On Thu, Mar 21, 2024 at 3:23 PM Andrew Stubbs wrote: > > My previous patch to fix this problem with xor was rejected because we > want to fix these issues only at the point of use. That patch produced > slightly better code, in this example, but this works too > > These patches fix up a

Re: [PATCH] tree-optimization/111736 - avoid address sanitizing of __seg_gs

2024-03-21 Thread Richard Biener
On Thu, 21 Mar 2024, Jakub Jelinek wrote: > On Thu, Mar 21, 2024 at 10:50:04AM +0100, Richard Biener wrote: > > Fixed and pushed. I suppose for address-spaces nested within the > > generic address space we could instrument the address converted to > > the generic address spa

Re: [PATCH] testsuite: vect: Don't xfail scan-tree-dump in gcc.dg/vect/bb-slp-32.c [PR96147]

2024-03-21 Thread Richard Biener
On Thu, 21 Mar 2024, Rainer Orth wrote: > gcc.dg/vect/bb-slp-32.c currently XPASSes on 32 and 64-bit Solaris/SPARC: > > XPASS: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects scan-tree-dump slp2 > "vectorization is not profitable" > XPASS: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2

Re: [PATCH] tree-optimization/111736 - avoid address sanitizing of __seg_gs

2024-03-21 Thread Richard Biener
On Thu, 21 Mar 2024, Jakub Jelinek wrote: > On Thu, Mar 21, 2024 at 10:25:24AM +0100, Richard Biener wrote: > > The following more thoroughly avoids address sanitizing accesses > > to non-generic address-spaces. > > > > Bootstrapped and tested on x86_64-unk

[PATCH] tree-optimization/111736 - avoid address sanitizing of __seg_gs

2024-03-21 Thread Richard Biener
The following more thoroughly avoids address sanitizing accesses to non-generic address-spaces. Bootstrapped and tested on x86_64-unknown-linux-gnu. OK? Thanks, Richard. PR tree-optimization/111736 * asan.cc (instrument_derefs): Do not instrument accesses to non-generic

Re: [PATCH] Fix runtime error for nonlinear iv vectorization(step_mult).

2024-03-21 Thread Richard Biener
On Thu, Mar 21, 2024 at 9:35 AM liuhongt wrote: > > wi::from_mpz doesn't take a sign argument, we want it to be wrapped > instead of saturation, so pass utype and true to it, and it fixes the > bug. > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > Ok for trunk and backport to

Re: [PATCH] libgcc: Fix up bitint division [PR114397]

2024-03-21 Thread Richard Biener
8342628768636932743029911wb) != -1 > + || foo (336225022742818342628768636932743029912uwb, > + -336225022742818342628768636932743029911wb) != -1 > + || foo (336225022742818342628768636932743029911uwb, > + -336225022742818342628768636932743029912wb) != 0) > +__builtin_abort (); > +#endif > +#if __BITINT_MAXWIDTH__ >= 192 > + if (bar (336225022742818342628768636932743029911uwb, > +-336225022742818342628768636932743029911wb) != -1 > + || bar (336225022742818342628768636932743029912uwb, > + -336225022742818342628768636932743029911wb) != -1 > + || bar (336225022742818342628768636932743029911uwb, > + -336225022742818342628768636932743029912wb) != 0) > +__builtin_abort (); > +#endif > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] Use integer_{zero,one}_node some more

2024-03-20 Thread Richard Biener
_int_cst (integer_type_node, 0); > + errlen = integer_zero_node; > } > > size = fold_convert (size_type_node, size); > @@ -1903,7 +1903,7 @@ gfc_deallocate_with_status (tree pointer > if (descr) > cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, > gfc_conv_descriptor_version (descr), > - build_int_cst (integer_type_node, 1)); > + integer_one_node); > else > cond = gfc_omp_call_is_alloc (pointer); > omp_tmp = builtin_decl_explicit (BUILT_IN_GOMP_FREE); > @@ -1917,7 +1917,7 @@ gfc_deallocate_with_status (tree pointer >0)); >if (flag_openmp_allocators && descr) > gfc_add_modify (_null, gfc_conv_descriptor_version (descr), > - build_zero_cst (integer_type_node)); > + integer_zero_node); > >if (status != NULL_TREE && !integer_zerop (status)) > { > @@ -1946,7 +1946,7 @@ gfc_deallocate_with_status (tree pointer > { > gcc_assert (errlen == NULL_TREE); > errmsg = null_pointer_node; > - errlen = build_zero_cst (integer_type_node); > + errlen = integer_zero_node; > } >else > { > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] bitint: Fix handling of conditional bitfield loads [PR114365]

2024-03-20 Thread Richard Biener
> + > +struct S { > + int : 31; > +#if __BITINT_MAXWIDTH__ >= 129 > + _BitInt(129) b : 129; > +#else > + _BitInt(63) b : 63; > +#endif > +} s; > + > +void > +foo (int a) > +{ > + s.b <<= a; > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] handle unwind tables that are embedded within unwinding code, [PR111731]

2024-03-20 Thread Richard Biener
On Fri, Mar 15, 2024 at 11:31 AM Thomas Neumann wrote: > > Original bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 > Given that this is a regression, is this okay for gcc 13 and mainline? It does look straightforward but I hope Jason or Florian can provide the ACK. Thanks,

Re: [PATCH] testsuite: add the case to cover vectorization of A[(i+x)*stride] [PR114322]

2024-03-20 Thread Richard Biener
On Wed, 20 Mar 2024, Hao Liu OS wrote: > Hi Richard, > > As mentioned in the comments of PR114322 (which has been fixed by PR114151 > r14-9540-ge0e9499a), this patch is to cover the case. > > Bootstrapped and regression tested on aarch64-linux-gnu, OK for trunk? > > gcc/testsuite/ChangeLog: >

Re: [PATCH] middle-end/113396 - int128 array index and value-ranges

2024-03-20 Thread Richard Biener
On Tue, 19 Mar 2024, Jakub Jelinek wrote: > On Tue, Mar 19, 2024 at 03:47:37PM +0100, Richard Biener wrote: > > The following fixes bogus truncation of a value-range for an int128 > > array index when computing the maximum extent for a variable array > > reference. Instea

[PATCH] middle-end/113396 - int128 array index and value-ranges

2024-03-19 Thread Richard Biener
The following fixes bogus truncation of a value-range for an int128 array index when computing the maximum extent for a variable array reference. Instead of possibly slowing things down by using widest_int the following makes sure the range bounds fit within the constraints offset_int were

[PATCH] tree-optimization/113727 - bogus SRA with BIT_FIELD_REF

2024-03-19 Thread Richard Biener
When SRA analyzes BIT_FIELD_REFs it handles writes and not byte aligned reads differently from byte aligned reads. Instead of trying to create replacements for the loaded portion the former cases try to replace the base object while keeping the wrapping BIT_FIELD_REFs. This breaks when we have

[PATCH] tree-optimization/114151 - revert PR114074 fix

2024-03-19 Thread Richard Biener
The following reverts the chrec_fold_multiply fix and only keeps handling of constant overflow which keeps the original testcase fixed. A better solution might involve ranger improvements or tracking of assumptions during SCEV analysis similar to what niter analysis does. Bootstrapped and tested

Re: [PATCH] system.h: rename vec_step to workaround powerpc/clang bug [PR114369]

2024-03-19 Thread Richard Biener
On Tue, 19 Mar 2024, Jakub Jelinek wrote: > On Tue, Mar 19, 2024 at 12:54:47PM +0100, Richard Biener wrote: > > Works for me, but would > > > > #undef vec_step > > > > work or is it really a keyword in the clang side? > > No, it is really keyword. > #

Re: [PATCH] system.h: rename vec_step to workaround powerpc/clang bug [PR114369]

2024-03-19 Thread Richard Biener
4-03-08 09:07:29.484624793 +0100 > +++ gcc/system.h 2024-03-19 11:39:18.122700551 +0100 > @@ -1302,6 +1302,12 @@ void gcc_stablesort_r (void *, size_t, s > #define NULL nullptr > #endif > > +/* Workaround clang on PowerPC which has vec_step as reserved keyword > + rather t

[PATCH] tree-optimization/114375 - disallow SLP discovery of permuted mask loads

2024-03-18 Thread Richard Biener
We cannot currently handle permutations of mask loads in code generation or permute optimization. But we simply drop any permutation on the floor, so the following instead rejects the SLP build rather than producing wrong-code. I've also made sure to reject them in vectorizable_load for

Re: [Patch][RFC] GCN: Define ISA archs in gcn-devices.def and use it

2024-03-18 Thread Richard Biener
On Fri, Mar 15, 2024 at 5:36 PM Andrew Stubbs wrote: > > On 15/03/2024 13:56, Tobias Burnus wrote: > > Hi Andrew, > > > > Andrew Stubbs wrote: > >> This is more-or-less what I was planning to do myself, but as I want > >> to include all the other features that get parametrized in gcn.cc, > >>

Re: [PATCH] Predefine __STRICT_ALIGN__ if STRICT_ALIGNMENT

2024-03-18 Thread Richard Biener
e, "__FINITE_MATH_ONLY__=%d", > flag_finite_math_only); > + > + if (STRICT_ALIGNMENT) > +cpp_define (pfile, "__STRICT_ALIGNMENT__"); > } > > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] i386: Fix setup of incoming varargs for (...) functions which return large aggregates [PR114175]

2024-03-16 Thread Richard Biener
> Am 16.03.2024 um 08:24 schrieb Jakub Jelinek : > > Hi! > > The c23-stdarg-6.c testcase I've added recently apparently works fine with > -O0 but aborts with -O1 and higher on x86_64-linux. > The problem is in setup of incoming varargs. > > Like function.cc before r14-9249 even

Re: [PATCH] bitint: Fix up stores to large/huge _BitInt bitfields [PR114329]

2024-03-16 Thread Richard Biener
> Am 16.03.2024 um 08:11 schrieb Jakub Jelinek : > > Hi! > > The verifier requires BIT_FIELD_REFs with INTEGRAL_TYPE_P first operand > to have mode precision. In most cases for the large/huge _BitInt bitfield > stores the code uses bitfield representatives, which are typically arrays > of

Re: [PATCH] vect: Use xor to invert oversized vector masks

2024-03-15 Thread Richard Biener
On Fri, Mar 15, 2024 at 12:24 PM Andrew Stubbs wrote: > > On 15/03/2024 07:35, Richard Biener wrote: > > On Fri, Mar 15, 2024 at 4:35 AM Hongtao Liu wrote: > >> > >> On Thu, Mar 14, 2024 at 11:42 PM Andrew Stubbs wrote: > >>> > >>> Don

Re: [PATCH] expand: EXTEND_BITINT CALL_EXPR results [PR114332]

2024-03-15 Thread Richard Biener
dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } } */ > +/* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */ > + > +enum E { E22 = 22 } e = E22; > + > +_BitInt (5) > +foo (v

Re: C/C++ frontend patches ping

2024-03-15 Thread Richard Biener
On Fri, Mar 15, 2024 at 6:20 AM Andi Kleen wrote: > > Andrew Pinski writes: > > > On Thu, Mar 14, 2024 at 9:36 PM Andi Kleen wrote: > >> > >> > >> musttail support for C/C++ > >> > >> https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643867.html > >> > >> > >> Support constexpr for asm

Re: [PATCH] vect: Use xor to invert oversized vector masks

2024-03-15 Thread Richard Biener
On Fri, Mar 15, 2024 at 4:35 AM Hongtao Liu wrote: > > On Thu, Mar 14, 2024 at 11:42 PM Andrew Stubbs wrote: > > > > Don't enable excess lanes when inverting vector bit-masks smaller than the > > integer mode. This is yet another case of wrong-code due to mishandling > > of oversized bitmasks.

Re: Patch ping Re: [PATCH] icf: Reset SSA_NAME_{PTR,RANGE}_INFO in successfully merged functions [PR113907]

2024-03-15 Thread Richard Biener
) > + return false; > +} > + else > +{ > + if (SSA_NAME_RANGE_INFO (t1)) > + { > + if (!SSA_NAME_RANGE_INFO (t2)) > + return false; > + Value_Range r1 (TREE_TYPE (t1)); > + Value_Range r2 (TREE_TYPE (t2)); > +

Re: [PATCH] bitint, v2: Fix up adjustment of large/huge _BitInt arguments of returns_twice calls [PR113466]

2024-03-14 Thread Richard Biener
On Thu, 14 Mar 2024, Jakub Jelinek wrote: > On Thu, Mar 14, 2024 at 09:59:12AM +0100, Richard Biener wrote: > > On Thu, 14 Mar 2024, Jakub Jelinek wrote: > > > > > On Thu, Mar 14, 2024 at 09:48:45AM +0100, Richard Biener wrote: > > > > Ugh. OK, but I wonder w

Re: [PATCH] vect: Call vect_convert_output with the right vecitype [PR114108]

2024-03-14 Thread Richard Biener
On Thu, Mar 14, 2024 at 11:14 AM Tejas Belagod wrote: > > > Ping. > > Thanks, > Tejas. > > On 3/13/24 6:07 PM, Tejas Belagod wrote: > > Ping! > > > > On 3/7/24 4:14 PM, Tejas Belagod wrote: > >> This patch fixes a bug where vect_recog_abd_pattern called > >> vect_convert_output > >> with the

Re: [PATCH] bitint: Fix up adjustment of large/huge _BitInt arguments of returns_twice calls [PR113466]

2024-03-14 Thread Richard Biener
On Thu, 14 Mar 2024, Jakub Jelinek wrote: > On Thu, Mar 14, 2024 at 09:48:45AM +0100, Richard Biener wrote: > > Ugh. OK, but I wonder whether we might want to simply delay > > fixing the CFG for inserts before returns-twice? Would that make > > things less ugly? > >

Re: [PATCH] bitint: Fix up adjustment of large/huge _BitInt arguments of returns_twice calls [PR113466]

2024-03-14 Thread Richard Biener
y) > +{ > + foo (1); > + return bar (y); > +} > + > +_BitInt(325) > +qux (int x, _BitInt(575) y) > +{ > + if (x == 25) > +x = foo (2); > + else if (x == 42) > +x = foo (foo (3)); > + return bar (y); > +} > + > +void > +corge (int x, _BitInt(575) y, _BitInt(325) *z) > +{ > + void *q[] = { &, &, &, & }; > + if (x == 25) > +{ > +l1: > + x = foo (2); > +} > + else if (x == 42) > +{ > +l2: > + x = foo (foo (3)); > +} > +l3: > + *z = bar (y); > + if (x < 4) > +goto *q[x & 3]; > +} > + > +_BitInt(325) > +freddy (int x, _BitInt(575) y) > +{ > + bar (y); > + ++y; > + if (x == 25) > +x = foo (2); > + else if (x == 42) > +x = foo (foo (3)); > + return bar (y); > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] gimple-iterator: Some gsi_safe_insert_*before fixes

2024-03-14 Thread Richard Biener
; > + *iter = gsi_for_stmt (stmt); > } >else > gsi_insert_before (iter, g, GSI_SAME_STMT); > @@ -1075,6 +1087,7 @@ gsi_safe_insert_seq_before (gimple_stmt_ > if (g == l) > break; > } > + *iter = gsi_for_stmt (stmt); > } >

Re: [PATCH V12]: Improve code sinking pass

2024-03-14 Thread Richard Biener
On Wed, Mar 13, 2024 at 9:27 PM Jeff Law wrote: > > > > On 3/13/24 4:22 AM, Richard Biener wrote: > > > > > ... this hunk is OK (please test and split it out separatley). In the > > spirit of > > moving the stmt the least amount (in this case not

Re: [PATCH] match.pd: Only merge truncation with conversion for -fno-signed-zeros

2024-03-14 Thread Richard Biener
On Wed, Mar 13, 2024 at 3:39 PM Joe Ramsay wrote: > > This optimisation does not honour signed zeros, so should not be > enabled except with -fno-signed-zeros. > > OK for master? I do not have commit rights for GCC, so if the patch > is fine would someone be able to commit for me? The bug is

Re: [wwwdocs] Reverse development timeline graph

2024-03-13 Thread Richard Biener
> Am 13.03.2024 um 16:45 schrieb Jonathan Wakely : > > Every year I have to scroll down further and further to the useful part, > and I'm getting too old to spend my time doing that! :) > > I suggested this on IRC and iains agreed. What do others think? It feels a bit odd. Can we use html

Re: [PATCH] store-merging: Match bswap64 on 32-bit targets with bswapsi2 [PR114319]

2024-03-13 Thread Richard Biener
> } */ > +/* { dg-final { scan-assembler-times "\tbswap\t%\[er]" 2 { target ia32 } } } > */ > + > +void > +foo (unsigned long long x, unsigned char *y) > +{ > + y[0] = x >> 56; > + y[1] = x >> 48; > + y[2] = x >> 40; > + y[3] = x >&g

Re: [PATCH V12]: Improve code sinking pass

2024-03-13 Thread Richard Biener
On Wed, Mar 13, 2024 at 10:02 AM Ajit Agarwal wrote: > > Hello All: > > Currently, code sinking will sink code at the use points with loop having same > nesting depth. The following patch improves code sinking by placing the sunk > code in immediate dominator with same loop nest depth. > >

Re: Patch ping Re: [PATCH] icf: Reset SSA_NAME_{PTR,RANGE}_INFO in successfully merged functions [PR113907]

2024-03-13 Thread Richard Biener
On Wed, 13 Mar 2024, Jan Hubicka wrote: > > On Tue, 12 Mar 2024, Jakub Jelinek wrote: > > > > > On Tue, Mar 12, 2024 at 05:21:58PM +0100, Jakub Jelinek wrote: > > > > On Tue, Mar 12, 2024 at 10:46:42AM +0100, Jan Hubicka wrote: > > > > > I am sorry for delaying this. I made the variant that

Re: [PATCH] bitint: Fix up lowering of bitfield loads/stores [PR114313]

2024-03-13 Thread Richard Biener
256 > +struct S { _BitInt(257) : 257; _BitInt(256) b : 182; } s; > + > +__attribute__((noipa)) _BitInt(256) > +foo (void) > +{ > + return s.b; > +} > +#endif > + > +int > +main () > +{ > +#if __BITINT_MAXWIDTH__ >= 256 > + s.b = 1414262180967678524960294186228886540125217087586381431

Re: [PATCH] gimple-iterator, ubsan, v3: Fix ICE during instrumentation of returns_twice calls [PR112709]

2024-03-13 Thread Richard Biener
On Tue, 12 Mar 2024, Jakub Jelinek wrote: > On Tue, Mar 12, 2024 at 02:31:28PM +0100, Richard Biener wrote: > > Ah, yeah, I see :/ > > > > > So, the intention of edge_before_returns_twice_call is just that > > > it in the common case just finds the non-EDGE_ABN

Re: Patch ping Re: [PATCH] icf: Reset SSA_NAME_{PTR,RANGE}_INFO in successfully merged functions [PR113907]

2024-03-13 Thread Richard Biener
On Tue, 12 Mar 2024, Jakub Jelinek wrote: > On Tue, Mar 12, 2024 at 05:21:58PM +0100, Jakub Jelinek wrote: > > On Tue, Mar 12, 2024 at 10:46:42AM +0100, Jan Hubicka wrote: > > > I am sorry for delaying this. I made the variant that simply compares > > > value range of functions and prevents

[PATCH] tree-optimization/114121 - chrec_fold_{plus,multiply} and recursion

2024-03-12 Thread Richard Biener
The following addresses endless recursion in the chrec_fold_{plus,multiply} functions when handling sign-conversions. We only need to apply tricks when we'd fail (there's a chrec in the converted operand) and we need to make sure to not turn the other operand into something worse (for the

Re: [PATCH] asan: Fix ICE during instrumentation of returns_twice calls [PR112709]

2024-03-12 Thread Richard Biener
gt; +{ > + if (x == 25) > +x = foo (2); > + else if (x == 42) > +x = foo (foo (3)); > + *y = bar (*p); > +} > + > +void > +corge (int x, int *y) > +{ > + void *q[] = { &, &, &, & }; > + if (x == 25) > +{ > +l1: > + x = foo (2); > +} > + else if (x == 42) > +{ > +l2: > + x = foo (foo (3)); > +} > +l3: > + *y = bar (*p); > + if (x < 4) > +goto *q[x & 3]; > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] gimple-iterator, ubsan: Fix ICE during instrumentation of returns_twice calls [PR112709]

2024-03-12 Thread Richard Biener
On Tue, 12 Mar 2024, Jakub Jelinek wrote: > On Tue, Mar 12, 2024 at 01:47:53PM +0100, Richard Biener wrote: > > > Admittedly the above is the ugliest part of the patch IMHO. > > > It isn't needed in all cases, but e.g. for the pr112709-2.c (qux) case > > > we have

Re: [PATCH] gimple-iterator, ubsan: Fix ICE during instrumentation of returns_twice calls [PR112709]

2024-03-12 Thread Richard Biener
On Tue, 12 Mar 2024, Jakub Jelinek wrote: > On Tue, Mar 12, 2024 at 11:42:03AM +0100, Richard Biener wrote: > > > +static edge > > > +edge_before_returns_twice_call (basic_block bb) > > > +{ > > > + gimple_stmt_iterator gsi = gsi_start_nondebu

Re: [PATCH] gimple-iterator, ubsan: Fix ICE during instrumentation of returns_twice calls [PR112709]

2024-03-12 Thread Richard Biener
42; > + return s; > +} > + > +void > +baz (struct S *p) > +{ > + foo (1); > + *p = bar (0); > +} > + > +void > +qux (int x, struct S *p) > +{ > + if (x == 25) > +x = foo (2); > + else if (x == 42) > +x = foo (foo (3)); > + *p = bar (x); > +} > + > +void > +corge (int x, struct S *p) > +{ > + void *q[] = { &, &, &, & }; > + if (x == 25) > +{ > +l1: > + x = foo (2); > +} > + else if (x == 42) > +{ > +l2: > + x = foo (foo (3)); > +} > +l3: > + *p = bar (x); > + if (x < 4) > +goto *q[x & 3]; > +} > --- gcc/testsuite/gcc.dg/ubsan/pr112709-2.c.jj2024-03-11 > 16:55:37.000378840 +0100 > +++ gcc/testsuite/gcc.dg/ubsan/pr112709-2.c 2024-03-11 17:13:37.517599492 > +0100 > @@ -0,0 +1,50 @@ > +/* PR sanitizer/112709 */ > +/* { dg-do compile } */ > +/* { dg-options "-fsanitize=undefined -O2" } */ > + > +struct S { char c[1024]; } *p; > +int foo (int); > + > +__attribute__((returns_twice, noipa)) int > +bar (struct S x) > +{ > + (void) x.c[0]; > + return 0; > +} > + > +void > +baz (int *y) > +{ > + foo (1); > + *y = bar (*p); > +} > + > +void > +qux (int x, int *y) > +{ > + if (x == 25) > +x = foo (2); > + else if (x == 42) > +x = foo (foo (3)); > + *y = bar (*p); > +} > + > +void > +corge (int x, int *y) > +{ > + void *q[] = { &, &, &, & }; > + if (x == 25) > +{ > +l1: > + x = foo (2); > +} > + else if (x == 42) > +{ > +l2: > + x = foo (foo (3)); > +} > +l3: > + *y = bar (*p); > + if (x < 4) > +goto *q[x & 3]; > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] asan: Instrument stores in callees rather than callers [PR112709]

2024-03-12 Thread Richard Biener
> + if (x < 4) > +goto *q[x & 3]; > +} > --- gcc/testsuite/g++.dg/asan/pr69276.C.jj2020-01-14 20:02:46.691611212 > +0100 > +++ gcc/testsuite/g++.dg/asan/pr69276.C 2024-03-12 09:09:05.901446463 > +0100 > @@ -35,4 +35,5 @@ int main() > } > > /* { dg-output "ERROR: AddressSanitizer: heap-buffer-overflow.*(\n|\r\n|\r)" > } */ > -/* { dg-output "#0 0x\[0-9a-f\]+ +in A::A()" } */ > +/* { dg-output "#0 0x\[0-9a-f\]+ +in (A::A\\\(\\\)|vnull::operator > vec\\\(\\\).*(\n|\r\n|\r)" } */ > +/* { dg-output "#1 0x\[0-9a-f\]+ +in A::A\\\(\\\))" } */ > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] strlen: Fix another spot that can create invalid ranges [PR114293]

2024-03-12 Thread Richard Biener
+/* PR tree-optimization/114293 */ > +/* { dg-do compile } */ > +/* { dg-options "-O2 -w" } */ > + > +int > +foo (int x) > +{ > + __builtin_memset (, 5, -1); > + return __builtin_strlen ((char *) ); > +} > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

[PATCH] tree-optimization/114297 - SLP reduction with early break fix

2024-03-11 Thread Richard Biener
The following makes sure to pass in the SLP node for the live stmts we are generating the reduction epilogue for to vect_create_epilog_for_reduction. This follows the previous fix for the non-SLP path. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. PR

Re: [PATCH] testsuite: vect: Require vect_hw_misalign in gcc.dg/vect/vect-cost-model-1.c etc. [PR98238]

2024-03-11 Thread Richard Biener
relevant stmt not supported: _3 = *_2; > > so I think the tests need to require vect_hw_misalign. This is what > this patch does. > > Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11. > > Ok for trunk? OK. Thanks, Richard. > Rainer > > -- Richard

Re: [PATCH] testsuite: vect: Require vect_perm in several tests [PR114071, PR113557, PR96109]

2024-03-11 Thread Richard Biener
2; > /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/pr37027.c:24:17: > missed: unsupported vect permute { 1 0 3 2 5 4 } > /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/pr37027.c:24:17: > missed: unsupported load permutation > /vol/gcc/src/hg/master/local/gcc/tests

Re: [PATCH] bitint, v2: Avoid rewriting large/huge _BitInt vars into SSA after bitint lowering [PR114278]

2024-03-11 Thread Richard Biener
On Mon, 11 Mar 2024, Jakub Jelinek wrote: > On Mon, Mar 11, 2024 at 11:31:51AM +0100, Richard Biener wrote: > > On Mon, 11 Mar 2024, Jakub Jelinek wrote: > > > > > On Sat, Mar 09, 2024 at 12:25:42PM +0100, Richard Biener wrote: > > > > Ideally

<    1   2   3   4   5   6   7   8   9   10   >