Re: [PATCHv2] move the (a-b) CMP 0 ? (a-b) : (b-a) optimization from fold_cond_expr_with_comparison to match

2023-10-23 Thread Richard Biener
On Sun, Oct 22, 2023 at 2:13 AM Andrew Pinski wrote: > > From: Andrew Pinski > > This patch moves the `(a-b) CMP 0 ? (a-b) : (b-a)` optimization > from fold_cond_expr_with_comparison to match. > > Bootstrapped and tested on x86_64-linux-gnu. OK. > Changes in: > v2: Removes `(a == b) ? 0 : (b -

Re: [PATCH] Use error_mark_node after error in convert

2023-10-23 Thread Richard Biener
On Mon, Oct 23, 2023 at 12:22 AM Andrew Pinski wrote: > > While working on PR c/111903, I Noticed that > convert will convert integer_zero_node to that > type after an error instead of returning error_mark_node. > From what I can tell this was the old way of not having > error recovery since other

Re: [PATCH 1/5] Remove obsolete debugging formats from names list

2023-10-23 Thread Richard Biener
On Mon, Oct 23, 2023 at 2:56 AM Mark Harmstone wrote: > > STABS and xcoff have been removed, but are still in debug_type_names, > which ought to match debug_type_masks. This results in the following > minor bug with GCC 13: > > $ x86_64-pc-linux-gnu-gcc -gvms -c tmp.c > cc1: error: target system d

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-23 Thread Richard Biener
On Fri, Oct 20, 2023 at 10:41 PM Qing Zhao wrote: > > > > > On Oct 20, 2023, at 3:10 PM, Siddhesh Poyarekar wrote: > > > > On 2023-10-20 14:38, Qing Zhao wrote: > >> How about the following: > >> Add one more parameter to __builtin_dynamic_object_size(), i.e > >> __builtin_dynamic_object_size (

Re: [PATCH] [PR111520] set hardcmp eh probs (was: rename make_eh_edges to make_eh_edge)

2023-10-23 Thread Richard Biener
On Sat, Oct 21, 2023 at 9:17 AM Alexandre Oliva wrote: > > On Oct 20, 2023, Richard Biener wrote: > > >> * tree-eh.h (make_eh_edges): Rename to... > >> (make_eh_edge): ... this. > >> * tree-eh.cc: Likewise. Adjust all callers. > > Once the above goes

Re: [PATCH 01/22] Add condition coverage profiling

2023-10-23 Thread Richard Biener
On Sat, 21 Oct 2023, J?rgen Kvalsvik wrote: > On 05/10/2023 22:39, J?rgen Kvalsvik wrote: > > On 05/10/2023 21:59, Jan Hubicka wrote: > >>> > >>> Like Wahlen et al this implementation records coverage in fixed-size > >>> bitsets which gcov knows how to interpret. This is very fast, but > >>> intro

Re: [PATCH] middle-end: don't keep .MEM guard nodes for PHI nodes who dominate loop [PR111860]

2023-10-23 Thread Richard Biener
On Fri, 20 Oct 2023, Tamar Christina wrote: > Hi All, > > The previous patch tried to remove PHI nodes that dominated the first loop, > however the correct fix is to only remove .MEM nodes. > > This patch thus makes the condition a bit stricter and only tries to remove > MEM phi nodes. > > I co

[PATCH] tree-optimization/111917 - bougs IL after guard hoisting

2023-10-23 Thread Richard Biener
The unswitching code to hoist guards inserts conditions in wrong places. The following fixes this, simplifying code. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/111917 * tree-ssa-loop-unswitch.cc (hoist_guard): Always insert new condi

Re: [PATCH] vect: Don't set excess bits in unform masks

2023-10-23 Thread Richard Biener
On Fri, 20 Oct 2023, Andrew Stubbs wrote: > This patch fixes a wrong-code bug on amdgcn in which the excess "ones" in the > mask enable extra lanes that were supposed to be unused and are therefore > undefined. > > Richi suggested an alternative approach involving narrower types and then a > zero

Re: [PATCH] ifcvt/vect: Emit COND_ADD for conditional scalar reduction.

2023-10-23 Thread Richard Biener
LE_CYCLE (reduc_info); > @@ -8335,14 +8425,20 @@ vect_transform_reduction (loop_vec_info loop_vinfo, >tree scalar_dest = gimple_get_lhs (stmt_info->stmt); >tree vec_dest = vect_create_destination_var (scalar_dest, vectype_out); > > + /* Get NCOPIES vector definitions for all operands except the reduction > + definition. */ >vect_get_vec_defs (loop_vinfo, stmt_info, slp_node, ncopies, >single_defuse_cycle && reduc_index == 0 >? NULL_TREE : op.ops[0], &vec_oprnds0, >single_defuse_cycle && reduc_index == 1 >? NULL_TREE : op.ops[1], &vec_oprnds1, > - op.num_ops == 3 > - && !(single_defuse_cycle && reduc_index == 2) > + op.num_ops == 4 > + || (op.num_ops == 3 > + && !(single_defuse_cycle && reduc_index == 2)) >? op.ops[2] : NULL_TREE, &vec_oprnds2); > + > + /* For single def-use cycles get one copy of the vectorized reduction > + definition. */ >if (single_defuse_cycle) > { >gcc_assert (!slp_node); > @@ -8382,7 +8478,7 @@ vect_transform_reduction (loop_vec_info loop_vinfo, > } >else > { > - if (op.num_ops == 3) > + if (op.num_ops >= 3) > vop[2] = vec_oprnds2[i]; > > if (masked_loop_p && mask_by_cond_expr) > @@ -8395,10 +8491,16 @@ vect_transform_reduction (loop_vec_info loop_vinfo, > if (emulated_mixed_dot_prod) > new_stmt = vect_emulate_mixed_dot_prod (loop_vinfo, stmt_info, gsi, > vec_dest, vop); > - else if (code.is_internal_fn ()) > + > + else if (code.is_internal_fn () && !cond_fn_p) > new_stmt = gimple_build_call_internal (internal_fn (code), > op.num_ops, > vop[0], vop[1], vop[2]); > + else if (code.is_internal_fn () && cond_fn_p) > + new_stmt = gimple_build_call_internal (internal_fn (code), > +op.num_ops, > +vop[0], vop[1], vop[2], > +vop[1]); > else > new_stmt = gimple_build_assign (vec_dest, tree_code (op.code), > vop[0], vop[1], vop[2]); > diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h > index a4043e4a656..254d172231d 100644 > --- a/gcc/tree-vectorizer.h > +++ b/gcc/tree-vectorizer.h > @@ -2350,7 +2350,7 @@ extern tree vect_create_addr_base_for_vector_ref > (vec_info *, > tree); > > /* In tree-vect-loop.cc. */ > -extern tree neutral_op_for_reduction (tree, code_helper, tree); > +extern tree neutral_op_for_reduction (tree, code_helper, tree, bool = true); > extern widest_int vect_iv_limit_for_partial_vectors (loop_vec_info > loop_vinfo); > bool vect_rgroup_iv_might_wrap_p (loop_vec_info, rgroup_controls *); > /* Used in tree-vect-loop-manip.cc */ > -- 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] Support vec_cmpmn/vcondmn for v2hf/v4hf.

2023-10-23 Thread Richard Biener
On Mon, Oct 23, 2023 at 10:48 AM liuhongt wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > Ready push to trunk. vcond and vcondeq shouldn't be necessary if there's vcond_mask and vcmp support which is the "modern" way of handling vcond. Unless the ISA really can do compare

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-23 Thread Richard Biener
On Mon, Oct 23, 2023 at 1:27 PM Siddhesh Poyarekar wrote: > > On 2023-10-23 03:57, Richard Biener wrote: > > On Fri, Oct 20, 2023 at 10:41 PM Qing Zhao wrote: > >> > >> > >> > >>> On Oct 20, 2023, at 3:10 PM, Siddhesh Poyarekar > >&

[PATCH] ipa/111914 - perform parameter init after remapping types

2023-10-23 Thread Richard Biener
The following addresses a mismatch in SSA name vs. symbol when we emit a dummy assignment when not optimizing. The temporary we create is not remapped by initialize_inlined_parameters because we have no easy way to get at it. The following instead emits the additional statement after we have rema

[PATCH] tree-optimization/111915 - mixing grouped and non-grouped accesses

2023-10-23 Thread Richard Biener
The change to allow SLP of non-grouped accesses failed to check for the case of mixing with grouped accesses. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/111915 * tree-vect-slp.cc (vect_build_slp_tree_1): Check all accesses are either

[PATCH] tree-optimization/111916 - SRA of BIT_FIELD_REF of constant pool entries

2023-10-23 Thread Richard Biener
The following adjusts a leftover BIT_FIELD_REF special-casing to only cover the cases general code doesn't handle. Boostrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/111916 * tree-sra.cc (sra_modify_assign): Do not lower all BIT_FIELD_REF read

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-23 Thread Richard Biener
> Am 23.10.2023 um 16:56 schrieb Qing Zhao : > >  > >> On Oct 23, 2023, at 3:57 AM, Richard Biener >> wrote: >> >>> On Fri, Oct 20, 2023 at 10:41 PM Qing Zhao wrote: >>> >>> >>> >>>> On Oct 20, 2023, at

Re: [PATCH] match: Fix the `popcnt(a&b) + popcnt(a|b)` patthern for types [PR111913]

2023-10-24 Thread Richard Biener
On Tue, Oct 24, 2023 at 1:04 AM Andrew Pinski wrote: > > So this pattern needs a little help on the gimple side of things to know what > the type popcount should be. For most builtins, the type is the same as the > input > but popcount and others are not. And when using it with another outer > e

Re: [PATCH] Support vec_cmpmn/vcondmn for v2hf/v4hf.

2023-10-24 Thread Richard Biener
On Tue, Oct 24, 2023 at 7:44 AM Hongtao Liu wrote: > > On Tue, Oct 24, 2023 at 1:23 PM Hongtao Liu wrote: > > > > On Tue, Oct 24, 2023 at 10:53 AM Hongtao Liu wrote: > > > > > > On Mon, Oct 23, 2023 at 8:35 PM Richard Biener > > > wrote: >

Re: [PATCHv2] Improve factor_out_conditional_operation for conversions and constants

2023-10-24 Thread Richard Biener
On Tue, Oct 24, 2023 at 8:45 AM Andrew Pinski wrote: > > In the case of a NOP conversion (precisions of the 2 types are equal), > factoring out the conversion can be done even if int_fits_type_p returns > false and even when the conversion is defined by a statement inside the > conditional. Since

Re: [PATCH] libgcc: make heap-based trampolines conditional on libc presence

2023-10-24 Thread Richard Biener
On Mon, Oct 23, 2023 at 6:41 PM Sergei Trofimovich wrote: > > On Mon, 23 Oct 2023 13:54:01 +0100 > Iain Sandoe wrote: > > > hi Sergei, > > > > > On 23 Oct 2023, at 13:43, Sergei Trofimovich wrote: > > > > > > From: Sergei Trofimovich > > > > > > To build `libc` for a target one needs to build `

