On Tue, 25 Apr 2023, Jan Hubicka wrote:
> > On 25 April 2023 17:12:50 CEST, Jan Hubicka via Gcc-patches
> > wrote:
> >
> > + fprintf (stderr, "Bingo\n");
> >
> > You forgot to remove that..
> > Do we prune Bingo in the testsuite? ;-)
> Ah, thanks :)
> I was curious how much I win with unl
Similar like WIDEN FLOAT_EXPR, when direct_optab is not existed, try
intermediate integer type whenever gimple ranger can tell it's safe.
.i.e.
When there's no direct optab for vector long long -> vector float, but
the value range of integer can be represented as int, try vector int
-> vector floa
On Tue, 25 Apr 2023, Richard Sandiford wrote:
> juzhe.zh...@rivai.ai writes:
> > diff --git a/gcc/tree-ssa-loop-manip.cc b/gcc/tree-ssa-loop-manip.cc
> > index a52277abdbf..54845a62298 100644
> > --- a/gcc/tree-ssa-loop-manip.cc
> > +++ b/gcc/tree-ssa-loop-manip.cc
> > @@ -59,14 +59,14 @@ static b
Richard Biener writes:
> On Tue, 25 Apr 2023, Richard Sandiford wrote:
>> juzhe.zh...@rivai.ai writes:
>> > diff --git a/gcc/tree-ssa-loop-manip.cc b/gcc/tree-ssa-loop-manip.cc
>> > index a52277abdbf..54845a62298 100644
>> > --- a/gcc/tree-ssa-loop-manip.cc
>> > +++ b/gcc/tree-ssa-loop-manip.cc
>>
"juzhe.zh...@rivai.ai" writes:
> Thanks Richard so much.
>
>>> I don't think that's guaranteed by the proposed definition of WHILE_LEN.
>>> The first int64_t WHILE_LEN could come up short, and return something
>>> less than VF/2.
>
> I am so sorry that the comments of vect_set_loop_controls_by_whi
On Wed, 26 Apr 2023, juzhe.zh...@rivai.ai wrote:
> From: Juzhe-Zhong
>
> This patch address all comments from Richard && Bernhard.
> Fix all codes following their comments:
>
> 1. Remove ifn-specific handling of WHILE_LEN, so there is no change
>in internal-fn.cc in this patch.
>
> 2. Add
In a test run I have asserted that the legacy conditional folding only
gets overflows, so this removal is safe.
gcc/ChangeLog:
* vr-values.cc (get_vr_for_comparison): Remove.
(compare_name_with_value): Same.
(vrp_evaluate_conditional_warnv_with_ops): Remove calls to
gcc/ChangeLog:
* gimple-array-bounds.cc (array_bounds_checker::get_value_range):
Add irange argument.
(check_out_of_bounds_and_warn): Remove check for vr.
(array_bounds_checker::check_array_ref): Remove pointer qualifier
for vr and adjust accordingly.
gcc/ChangeLog:
* ipa-cp.cc (ipa_vr_operation_and_type_effects): Convert to ranger API.
(ipa_value_range_from_jfunc): Same.
(propagate_vr_across_jump_function): Same.
* ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same.
* ipa-prop.cc (ipa_compute_ju
gcc/ChangeLog:
* tree-vrp.cc (supported_types_p): Remove.
(defined_ranges_p): Remove.
(range_fold_binary_expr): Remove.
(range_fold_unary_expr): Remove.
* tree-vrp.h (range_fold_unary_expr): Remove.
(range_fold_binary_expr): Remove.
---
gcc/tree-vrp
gcc/ChangeLog:
* vr-values.cc
(simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops):
Rename to...
(simplify_using_ranges::legacy_fold_cond_overflow): ...this.
(simplify_using_ranges::vrp_visit_cond_stmt): Rename to...
(simplify_using_range
gcc/ChangeLog:
* value-range.cc (irange::copy_legacy_to_multi_range): Remove
symbolics support.
(irange::set): Same.
(irange::legacy_lower_bound): Same.
(irange::legacy_upper_bound): Same.
(irange::contains_p): Same.
(range_tests_legacy): Sam
The deprecated irange::may_contain_p method differed from contains_p
in that it could handle symbolics, which no longer exist in VRP.
gcc/ChangeLog:
* value-range.cc (irange::may_contain_p): Remove.
* value-range.h (range_includes_zero_p): Rewrite may_contain_p
usage with
gcc/ChangeLog:
* value-range-pretty-print.cc (vrange_printer::visit): Remove
constant_p use.
* value-range.cc (irange::constant_p): Remove.
(irange::get_nonzero_bits_from_range): Remove constant_p use.
* value-range.h (class irange): Remove constant_p.
This patch converts the users of the legacy API to a function called
get_legacy_range() which will return the pieces of the soon to be
removed API (min, max, and kind). This is a temporary measure while
these users are converted.
In upcoming patches I will convert most users, but most of the
midd
Thank you so much for pointing out this issue.
After reading your comments carefully, I need to revise
"vect_set_loop_controls_by_while_len" in loop control like this:
vect_set_loop_controls_by_while_len
...
tree X = NULL_TREE;
FOR_EACH_VEC_ELT (rgc->controls, i, ctrl)
...
if (i == 0) {
X =
Hi,
This patch fixes PR 105523 by setting param_min_pagesize to 0 for the
avr target. For this target, zero and offsets from zero are perfectly
valid addresses, and the default value of param_min_pagesize ends up
triggering warnings on valid memory accesses.
Ok for trunk and backporting to 13 and
Oh, I see。 I just checked the codes again.
I think I can't do it directly in the vect_set_loop_controls_by_while_len
Instead, I should do something like this for length:
/* First try using permutes. This adds a single vector
instruction to the loop for each mask, but needs no e
"juzhe.zh...@rivai.ai" writes:
> Thank you so much for pointing out this issue.
>
> After reading your comments carefully, I need to revise
> "vect_set_loop_controls_by_while_len" in loop control like this:
>
> vect_set_loop_controls_by_while_len
> ...
> tree X = NULL_TREE;
> FOR_EACH_VEC_ELT
> probably also helps PR109612 and the other similar PR referenced therein.
Here's a more aggressive patch in this area, but it regresses guality tests,
for example:
+FAIL: gcc.dg/guality/ipa-sra-1.c -O2 -DPREVENT_OPTIMIZATION line 27 k ==
3
+FAIL: gcc.dg/guality/ipa-sra-1.c -O3 -g -DPRE
Hi Jeff,
on 2023/1/4 14:51, Jiufu Guo wrote:
> Hi,
>
> Compare with previous version, this patch updates the comments only.
> https://gcc.gnu.org/pipermail/gcc-patches/2022-December/608293.html
>
> For a complicate 64bit constant, below is one instruction-sequence to
> build:
> lis 9,0x800
On Wed, Apr 26, 2023 at 11:01 AM SenthilKumar.Selvaraj--- via
Gcc-patches wrote:
>
> Hi,
>
> This patch fixes PR 105523 by setting param_min_pagesize to 0 for the
> avr target. For this target, zero and offsets from zero are perfectly
> valid addresses, and the default value of param_min_pagesize
On Wed, Apr 26, 2023 at 11:42 AM Richard Biener
wrote:
>
> On Wed, Apr 26, 2023 at 11:01 AM SenthilKumar.Selvaraj--- via
> Gcc-patches wrote:
> >
> > Hi,
> >
> > This patch fixes PR 105523 by setting param_min_pagesize to 0 for the
> > avr target. For this target, zero and offsets from zero are p
On Wed, Apr 26, 2023 at 11:31 AM Eric Botcazou wrote:
>
> > probably also helps PR109612 and the other similar PR referenced therein.
>
> Here's a more aggressive patch in this area, but it regresses guality tests,
> for example:
>
> +FAIL: gcc.dg/guality/ipa-sra-1.c -O2 -DPREVENT_OPTIMIZATION
Hi, ruoyao:
The performance of spec2006 is finished. The fixed-point
400.perlbench has about 3% performance improvement,
and the other basics have not changed, and the floating-point tests have
basically remained the same.
Do you have any questions about the test cases mentioned
On 2023/4/26 17:53, Lulu Cheng wrote:
Hi, ruoyao:
The performance of spec2006 is finished. The fixed-point
400.perlbench has about 3% performance improvement,
and the other basics have not changed, and the floating-point tests
have basically remained the same.
Nice to know!
Hi, Richard.
Would you mind take a look at the loop control part again:
static gcond *
vect_set_loop_condition_partial_vectors (class loop *loop,
loop_vec_info loop_vinfo, tree niters,
tree final_iv, bool niters_maybe_zero,
gimple_stmt_iterator loop_cond_gsi)
...
tree loop_len_x = NULL_TREE;
FOR
在 2023/4/26 下午6:02, WANG Xuerui 写道:
On 2023/4/26 17:53, Lulu Cheng wrote:
Hi, ruoyao:
The performance of spec2006 is finished. The fixed-point
400.perlbench has about 3% performance improvement,
and the other basics have not changed, and the floating-point tests
have basically rema
On 2023/4/26 18:14, Lulu Cheng wrote:
在 2023/4/26 下午6:02, WANG Xuerui 写道:
On 2023/4/26 17:53, Lulu Cheng wrote:
Hi, ruoyao:
The performance of spec2006 is finished. The fixed-point
400.perlbench has about 3% performance improvement,
and the other basics have not changed, and the flo
> > - if (precise)
> > + if (precise
> > + && get_max_loop_iterations_int (loop) == 1)
> > + {
> > + if (dump_file && (dump_flags & TDF_DETAILS))
> > + fprintf (dump_file, "Loop %d no longer loops.\n", loop->num);
>
> but max loop iterations is 1 ...?
I first check for l
On Wed, Apr 26, 2023 at 3:15 PM Richard Biener via Gcc-patches
wrote:
>
> On Wed, Apr 26, 2023 at 11:42 AM Richard Biener
> wrote:
> >
> > On Wed, Apr 26, 2023 at 11:01 AM SenthilKumar.Selvaraj--- via
> > Gcc-patches wrote:
> > >
> > > Hi,
> > >
> > > This patch fixes PR 105523 by setting param
The legacy range code has logic to swap out of order endpoints in the
irange constructor. The new irange code expects the caller to fix any
inconsistencies, thus speeding up the common case. However, this means
that when we remove legacy, any stragglers must be fixed. This patch
fixes the 3 culp
This causes a regression in gcc.c-torture/unsorted/dump-noaddr.c.
The test is asserting that two dumps are identical, but they are not
because irange dumps the type which varies between runs:
< VR [irange] void (*) (int) [1, +INF]
> VR [irange] vo
gcc/ChangeLog:
* builtins.cc (expand_builtin_strnlen): Rewrite deprecated irange
API uses to new API.
* gimple-predicate-analysis.cc (find_var_cmp_const): Same.
* internal-fn.cc (get_min_precision): Same.
* match.pd: Same.
* tree-affine.cc (expr_to_a
This patch removes all the code paths guarded by legacy_mode_p(), thus
allowing us to re-use the int_range<1> idiom for a range of one
sub-range. This allows us to represent these simple ranges in a more
efficient manner.
gcc/ChangeLog:
* range-op.cc (range_op_cast_tests): Remove legacy
gcc/ChangeLog:
* tree-data-ref.cc (compute_distributive_range): Replace uses of
range_int_cst_p with irange API.
* tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.
* tree-vrp.h (range_int_cst_p): Delete.
* vr-values.cc (check_for_binary_op_overflow): Rep
gcc/ChangeLog:
* value-range.cc (irange::copy_legacy_to_multi_range): Rewrite use
of range_has_numeric_bounds_p with irange API.
(range_has_numeric_bounds_p): Delete.
* value-range.h (range_has_numeric_bounds_p): Delete.
---
gcc/value-range.cc | 12 +++-
gc
gcc/ChangeLog:
* tree-ssa-strlen.cc (compare_nonzero_chars): Convert to wide_ints.
---
gcc/tree-ssa-strlen.cc | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/gcc/tree-ssa-strlen.cc b/gcc/tree-ssa-strlen.cc
index 0bbcb04834f..de785281b27 100644
--- a/gcc/tree-ss
"juzhe.zh...@rivai.ai" writes:
> Hi, Richard.
> Would you mind take a look at the loop control part again:
>
> static gcond *
> vect_set_loop_condition_partial_vectors (class loop *loop,
> loop_vec_info loop_vinfo, tree niters,
> tree final_iv, bool niters_maybe_zero,
> gimple_stmt_iterator loop_c
From: Pan Li
This patch try to legitimise the const0_rtx (aka zero register)
as the base register for the RVV load/store instructions.
For example:
vint32m1_t test_vle32_v_i32m1_shortcut (size_t vl)
{
return __riscv_vle32_v_i32m1 ((int32_t *)0, vl);
}
Before this patch:
li a5,0
vsetvli z
From: Yanzhang Wang
PR 109617
gcc/ChangeLog:
* config/riscv/vector-iterators.md:
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vlmul_ext-1.c: New test.
Signed-off-by: Yanzhang Wang
Co-authored-by: Pan Li
---
gcc/config/riscv/vector-iterators.md
On Wed, 26 Apr 2023, Jan Hubicka wrote:
> > > - if (precise)
> > > + if (precise
> > > + && get_max_loop_iterations_int (loop) == 1)
> > > + {
> > > + if (dump_file && (dump_flags & TDF_DETAILS))
> > > + fprintf (dump_file, "Loop %d no longer loops.\n", loop->num);
> >
> > but m
On Wed, Apr 26, 2023 at 12:56 PM wrote:
>
> On Wed, Apr 26, 2023 at 3:15 PM Richard Biener via Gcc-patches
> wrote:
> >
> > On Wed, Apr 26, 2023 at 11:42 AM Richard Biener
> > wrote:
> > >
> > > On Wed, Apr 26, 2023 at 11:01 AM SenthilKumar.Selvaraj--- via
> > > Gcc-patches wrote:
> > > >
> >
Great! Thanks yanzhang.
Could you please help to add some text about the changes below? Or kito may
meet some error by git hook when commit the PATCH.
gcc/ChangeLog:
* config/riscv/vector-iterators.md: <- add text for change.
gcc/testsuite/ChangeLog:
*
From: Yanzhang Wang
This patch adds support to check function's argument or return is vector type
and throw warning if yes.
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_scalable_vector_type_p):
(riscv_arg_has_vector):
(riscv_pass_in_vector_p):
(riscv_get_arg_inf
Does this look OK for wwwdocs?
---
htdocs/gcc-13/changes.html | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html
index 7b64b2e5..191d0a4d 100644
--- a/htdocs/gcc-13/changes.html
+++ b/htdocs/gcc-13/changes.html
On Wed, 26 Apr 2023 at 13:52, Patrick Palka via Libstdc++ <
libstd...@gcc.gnu.org> wrote:
> Does this look OK for wwwdocs?
>
> ---
> htdocs/gcc-13/changes.html | 12 +++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.
> gcc/ChangeLog:
>
> * config/riscv/riscv.cc (riscv_scalable_vector_type_p):
> (riscv_arg_has_vector):
> (riscv_pass_in_vector_p):
> (riscv_get_arg_info):
You need to write something for changelog...:P
From: Yanzhang Wang
PR 109617
gcc/ChangeLog:
* config/riscv/vector-iterators.md: Support VNx2HI and VNX4DI when
MIN_VLEN >= 128.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vlmul_ext-1.c: New test.
Signed-off-by: Yanzhang Wang
Co-authored-by: Pan Li
---
g
LGTM, pushed to trunk
> This patch try to legitimise the const0_rtx (aka zero register)
> as the base register for the RVV load/store instructions.
>
> For example:
> vint32m1_t test_vle32_v_i32m1_shortcut (size_t vl)
> {
> return __riscv_vle32_v_i32m1 ((int32_t *)0, vl);
> }
The example is kin
On Wed, 2023-04-26 at 17:53 +0800, Lulu Cheng wrote:
> Hi, ruoyao:
>
> The performance of spec2006 is finished. The fixed-point
> 400.perlbench has about 3% performance improvement,
>
> and the other basics have not changed, and the floating-point tests
> have
> basically remained the sa
Thanks Kito. It comes from some experience of Ju-Zhe for auto vectorization in
previous.
Pan
-Original Message-
From: Kito Cheng
Sent: Wednesday, April 26, 2023 9:24 PM
To: Li, Pan2
Cc: gcc-patches@gcc.gnu.org; juzhe.zh...@rivai.ai; kito.ch...@sifive.com; Wang,
Yanzhang
Subject: Re:
On 11/15/22 16:47, Martin Liška wrote:
> Hi.
>
> I've just pushed libsanitizer update that was tested on x86_64-linux and
> ppc64le-linux systems.
> Moreover, I run bootstrap on x86_64-linux and checked ABI difference with
> abidiff.
Hello.
And I've done the same now and merged upstream versio
Hi all,
This patch reimplements the backend patterns for the rshrn intrinsics using
standard RTL codes rather than UNSPECS.
We already represent shrn as truncate of a shift. rshrn can be represented as
truncate (src + (1 << (shft - 1)) >> shft),
similar to how LLVM treats it.
I have a follow-up
Hi all,
Similar to the previous patch, we can reimplement the rshrn2 patterns using
standard RTL codes
for shift, truncate and plus with the appropriate constants.
This allows us to get rid of UNSPEC_RSHRN entirely.
Bootstrapped and tested on aarch64-none-linux-gnu.
Pushing to trunk.
Thanks,
Ky
Hi!
As has been discussed before, the following patch adds target hook
for math library function maximum errors measured in ulps.
The default is to return ~0U which is a magic maximum value which means
nothing is known about precision of the match function.
The first argument is unsigned int beca
On 4/25/23 08:50, Jan Beulich via Gcc-patches wrote:
RISC-V will emit ".option nopic" when -fno-pie is in effect, which
matches the generic pattern. Just like done for Alpha, special-case
RISC-V.
---
A couple more targets look to be affected as well, simply because their
"no-operation" insn do
On Wed, 26 Apr 2023 08:26:26 PDT (-0700), gcc-patches@gcc.gnu.org wrote:
On 4/25/23 08:50, Jan Beulich via Gcc-patches wrote:
RISC-V will emit ".option nopic" when -fno-pie is in effect, which
matches the generic pattern. Just like done for Alpha, special-case
RISC-V.
---
A couple more targets
2023-04-26 Patrick O'Neill
* MAINTAINERS: Add myself.
Signed-off-by: Patrick O'Neill
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index d2188c3275a..169418d44f7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -578,6 +578,7 @@ Dorit Nuzman
On Wed, 26 Apr 2023 09:07:05 PDT (-0700), Patrick O'Neill wrote:
2023-04-26 Patrick O'Neill
* MAINTAINERS: Add myself.
Signed-off-by: Patrick O'Neill
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index d2188c3275a..169418d44f7 100644
--
Hello,
On Wed, 26 Apr 2023, Jakub Jelinek via Gcc-patches wrote:
> For glibc I've gathered data from:
> 4) using attached ulp-tester.c (how to invoke in file comment; tested
>both x86_64, ppc64, ppc64le 50M pseudo-random values in all 4 rounding
>modes, plus on x86_64 float/double sin/cos
On 4/26/23 09:08, Palmer Dabbelt wrote:
On Wed, 26 Apr 2023 09:07:05 PDT (-0700), Patrick O'Neill wrote:
2023-04-26 Patrick O'Neill
* MAINTAINERS: Add myself.
Signed-off-by: Patrick O'Neill
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
in
As suggested here:
https://gcc.gnu.org/pipermail/gcc/2023-April/241190.html
OK for trunk?
-- >8 --
gcc/ChangeLog:
* doc/extend.texi (Zero Length): Describe example.
---
gcc/doc/extend.texi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
I posted a version of patch on March 21st, a second version on March 24th, and
the third version on March 28th.
The V4 patch just adds a new condition to the new test case. Previously, I was
using 'powerpc_prefixed_addr' to determine whether the GCC compiler would
automatically generate prefixed
This adds a note about iostream usage so it does not catch others
in surpise like it has already.
OK?
---
htdocs/gcc-13/changes.html | 5 +
1 file changed, 5 insertions(+)
diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html
index 70732ec0..7c83f7c4 100644
--- a/htdocs/gcc-13
Committed - I had to reformat the changelog so it would push and resolve a
trivial merge conflict in riscv.opt.
---
RISC-V has no support for subword atomic operations; code currently
generates libatomic library calls.
This patch changes the default behavior to inline subword atomic calls
(using
Hi Michael,
I have the diff below for the binops in my tree locally.
Maybe something like this works for you? Untested but compiles and
the expander helpers would need to be fortified obviously.
Regards
Robin
--
gcc/ChangeLog:
* config/riscv/autovec.md (3): New binops expander.
* Martin Liška:
> On 11/15/22 16:47, Martin Liška wrote:
>> Hi.
>>
>> I've just pushed libsanitizer update that was tested on x86_64-linux and
>> ppc64le-linux systems.
>> Moreover, I run bootstrap on x86_64-linux and checked ABI difference with
>> abidiff.
>
> Hello.
>
> And I've done the same
On 26/04/23 09:53 -0700, Andrew Pinski wrote:
This adds a note about iostream usage so it does not catch others
in surpise like it has already.
OK?
Thanks, I agree we should add something, but have some comments below.
---
htdocs/gcc-13/changes.html | 5 +
1 file changed, 5 insertions(+)
On Wed, Apr 26, 2023 at 12:07 PM Jonathan Wakely via Gcc-patches
wrote:
>
> On 26/04/23 09:53 -0700, Andrew Pinski wrote:
> >This adds a note about iostream usage so it does not catch others
> >in surpise like it has already.
> >
> >OK?
>
> Thanks, I agree we should add something, but have some co
On Wed, Apr 26, 2023 at 6:52 AM Martin Liška wrote:
>
> On 11/15/22 16:47, Martin Liška wrote:
> > Hi.
> >
> > I've just pushed libsanitizer update that was tested on x86_64-linux and
> > ppc64le-linux systems.
> > Moreover, I run bootstrap on x86_64-linux and checked ABI difference with
> > abi
On 4/25/23 22:34, Jeff Law wrote:
On 4/24/23 07:51, Andrew MacLeod wrote:
Its not a real cache.. its merely a statement shortcut in dependency
analysis to avoid re-parsing statements every time we look at them
for dependency analysis
It is not suppose to be used for anything other than
If either of the SSA names in a comparison do not have any equivalences
or relations, we can short-circuit the check slightly and be a bit faster.
Bootstrapped on x86_64-pc-linux-gnu with no regressions. Pushed.
Andrew
From ee03aca78fb5739f4cd76cb30332f8aff2c5243a Mon Sep 17 00:00:00 2001
From
This implements a sparse vector class for rangers cache and uses it bey
default except when the CFG is very small, in qhich case the original
full vectors are faster. It works like a normal vector cache (in fact
it inherits from it), but uses a sparse bitmap to determine whether a
vector eleme
Sparsely used ssa caches can benefit from using a bitmap to determine if
a name already has an entry. The path_query class was already managing
something like this internally, but there is benefit to making it
generally available.
ssa_lazy_cache inherits from ssa_cache and adds management of
The original ssa_global_cache was intended to simply be the global cache
for ranger, but uses of it have since percolated such that it is really
just a range acche for a list of ssa-names. This patch renames it from
"ssa_global_cache" to "ssa_cache".
It also adds a method called "has_range" wh
On Thu, Sep 1, 2022 at 2:40 PM Jason Merrill wrote:
>
> On 8/31/22 17:15, Patrick Palka wrote:
> > This introduces an early exit test to most_specialized_partial_spec for
> > the common case where we have no partial specializations, which allows
> > us to avoid some unnecessary work. In passing,
On 26 April 2023 20:31:10 CEST, Florian Weimer via Fortran
wrote:
>* Martin Liška:
>
>> On 11/15/22 16:47, Martin Liška wrote:
>>> Hi.
>>>
>>> I've just pushed libsanitizer update that was tested on x86_64-linux and
>>> ppc64le-linux systems.
>>> Moreover, I run bootstrap on x86_64-linux and ch
On 4/26/23 21:23, H.J. Lu wrote:
> On Wed, Apr 26, 2023 at 6:52 AM Martin Liška wrote:
>>
>> On 11/15/22 16:47, Martin Liška wrote:
>>> Hi.
>>>
>>> I've just pushed libsanitizer update that was tested on x86_64-linux and
>>> ppc64le-linux systems.
>>> Moreover, I run bootstrap on x86_64-linux and
On 4/26/23 20:31, Florian Weimer wrote:
> * Martin Liška:
>
>> On 11/15/22 16:47, Martin Liška wrote:
>>> Hi.
>>>
>>> I've just pushed libsanitizer update that was tested on x86_64-linux and
>>> ppc64le-linux systems.
>>> Moreover, I run bootstrap on x86_64-linux and checked ABI difference with
This patch fixes whitespace errors introduced with
https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616807.html
2023-04-26 Patrick O'Neill
gcc/ChangeLog:
* config/riscv/riscv.cc: Fix whitespace.
* config/riscv/sync.md: Fix whitespace.
Signed-off-by: Patrick O'Neill
---
Pat
On Apr 26 2023, Patrick O'Neill wrote:
> @@ -290,10 +290,10 @@
>[(set (match_operand:GPR 0 "register_operand" "=&r")
> (match_operand:GPR 1 "memory_operand" "+A"))
> (set (match_dup 1)
> - (unspec_volatile:GPR [(match_operand:GPR 2 "reg_or_0_operand" "rJ")
> -
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
Normally we re-instantiate a function declaration when we start to
instantiate the body in case of multiple declarations. In this wacky
testcase, this causes a problem because the type of the w_counter parameter
depends on its declaration n
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
The earlier fix for PR109241 avoided the crash by handling a type with no
TREE_BINFO. But we want to move toward doing the partial substitution of
classes in generic lambdas, so let's take a step in that direction.
PR c++/109241
g
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
It occurred to me that we have a perfectly good DECL_INITIAL field to put
the instantiated DMI into, we don't need a separate hash table.
gcc/cp/ChangeLog:
* init.cc (nsdmi_inst): Remove.
(maybe_instantiate_nsdmi_init): Use
This patch fixes whitespace errors introduced with
https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616807.html
2023-04-26 Patrick O'Neill
gcc/ChangeLog:
* config/riscv/riscv.cc: Fix whitespace.
* config/riscv/sync.md: Fix whitespace.
Signed-off-by: Patrick O'Neill
---
Pat
On 26 April 2023 23:10:01 CEST, Andreas Schwab wrote:
>On Apr 26 2023, Patrick O'Neill wrote:
>
>> @@ -290,10 +290,10 @@
>>[(set (match_operand:GPR 0 "register_operand" "=&r")
>> (match_operand:GPR 1 "memory_operand" "+A"))
>> (set (match_dup 1)
>> -(unspec_volatile:GPR [(match_op
2023-04-24 Michael Collison
Juzhe Zhong
* config/riscv/riscv-protos.h
(riscv_vector_preferred_simd_mode): New.
(riscv_vector_mask_mode_p): Ditto.
(riscv_vector_get_mask_mode): Ditto.
(emit_vlmax_vsetvl): Ditto.
(get_mask_policy_no_pr
2023-04-25 Michael Collison
Juzhe Zhong
* config/riscv/riscv.md (riscv_vector_preferred_simd_mode): Include
vector-iterators.md.
* config/riscv/vector-auto.md: New file containing
autovectorization patterns.
* config/riscv/vector.md: Remove
2023-03-02 Michael Collison
Vineet Gupta
* gcc.target/riscv/rvv/autovec: New directory
for autovectorization tests.
* gcc.target/riscv/rvv/autovec/loop-add-rv32.c: New
test to verify code generation of vector add on rv32.
* gcc.target/riscv/r
This series of patches adds foundational support for RISC-V auto-vectorization
support. These patches are based on the current upstream rvv vector intrinsic
support and is not a new implementation. Most of the implementation consists of
adding the new vector cost model, the autovectorization pat
On 26 April 2023 23:21:06 CEST, Patrick O'Neill wrote:
>This patch fixes whitespace errors introduced with
>https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616807.html
>
>2023-04-26 Patrick O'Neill
>
>gcc/ChangeLog:
>
> * config/riscv/riscv.cc: Fix whitespace.
> * config/riscv/sy
2023-04-05 Michael Collison
* gcc.target/riscv/rvv/autovec/loop-and-rv32.c: New
test to verify code generation of vector "and" on rv32.
* gcc.target/riscv/rvv/autovec/loop-and.c: New
test to verify code generation of vector "and" on rv64.
* gcc.target/ris
From: Kevin Lee
Kevin Lee
gcc/ChangeLog:
* tree-vect-data-refs.cc (vect_grouped_store_supported): Add new
condition
---
gcc/tree-vect-data-refs.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
index 8daf7bd7dd3..df393ba723
2023-04-24 Michael Collison
Juzhe Zhong
* config/riscv/riscv-v.cc
(riscv_vector_preferred_simd_mode): New function.
(get_mask_policy_no_pred): Ditto.
(get_tail_policy_no_pred): Ditto.
(riscv_vector_mask_mode_p): Ditto.
(riscv_vector_
From: Kevin Lee
2023-04-14 Kevin Lee
gcc/testsuite/ChangeLog:
* config/riscv/riscv.cc (riscv_autovectorize_vector_modes): Add
new vector mode
* gcc.target/riscv/rvv/autovec/loop-add-rv32.c: Support 8bit
type
* gcc.target/riscv/rvv/autovec/loop-add.c: Ditto
* gcc.
2023-03-02 Michael Collison
Juzhe Zhong
* config/riscv/riscv-vector-builtins.cc (get_tail_policy_for_pred):
Remove static declaration to to make externally visible.
(get_mask_policy_for_pred): Ditto.
* config/riscv/riscv-vector-builtins.h (get_tail_
While working on autovectorizing for the RISCV port I encountered an issue
where can_duplicate_and_interleave_p assumes that GET_MODE_NUNITS is a
evenly divisible by two. The RISC-V target has vector modes (e.g. VNx1DImode),
where GET_MODE_NUNITS is equal to one.
Tested on RISCV and x86_64-linux-g
2023-04-24 Michael Collison
Juzhe Zhong
* config/riscv/riscv.cc
(riscv_estimated_poly_value): Implement
TARGET_ESTIMATED_POLY_VALUE.
(riscv_preferred_simd_mode): Implement
TARGET_VECTORIZE_PREFERRED_SIMD_MODE.
(riscv_autovectorize_ve
On 4/26/23 14:45, Bernhard Reutner-Fischer wrote:
On 26 April 2023 23:21:06 CEST, Patrick O'Neill wrote:
This patch fixes whitespace errors introduced with
https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616807.html
2023-04-26 Patrick O'Neill
gcc/ChangeLog:
* config/riscv/risc
1 - 100 of 115 matches
Mail list logo