Re: [PATCH v3] gcc: Introduce -fhardened

2023-10-24 Thread Richard Biener
On Mon, Oct 23, 2023 at 9:26 PM Marek Polacek wrote: > > On Thu, Oct 19, 2023 at 02:24:11PM +0200, Richard Biener wrote: > > On Wed, Oct 11, 2023 at 10:48 PM Marek Polacek wrote: > > > > > > On Tue, Sep 19, 2023 at 10:58:19AM -0400, Marek Polacek wrote: > > &g

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-24 Thread Richard Biener
> Am 24.10.2023 um 22:38 schrieb Martin Uecker : > > Am Dienstag, dem 24.10.2023 um 20:30 + schrieb Qing Zhao: >> Hi, Sid, >> >> Really appreciate for your example and detailed explanation. Very helpful. >> I think that this example is an excellent example to show (almost) all the >> iss

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-25 Thread Richard Biener
> Am 25.10.2023 um 10:16 schrieb Martin Uecker : > > Am Mittwoch, dem 25.10.2023 um 08:43 +0200 schrieb Richard Biener: >> >>>> Am 24.10.2023 um 22:38 schrieb Martin Uecker : >>> >>> Am Dienstag, dem 24.10.2023 um 20:30 + schrieb Qing Zha

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-25 Thread Richard Biener
> Am 25.10.2023 um 12:47 schrieb Martin Uecker : > > Am Mittwoch, dem 25.10.2023 um 06:25 -0400 schrieb Siddhesh Poyarekar: >>> On 2023-10-25 04:16, Martin Uecker wrote: >>> Am Mittwoch, dem 25.10.2023 um 08:43 +0200 schrieb Richard Biener: >>>> >

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-25 Thread Richard Biener
> Am 25.10.2023 um 16:50 schrieb Siddhesh Poyarekar : > > On 2023-10-25 09:27, Qing Zhao wrote: On Oct 24, 2023, at 7:56 PM, Siddhesh Poyarekar wrote: >>> >>> On 2023-10-24 18:51, Qing Zhao wrote: Thanks for the proposal! So what you suggested is: For every x.buf,

Re: [PATCH V2 1/2] Pass type of comparison operands instead of comparison result to truth_type_for in build_vec_cmp.

2023-10-26 Thread Richard Biener
On Thu, Oct 26, 2023 at 3:15 AM liuhongt wrote: > > >I think it's indeed on purpose that the result of v1 < v2 is a signed > >integer vector type. > >But build_vec_cmp should not use the truth type for the result but instead > >the > >truth type for the comparison, so > > Change build_vec_cmp in

Re: [PATCH v2] VECT: Remove the type size restriction of vectorizer

2023-10-26 Thread Richard Biener
On Thu, Oct 26, 2023 at 4:18 AM wrote: > > From: Pan Li > > Update in v2: > > * Fix one ICE of type assertion. > * Adjust some test cases for aarch64 sve and riscv vector. > > Original log: > > The vectoriable_call has one restriction of the size of data type. > Aka DF to DI is allowed but SF to

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-26 Thread Richard Biener
On Wed, Oct 25, 2023 at 8:16 PM Martin Uecker wrote: > > Am Mittwoch, dem 25.10.2023 um 13:13 +0200 schrieb Richard Biener: > > > > > Am 25.10.2023 um 12:47 schrieb Martin Uecker : > > > > > > Am Mittwoch, dem 25.10.2023 um 06:25 -0400 schrieb Siddhesh P

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-26 Thread Richard Biener
On Thu, Oct 26, 2023 at 7:22 AM Jakub Jelinek wrote: > > On Wed, Oct 25, 2023 at 07:03:43PM +, Qing Zhao wrote: > > For the code generation impact: > > > > turning the original x.buf > > to a builtin function call > > __builtin_with_access_and_size(x,buf, x.L,-1) > > > > might inhibit some op

Re: [PATCH] match: Simplify `a != C1 ? abs(a) : C2` when C2 == abs(C1) [PR111957]

2023-10-26 Thread Richard Biener
On Wed, Oct 25, 2023 at 5:37 AM Andrew Pinski wrote: > > This adds a match pattern for `a != C1 ? abs(a) : C2` which gets simplified > to `abs(a)`. if C1 was originally *_MIN then change it over to use absu > instead > of abs. > > Bootstrapped and tested on x86_64-linux-gnu with no regressions. >

Re: [PATCH] Improve tree_expr_nonnegative_p by using the ranger [PR111959]

2023-10-26 Thread Richard Biener
On Wed, Oct 25, 2023 at 5:51 AM Andrew Pinski wrote: > > I noticed we were missing optimizing `a / (1 << b)` when > we know that a is nonnegative but only due to ranger information. > This adds the use of the global ranger to tree_single_nonnegative_warnv_p > for SSA_NAME. > I didn't extend tree_s

Re: [PATCH 2/5] Support for CodeView debugging format

2023-10-26 Thread Richard Biener
On Mon, Oct 23, 2023 at 2:57 AM Mark Harmstone wrote: > > This patch and the following add initial support for Microsoft's > CodeView debugging format, as used by MSVC, to mingw targets. A high-level question - it seems there's almost no information in the codeview sections, so is that debug form

Re: [PATCH] match: Simplify `a != C1 ? abs(a) : C2` when C2 == abs(C1) [PR111957]

2023-10-26 Thread Richard Biener
> Am 26.10.2023 um 14:21 schrieb Andrew Pinski : > > On Thu, Oct 26, 2023 at 2:24 AM Richard Biener > wrote: >> >>> On Wed, Oct 25, 2023 at 5:37 AM Andrew Pinski wrote: >>> >>> This adds a match pattern for `a != C1 ? abs(a) : C2` whi

Re: [PATCH v2] VECT: Remove the type size restriction of vectorizer

2023-10-26 Thread Richard Biener
e is certainly not correct unconditionally here (the target might not support that) > Pan > > -Original Message- > From: Richard Biener > Sent: Thursday, October 26, 2023 4:38 PM > To: Li, Pan2 > Cc: gcc-patches@gcc.gnu.org; juzhe.zh...@rivai.ai; Wang, Yanzhang >

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-26 Thread Richard Biener
> Am 26.10.2023 um 12:14 schrieb Martin Uecker : > > Am Donnerstag, dem 26.10.2023 um 11:20 +0200 schrieb Martin Uecker: >>> Am Donnerstag, dem 26.10.2023 um 10:45 +0200 schrieb Richard Biener: >>> On Wed, Oct 25, 2023 at 8:16 PM Martin Uecker wrote: >>>&g

Re: [PATCH GCC13 backport] Avoid compile time hog on vect_peel_nonlinear_iv_init for nonlinear induction vec_step_op_mul when iteration count is too big.

2023-10-26 Thread Richard Biener
> Am 24.10.2023 um 13:22 schrieb liuhongt : > > This is the backport patch for releases/gcc-13 branch, the original patch > for main trunk > is at [1]. > The only difference between this backport patch and [1] is GCC13 doesn't > support auto_mpz, > So this patch manually use mpz_init/mpz_cle

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-26 Thread Richard Biener
> Am 26.10.2023 um 16:58 schrieb Qing Zhao : > >  > >> On Oct 26, 2023, at 4:56 AM, Richard Biener >> wrote: >> >>> On Thu, Oct 26, 2023 at 7:22 AM Jakub Jelinek wrote: >>> >>> On Wed, Oct 25, 2023 at 07:03:43PM +0

Re: [PATCH] tree-optimization/109334: Improve computation for access attribute

2023-10-26 Thread Richard Biener
> Am 26.10.2023 um 13:51 schrieb Siddhesh Poyarekar : > > On 2023-10-26 04:37, Martin Uecker wrote: >> Hi Sid and Jakub, >> here is the patch discussed in PR 109334. > > I can't approve, but here's a review: Ok Thanks for the review, Richard >> Martin >> tree-optimization/109334: Impr

Re: [PATCH v3] gcc: Introduce -fhardened

2023-10-26 Thread Richard Biener
> Am 24.10.2023 um 21:09 schrieb Marek Polacek : > > On Tue, Oct 24, 2023 at 09:22:25AM +0200, Richard Biener wrote: >>> On Mon, Oct 23, 2023 at 9:26 PM Marek Polacek wrote: >>> >>> On Thu, Oct 19, 2023 at 02:24:11PM +0200, Richard Biener wrote: >>

Re: HELP: Will the reordering happen? Re: [V3][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896)

2023-10-26 Thread Richard Biener
> Am 26.10.2023 um 19:05 schrieb Martin Uecker : > > Am Donnerstag, dem 26.10.2023 um 16:41 + schrieb Qing Zhao: >> >>>> On Oct 26, 2023, at 5:20 AM, Martin Uecker wrote: >>> >>> Am Donnerstag, dem 26.10.2023 um 10:45 +0200 schrieb Richard

Re: [PATCH] Improve memcmpeq for 512-bit vector with vpcmpeq + kortest.

2023-10-26 Thread Richard Biener
> Am 27.10.2023 um 07:50 schrieb liuhongt : > > When 2 vectors are equal, kmask is allones and kortest will set CF, > else CF will be cleared. > > So CF bit can be used to check for the result of the comparison. > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > Ok for trunk? I

Re: [PATCH] MATCH: Simplify `(X &| B) CMP X` if possible [PR 101590]

2023-10-26 Thread Richard Biener
> Am 26.10.2023 um 23:10 schrieb Andrew Pinski : > > From: Andrew Pinski > > I noticed we were missing these simplifications so let's add them. > > This adds the following simplifications: > U & N <= U -> true > U & N > U -> false > When U is known to be as non-negative. > > When N is a

Re: [PATCH] Improve memcmpeq for 512-bit vector with vpcmpeq + kortest.

2023-10-27 Thread Richard Biener
> Am 27.10.2023 um 09:13 schrieb Hongtao Liu : > > On Fri, Oct 27, 2023 at 2:49 PM Richard Biener > wrote: >> >> >> >>>> Am 27.10.2023 um 07:50 schrieb liuhongt : >>> >>> When 2 vectors are equal, kmask is allones and kortest

Re: [PATCH] Improve tree_expr_nonnegative_p by using the ranger [PR111959]

2023-10-27 Thread Richard Biener
On Thu, Oct 26, 2023 at 8:30 PM Andrew Pinski wrote: > > On Thu, Oct 26, 2023 at 2:29 AM Richard Biener > wrote: > > > > On Wed, Oct 25, 2023 at 5:51 AM Andrew Pinski wrote: > > > > > > I noticed we were missing optimizing `a / (1 << b)` when > &

Re: [PATCH v2] VECT: Remove the type size restriction of vectorizer

2023-10-27 Thread Richard Biener
returns an IFN but that function should have the very same check when vectype_out isn't participating in the optab selection. Richard. > > Pan > > -Original Message----- > From: Richard Sandiford > Sent: Friday, October 27, 2023 1:47 AM > To: Richard Biener > Cc: Li, Pan2

Re: hardcfr: support checking at abnormal edges [PR111943]

2023-10-27 Thread Richard Biener
On Thu, Oct 26, 2023 at 5:44 PM Alexandre Oliva wrote: > > > Control flow redundancy may choose abnormal edges for early checking, > but that breaks because we can't insert checks on such edges. > > Introduce conditional checking on the dest block of abnormal edges, > and leave it for the optimize

Re: [PATCH 2/3] MATCH: Move jump_function_from_stmt support to match.pd

2023-10-30 Thread Richard Biener
On Sun, Oct 29, 2023 at 5:41 PM Andrew Pinski wrote: > > This moves the value_replacement support for jump_function_from_stmt > to match pattern. > This allows us to optimize things earlier in phiopt1 rather than waiting > to phiopt2. Which means phiopt1 needs to be disable for vrp03.c testcase. >

Re: [PATCH 3/3] MATCH: Add some more value_replacement simplifications to match

2023-10-30 Thread Richard Biener
On Sun, Oct 29, 2023 at 5:41 PM Andrew Pinski wrote: > > This moves a few more value_replacements simplifications to match. > /* a == 1 ? b : a * b -> a * b */ > /* a == 1 ? b : b / a -> b / a */ > /* a == -1 ? b : a & b -> a & b */ > > Also adds a testcase to show can we catch these where value_

Re: [PATCH 1/3] MATCH: first of the value replacement moving from phiopt

2023-10-30 Thread Richard Biener
On Sun, Oct 29, 2023 at 5:41 PM Andrew Pinski wrote: > > This moves a few simple patterns that are done in value replacement > in phiopt over to match.pd. Just the simple ones which might show up > in other code. > > This allows some optimizations to happen even without depending > on sinking from

[PATCH] PR testsuite/111462 - add powerpc64le to list of ssa-sink-18.c XFAIL

2023-10-30 Thread Richard Biener
Pushed. PR testsuite/111462 gcc/testsuite/ * gcc.dg/tree-ssa/ssa-sink-18.c: XFAIL also powerpc64le. --- gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-18.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-18.c b/gcc/testsu

Re: [PATCH, OpenACC 2.7] Connect readonly modifier to points-to analysis

2023-10-30 Thread Richard Biener
On Fri, Oct 27, 2023 at 4:28 PM Thomas Schwinge wrote: > > Hi! > > Richard, as the original author of 'SSA_NAME_POINTS_TO_READONLY_MEMORY': > 2018 commit 6214d5c7e7470bdd5ecbeae668c2522551bfebbc (Subversion r263958) > "Move const_parm trick to generic code"; 'gcc/tree.h': > > /* Nonzero if thi

Re: [wwwdocs] Get newlib via git in simtest-howto.html

2023-10-30 Thread Richard Biener
On Fri, Oct 27, 2023 at 6:39 PM Roger Sayle wrote: > > > A minor tweak to the documentation, to use git rather than cvs to obtain > the latest version of newlib. Ok for mainline? OK > > 2023-10-27 Roger Sayle > > * htdocs/simtest-howto.html: Use git to obtain newlib. > > Cheers, > Ro

[PATCH] Assert we don't create recursive DW_AT_abstract_origin

2023-10-30 Thread Richard Biener
We have a support case that shows GCC 7 sometimes creates DW_TAG_label refering to itself via a DW_AT_abstract_origin when using LTO. This for example triggers the sanity check added below during LTO bootstrap. Making this check cover more than just DW_AT_abstract_origin breaks bootstrap on trunk

Re: [PATCH] Testsuite, i386: Mark test as requiring ifunc

2023-10-30 Thread Richard Biener
On Mon, Oct 30, 2023 at 3:43 PM FX Coudert wrote: > > Hi, > > The test is currently failing on x86_64-apple-darwin. > Marking the test as requiring ifunc fixes the issue. > > OK to push? OK. > > FX >

Re: [PATCH6/8] omp: Reorder call for TARGET_SIMD_CLONE_ADJUST (was Re: [PATCH7/8] vect: Add TARGET_SIMD_CLONE_ADJUST_RET_OR_PARAM)

2023-10-31 Thread Richard Biener
after return > and argument types have been vectorized, create adjustments and > return array after the hook. > (expand_simd_clones): Call TARGET_SIMD_CLONE_ADJUST after return > and argument types have been vectorized. > > On 04/10/2023 13:40, Andre V

[PATCH] tree-optimization/112305 - SCEV cprop and conditional undefined overflow

2023-10-31 Thread Richard Biener
The following adjusts final value replacement to also rewrite the replacement to defined overflow behavior if there's conditionally evaluated stmts (with possibly undefined overflow), not only when we "folded casts". The patch hooks into expression_expensive for this. Bootstrapped and tested on x

Re: [PATCH] VECT: Support SLP MASK_LEN_GATHER_LOAD with conditional mask

2023-10-31 Thread Richard Biener
On Thu, 26 Oct 2023, Juzhe-Zhong wrote: > This patch leverage current MASK_GATHER_LOAD to support SLP > MASK_LEN_GATHER_LOAD with condtional mask. > > Unconditional MASK_LEN_GATHER_LOAD (base, offset, scale, zero, -1) SLP is not > included in this patch > since it seems that we can't support it

Re: [PATCH v3] VECT: Refine the type size restriction of call vectorizer

2023-10-31 Thread Richard Biener
On Mon, Oct 30, 2023 at 1:23 PM wrote: > > From: Pan Li > > Update in v3: > > * Add func to predicate type size is legal or not for vectorizer call. > > Update in v2: > > * Fix one ICE of type assertion. > * Adjust some test cases for aarch64 sve and riscv vector. > > Original log: > > The vector

Re: [PATCH 2/2] tree-optimization/111131 - SLP for non-IFN gathers

2023-10-31 Thread Richard Biener
On Tue, 31 Oct 2023, Thomas Schwinge wrote: > Hi! > > On 2023-10-19T11:47:14+, Richard Biener wrote: > > The following implements SLP vectorization support for gathers > > without relying on IFNs being pattern detected (and supported by > > the target). That in

Re: [PATCH v4] [tree-optimization/110279] Consider FMA in get_reassociation_width

2023-10-31 Thread Richard Biener
On Sun, Oct 8, 2023 at 6:40 PM Di Zhao OS wrote: > > Attached is a new version of the patch. > > > -Original Message- > > From: Richard Biener > > Sent: Friday, October 6, 2023 5:33 PM > > To: Di Zhao OS > > Cc: gcc-patches@gcc.gnu.org > &g

Re: [PATCH v4] VECT: Refine the type size restriction of call vectorizer

2023-11-01 Thread Richard Biener
> Am 31.10.2023 um 16:10 schrieb pan2...@intel.com: > > From: Pan Li > > Update in v4: > > * Append the check to vectorizable_internal_function. > > Update in v3: > > * Add func to predicate type size is legal or not for vectorizer call. > > Update in v2: > > * Fix one ICE of type asser

Re: [PATCH] Reduce false positives for -Wnonnull for VLA parameters [PR98541]

2023-11-02 Thread Richard Biener
On Tue, Oct 31, 2023 at 8:05 PM Martin Uecker wrote: > > > This is a revised part of previously posted patch which > I split up. C FE changes which another false positive > were already merged, but I still need approval for this > middle-end change. It would be nice to get this in, > because it

Re: [PATCH] ifcvt/vect: Emit COND_ADD for conditional scalar reduction.

2023-11-02 Thread Richard Biener
On Tue, 31 Oct 2023, Robin Dapp wrote: > >> +int > >> +internal_fn_else_index (internal_fn fn) > > > > The function needs a comment, maybe: > > > > /* If FN is an IFN_COND_* or IFN_COND_LEN_* function, return the index of > > the > >argument that is used when the condition is false. Return

Re: RFC: the proposal to resolve the missing dependency issue for counted_by attribute

2023-11-02 Thread Richard Biener
On Wed, Nov 1, 2023 at 3:47 PM Qing Zhao wrote: > > > > > On Oct 31, 2023, at 6:14 PM, Joseph Myers wrote: > > > > On Tue, 31 Oct 2023, Qing Zhao wrote: > > > >> 2.3 A new semantic requirement in the user documentation of "counted_by" > >> > >> For the following structure including a FAM with a c

Re: Ping: [PATCH v3] libiberty: Use posix_spawn in pex-unix when available.

2023-11-02 Thread Richard Biener
On Wed, Nov 1, 2023 at 7:16 PM Brendan Shanks wrote: > > Polite ping on this. OK. Thanks, Richard. > > On Oct 4, 2023, at 11:28 AM, Brendan Shanks wrote: > > > > Hi, > > > > This patch implements pex_unix_exec_child using posix_spawn when > > available. > > > > This should especially benefit r

Re: [PATCH v1] EXPMED: Allow vector mode for DSE extract_low_bits [PR111720]

2023-11-02 Thread Richard Biener
On Thu, Nov 2, 2023 at 4:15 AM wrote: > > From: Pan Li > > The extract_low_bits only try the scalar mode if the bitsize of > the mode and src_mode is not equal. When vector mode is given > from get_stored_val in DSE, it will always fail and return NULL_RTX. > > This patch would like to allow the

Re: RFC: the proposal to resolve the missing dependency issue for counted_by attribute

2023-11-02 Thread Richard Biener
On Thu, Nov 2, 2023 at 9:27 AM Jakub Jelinek wrote: > > On Thu, Nov 02, 2023 at 08:57:36AM +0100, Richard Biener wrote: > > You probably want to specify that when a pointer to the array is taken the > > pointer has to be to the first array element (or do we want to ma

Re: [PATCH] doc: explicitly say 'lifetime' for DCE

2023-11-02 Thread Richard Biener
On Thu, Nov 2, 2023 at 10:03 AM Sam James wrote: > > Say 'memory lifetime' rather than 'memory life' as lifetime is the more > standard term nowadays (indeed we have e.g. -fno-lifetime-dse). > > It's also easier to grep for if someone is looking for the documentation on > where we do that. OK >

[PATCH] tree-optimization/112320 - bougs debug IL after SCCP

2023-11-02 Thread Richard Biener
The following addresses wrong debug IL created by SCCP rewriting stmts to defined overflow. I addressed another inefficiency there but needed to adjust the API of rewrite_to_defined_overflow for this which is now taking a stmt iterator for in-place operation and a stmt for sequence producing becau

Re: [tree-optimization/111721] VECT: Support SLP for MASK_LEN_GATHER_LOAD with dummy mask

2023-11-02 Thread Richard Biener
if (mask_index >= 0 > && !vect_check_scalar_mask (vinfo, stmt_info, slp_node, mask_index, > - &mask, NULL, &mask_dt, &mask_vectype)) > + &mask, &slp_op, &mask_dt, &mask_vectype)) > retu

Re: [PATCH] doc: explicitly say 'lifetime' for DCE

2023-11-02 Thread Richard Biener
On Thu, Nov 2, 2023 at 11:25 AM Sam James wrote: > > > Richard Biener writes: > > > On Thu, Nov 2, 2023 at 10:03 AM Sam James wrote: > >> > >> Say 'memory lifetime' rather than 'memory life' as lifetime is the more > >&

Re: RFC: the proposal to resolve the missing dependency issue for counted_by attribute

2023-11-02 Thread Richard Biener
On Thu, Nov 2, 2023 at 11:40 AM Jakub Jelinek wrote: > > On Thu, Nov 02, 2023 at 11:18:09AM +0100, Richard Biener wrote: > > > Or, if we want to pay further price, .ACCESS_WITH_SIZE could take as one > > > of > > > the arguments not the size value, but its addre

Re: Re: [tree-optimization/111721] VECT: Support SLP for MASK_LEN_GATHER_LOAD with dummy mask

2023-11-02 Thread Richard Biener
SK_VECTYPE. */ > + if (mask_index >= 0 && slp_node && mask_dt == vect_constant_def > + && !vect_maybe_update_slp_op_vectype (slp_op, mask_vectype)) > + gcc_unreachable (); You shouldn't do this here. Theres code in if (costing_p) that w

Re: [PATCH] internal-fn: Add VCOND_MASK_LEN.

2023-11-02 Thread Richard Biener
6) > + (with { tree op_type = TREE_TYPE (@4); } > + (if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), > op_type) > + && is_truth_type_for (op_type, TREE_TYPE (@0)) > + && single_use (@4)) > +(view_convert (cond_op (bit_not @0) @2 @3 (view_convert:op_type @1) @5 > @6)) > + > +(for uncond_op (UNCOND_TERNARY) > + cond_op (COND_LEN_TERNARY) > + (simplify > + (IFN_VCOND_MASK_LEN @0 (view_convert? (uncond_op@5 @1 @2 @3)) @4 @6 @7) > + (with { tree op_type = TREE_TYPE (@5); } > + (if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), > op_type) > + && is_truth_type_for (op_type, TREE_TYPE (@0)) > + && single_use (@5)) > +(view_convert (cond_op @0 @1 @2 @3 (view_convert:op_type @4) @6 @7) > + (simplify > + (IFN_VCOND_MASK_LEN @0 @1 (view_convert? (uncond_op@5 @2 @3 @4 @6 @7))) > + (with { tree op_type = TREE_TYPE (@5); } > + (if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), > op_type) > + && is_truth_type_for (op_type, TREE_TYPE (@0)) > + && single_use (@5)) > +(view_convert (cond_op (bit_not @0) @2 @3 @4 (view_convert:op_type @1) > @6 @7)) > #endif > > /* Detect cases in which a VEC_COND_EXPR effectively replaces the > diff --git a/gcc/optabs.def b/gcc/optabs.def > index 2ccbe4197b7..8d5ceeb8710 100644 > --- a/gcc/optabs.def > +++ b/gcc/optabs.def > @@ -282,6 +282,7 @@ OPTAB_D (cond_len_fnma_optab, "cond_len_fnma$a") > OPTAB_D (cond_len_fnms_optab, "cond_len_fnms$a") > OPTAB_D (cond_len_neg_optab, "cond_len_neg$a") > OPTAB_D (cond_len_one_cmpl_optab, "cond_len_one_cmpl$a") > +OPTAB_D (vcond_mask_len_optab, "vcond_mask_len_$a") > OPTAB_D (cmov_optab, "cmov$a6") > OPTAB_D (cstore_optab, "cstore$a4") > OPTAB_D (ctrap_optab, "ctrap$a4") > -- 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 V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-11-02 Thread Richard Biener
(internal_fn, tree, tree, int); > extern bool internal_check_ptrs_fn_supported_p (internal_fn, tree, > poly_uint64, unsigned int); > #define VECT_PARTIAL_BIAS_UNSUPPORTED 127 > diff --git a/gcc/optabs.def b/gcc/optabs.def > index 2ccbe

Re: RFC: the proposal to resolve the missing dependency issue for counted_by attribute

2023-11-02 Thread Richard Biener
On Thu, Nov 2, 2023 at 2:50 PM Qing Zhao wrote: > > > > > On Nov 2, 2023, at 3:57 AM, Richard Biener > > wrote: > > > > On Wed, Nov 1, 2023 at 3:47 PM Qing Zhao wrote: > >> > >> > >> > >>> On Oct 31, 2023, at 6:14 P

Re: Re: [PATCH V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-11-02 Thread Richard Biener
And I wonder I should create the stride_type using size_type_node or > ptrdiff_type_node ? > Which is preferrable ? 'sizetype' - that's the type we require to be used for the POINTER_PLUS_EXPR offset operand. > Thanks. > > > > juzhe.zh...@rivai.ai > &g

Re: Re: [PATCH V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-11-02 Thread Richard Biener
he unsigned > maximum stride = 2^31 wheras signed is 2 ^ 30. On the GIMPLE side I think we want to have a sizetype operand and indeed drop 'scale', the sizetype operand should be readily available. > > > > juzhe.zh...@rivai.ai > > From: Richard Biener > Date

[PATCH] [doc] middle-end/112296 - __builtin_constant_p and side-effects

2023-11-03 Thread Richard Biener
The following tries to clarify the __builtin_constant_p documentation, stating that the argument expression is not evaluated and side-effects are discarded. I'm struggling to find the correct terms matching what the C language standard would call things so I'd appreciate some help here. OK for tr

Re: [PATCH] tree-optimization: Add register pressure heuristics

2023-11-03 Thread Richard Biener
On Thu, Nov 2, 2023 at 9:50 PM Ajit Agarwal wrote: > > Hello All: > > Currently code sinking heuristics are based on profile data like > basic block count and sink frequency threshold. We have removed > such heuristics and added register pressure heuristics based on > live-in and live-out of early

Re: [PATCH] vect: allow using inbranch simdclones for masked loops

2023-11-03 Thread Richard Biener
> gcc/ChangeLog: > > * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow unmasked > calls to use masked simdclones. > > gcc/testsuite/ChangeLog: > > * gcc.dg/vect/vect-simd-clone-20.c: New file. > * gfortran.dg/simd-builtins-1.h: Adap

Re: [tree-optimization/111721 V2] VECT: Support SLP for MASK_LEN_GATHER_LOAD with dummy mask

2023-11-03 Thread Richard Biener
p;slp_op, &mask_dt, &mask_vectype)) > return false; > } > > @@ -10046,7 +10047,7 @@ vectorizable_load (vec_info *vinfo, > { >if (slp_node > && mask > - && !vect_maybe_update_slp_op_vectype (SLP_TREE_CHILDREN (slp_no

Re: Re: [PATCH V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-11-03 Thread Richard Biener
@var{i} of (operand 3) should be > stored. > +Mask elements @var{i} with @var{i} > (operand 5 + operand 6) are ignored. > + > @cindex @code{vec_set@var{m}} instruction pattern > @item @samp{vec_set@var{m}} > Set given field in the vector value. Operand 0 is the vector to mo

Re: Re: [PATCH V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-11-03 Thread Richard Biener
eroing will cause a false dependence on the previous value of the register, so I doubt this is optimal behavior. For stores the inactive elements are of course not stored. > > juzhe.zh...@rivai.ai > > From: Richard Biener > Date: 2023-11-03 15:40 > To: juzhe.zh...@rivai.ai

Re: Re: [PATCH V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN

2023-11-03 Thread Richard Biener
perand 5) are ignored. > + > @cindex @code{vec_set@var{m}} instruction pattern > @item @samp{vec_set@var{m}} > Set given field in the vector value. Operand 0 is the vector to modify, > > Thanks. > > > > juzhe.zh...@rivai.ai > > From: Richard Biener > Date: 2023

Re: [PATCH] vect: allow using inbranch simdclones for masked loops

2023-11-03 Thread Richard Biener
On Fri, 3 Nov 2023, Andre Vieira (lists) wrote: > > > On 03/11/2023 07:31, Richard Biener wrote: > > > > > OK. > > > > I do wonder about the gfortran testsuite adjustments though. > > > > !GCC$ builtin (sin) attributes simd (inbranch) &

[PATCH] tree-optimization/112310 - code hoisting undefined behavior

2023-11-03 Thread Richard Biener
The following avoids hoisting expressions that may invoke undefined behavior and are not computed on all paths. This is realized by noting that we have to avoid materializing expressions as part of hoisting that are not part of the set of expressions we have found eligible for hoisting. Instead o

[PATCH] tree-optimization/112366 - remove assert for failed live lane code gen

2023-11-03 Thread Richard Biener
The following removes a bogus assert constraining the uses that could appear when a built from scalar defs SLP node constrains code generation in a way so earlier uses of the vector CTOR components fail to get vectorized. We can't really constrain the operation such use appears in. Bootstrapped a

Re: [PATCH] tree-optimization: Add register pressure heuristics

2023-11-03 Thread Richard Biener
On Fri, Nov 3, 2023 at 11:20 AM Ajit Agarwal wrote: > > Hello Richard: > > On 03/11/23 12:51 pm, Richard Biener wrote: > > On Thu, Nov 2, 2023 at 9:50 PM Ajit Agarwal wrote: > >> > >> Hello All: > >> [...] > >> > >> High re

[PATCH] Cleanup vectorizable_live_operation

2023-11-03 Thread Richard Biener
During analyzing PR111950 I found the loop live operation code-gen odd, in particular only replacing a single PHI but then adjusting possibly remaining PHIs afterwards where there shouldn't really be any out-of-loop uses of the scalar in-loop def left. Bootstrapped and tested together with another

[PATCH] Testcases for vectorizer peeling

2023-11-03 Thread Richard Biener
The following exercise otherwise not exercised paths in the vectorizer peeling code, resulting in CPU 2017 build ICEs when patching but no fallout in the testsuite. tested on x86_64-unknown-linux-gnu, pushed. * gfortran.dg/20231103-1.f90: New testcase. * gfortran.dg/20231103-2.f90

Re: [PATCH] explow: Allow dynamic allocations after vregs

2023-11-05 Thread Richard Biener
On Sun, Nov 5, 2023 at 7:32 PM Richard Sandiford wrote: > > This patch allows allocate_dynamic_stack_space to be called before > or after virtual registers have been instantiated. It uses the > same approach as allocate_stack_local, which already supported this. > > Tested on aarch64-linux-gnu &

Re: [PATCH] explow: Avoid unnecessary alignment operations

2023-11-05 Thread Richard Biener
On Sun, Nov 5, 2023 at 7:33 PM Richard Sandiford wrote: > > align_dynamic_address would output alignment operations even > for a required alignment of 1 byte. > > Tested on aarch64-linux-gnu & x86_64-linux-gnu. OK to install? OK > Richard > > > gcc/ > * explow.cc (align_dynamic_address)

Re: [PATCH] internal-fn: Add VCOND_MASK_LEN.

2023-11-05 Thread Richard Biener
view_convert:op_type @1) @5 > > @6)) > > + > > /* Same for ternary operations. */ > > (for uncond_op (UNCOND_TERNARY) > > cond_op (COND_TERNARY) > > @@ -9025,6 +9059,23 @@ and, > > && single_use (@5)) > > (view_convert (cond_op (bit_not @0) @2 @3 @4 > > (view_convert:op_type @1))) > > + > > +(for uncond_op (UNCOND_TERNARY) > > + cond_op (COND_LEN_TERNARY) > > + (simplify > > + (IFN_VCOND_MASK_LEN @0 (view_convert? (uncond_op@5 @1 @2 @3)) @4 @6 @7) > > + (with { tree op_type = TREE_TYPE (@5); } > > + (if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), > > op_type) > > + && is_truth_type_for (op_type, TREE_TYPE (@0)) > > + && single_use (@5)) > > +(view_convert (cond_op @0 @1 @2 @3 (view_convert:op_type @4) @6 @7) > > + (simplify > > + (IFN_VCOND_MASK_LEN @0 @1 (view_convert? (uncond_op@5 @2 @3 @4 @6 @7))) > > + (with { tree op_type = TREE_TYPE (@5); } > > + (if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), > > op_type) > > + && is_truth_type_for (op_type, TREE_TYPE (@0)) > > + && single_use (@5)) > > +(view_convert (cond_op (bit_not @0) @2 @3 @4 (view_convert:op_type @1) > > @6 @7)) > > #endif > > > > /* Detect cases in which a VEC_COND_EXPR effectively replaces the > > diff --git a/gcc/optabs.def b/gcc/optabs.def > > index 2ccbe4197b7..8d5ceeb8710 100644 > > --- a/gcc/optabs.def > > +++ b/gcc/optabs.def > > @@ -282,6 +282,7 @@ OPTAB_D (cond_len_fnma_optab, "cond_len_fnma$a") > > OPTAB_D (cond_len_fnms_optab, "cond_len_fnms$a") > > OPTAB_D (cond_len_neg_optab, "cond_len_neg$a") > > OPTAB_D (cond_len_one_cmpl_optab, "cond_len_one_cmpl$a") > > +OPTAB_D (vcond_mask_len_optab, "vcond_mask_len_$a") > > OPTAB_D (cmov_optab, "cmov$a6") > > OPTAB_D (cstore_optab, "cstore$a4") > > OPTAB_D (ctrap_optab, "ctrap$a4") > > diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-arith-2.c > > b/gcc/testsuite/gcc.dg/vect/vect-cond-arith-2.c > > index 7e165977e2b..7b3d73acb88 100644 > > --- a/gcc/testsuite/gcc.dg/vect/vect-cond-arith-2.c > > +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-arith-2.c > > @@ -1,5 +1,6 @@ > > /* { dg-do compile } */ > > /* { dg-additional-options "-fgimple -fdump-tree-optimized -ffast-math" } > > */ > > +/* { dg-additional-options "-fno-vect-cost-model" { target { riscv_v } } } > > */ > > > > double __GIMPLE (ssa, startwith("loop")) > > neg_xi (double *x) > -- 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] [doc] middle-end/112296 - __builtin_constant_p and side-effects

2023-11-05 Thread Richard Biener
On Fri, 3 Nov 2023, Joseph Myers wrote: > On Fri, 3 Nov 2023, Richard Biener wrote: > > > The following tries to clarify the __builtin_constant_p documentation, > > stating that the argument expression is not evaluated and side-effects > > are discarded. I'm struggl

Re: [RFC] vect: disable multiple calls of poly simdclones

2023-11-05 Thread Richard Biener
On Fri, 3 Nov 2023, Andre Vieira (lists) wrote: > Hi, > > The current codegen code to support VF's that are multiples of a simdclone > simdlen rely on BIT_FIELD_REF to create multiple input vectors. This does not > work for non-constant simdclones, so we should disable using such clones when > t

[PATCH] tree-optimization/112369 - strip_float_extensions and vectors

2023-11-06 Thread Richard Biener
The following fixes an error in strip_float_extensions when facing vector conversions. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/112369 * tree.cc (strip_float_extensions): Use element_precision. * gcc.dg/pr112369.c: New testcase. --

Re: [RFC] vect: disable multiple calls of poly simdclones

2023-11-06 Thread Richard Biener
On Mon, 6 Nov 2023, Andrew Stubbs wrote: > > > On 06/11/2023 07:52, Richard Biener wrote: > > On Fri, 3 Nov 2023, Andre Vieira (lists) wrote: > > > >> Hi, > >> > >> The current codegen code to support VF's that are multiples of a simdclone

[PATCH] libstdc++/112351 - deal with __gthread_once failure during locale init

2023-11-06 Thread Richard Biener
The following makes the C++98 locale init path follow the way the C++11 performs initialization. This way we deal with pthread_once failing, falling back to non-threadsafe initialization which, given we initialize from the library, should be serialized by the dynamic loader already. Bootstrapped

Re: [PATCH] libstdc++/112351 - deal with __gthread_once failure during locale init

2023-11-06 Thread Richard Biener
On Mon, 6 Nov 2023, Jonathan Wakely wrote: > On Mon, 6 Nov 2023 at 11:52, Richard Biener wrote: > > > > The following makes the C++98 locale init path follow the way the > > C++11 performs initialization. This way we deal with pthread_once > > failing, fal

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