Revert due to performace regression.
This reverts commit 8f323c712ea76cc4506b03895e9b991e4e4b2baf.
PR target/102473
PR target/101059
---
gcc/config/i386/sse.md| 39 ++-
gcc/testsuite/gcc.target/i386/sse2-pr101059.c | 32 ---
gcc/tests
Hi!
On 2021-09-24T11:34:34+0100, Andrew Burgess wrote:
> The V2 patch below:
>
> - Moves the check for gcc/ to much later in the configure script,
> after we've finished building target_configdirs,
>
> - Makes use of skipdirs to avoid building anything from
> target_configdirs if we'r
On Sun, Sep 26, 2021 at 12:00 PM apinski--- via Gcc-patches
wrote:
>
> From: Andrew Pinski
>
> The problem here is __builtin_shuffle when called with two arguments
> instead of 1, uses a SAVE_EXPR to put in for the 1st and 2nd operand
> of VEC_PERM_EXPR and when we go and gimplify the SAVE_EXPR,
On Mon, 27 Sep 2021, Richard Biener wrote:
> On Fri, 24 Sep 2021, Richard Sandiford wrote:
>
> > Richard Biener writes:
> > > This allows vectorization (in practice non-loop vectorization) to
> > > have a stmt participate in different vector type vectorizations.
> > > It allows us to remove vect
On Fri, Sep 24, 2021 at 12:34 PM Andrew Burgess
wrote:
>
> * Thomas Schwinge [2021-09-23 11:29:05 +0200]:
>
> > Hi!
> >
> > I only had a curious look here; hope that's still useful.
> >
> > On 2021-09-22T16:30:42+0100, Andrew Burgess
> > wrote:
> > > The top-level configure script is shared bet
Hi:
Add expanders for reduc_{smin,smax,plus}_scal_{v8hf,v16hf,v32hf}
Bootstrapped and regtest on x86_64-pc-linux-gnu{-m32,}
gcc/ChangeLog:
* config/i386/i386-expand.c (emit_reduc_half): Handle
V8HF/V16HF/V32HFmode.
* config/i386/sse.md (REDUC_SSE_PLUS_MODE): Add V8HF
On Fri, Sep 24, 2021 at 9:08 PM Segher Boessenkool
wrote:
>
> On Mon, Sep 13, 2021 at 04:24:13PM +0200, Richard Biener wrote:
> > On Mon, Sep 13, 2021 at 4:10 PM Jeff Law via Gcc-patches
> > wrote:
> > > I'm not convinced that we need the inner mode to match anything. As
> > > long as the vec_co
DOM is the last remaining user of the evrp engine. This patch converts
a few uses of the engine and vr-values into the new API.
There is one subtle change. The call to vr_value's
op_with_constant_singleton_value_range can theoretically return
non-constants, unlike the range_query API which only
The function ssa_name_has_boolean_range looks at the nonzero bits stored
in SSA_NAME_RANGE_INFO. These are global in nature and are the result
of a previous evrp/VRP run (technically other passes can also set them).
However, we can do better if we use get_range_query. Doing so will use
a ranger
Hi Uros,
This patch intends to support V4HF/V2HF vector type and basic operations.
For 32bit target, V4HF vector is parsed same as __m64 type, V2HF
is parsed by stack and returned from GPR since it is not specified
by ABI.
We found for 64bit vector in ia32, when mmx disabled there seems no
mov_i
Hi all,
I now use the type based on the specification of the intrinsic
instead of type based on formal argument.
I use signed Int vector types because the outputs of the neon builtins
that I am lowering is always signed. In addition, fcode and stmt
does not have information on whether the result
Hi Kito,
On Thu, Sep 23, 2021 at 9:57 AM Kito Cheng wrote:
>
> 2021-09-23 Kito Cheng
>
> gcc/ChangeLog:
>
> * common/config/riscv/riscv-common.c (riscv_ext_version_table):
> Add zba, zbb, zbc and zbs.
> (riscv_ext_flag_table): Ditto.
> * config/riscv/riscv-opts.
Update due to file moved to libgcc/config/rs6000/ibm-ldouble-format
in commit aca0b0b315f6e5a0ee60981fd4b0cbc9a7f59096.
Signed-off-by: Vincent Lefevre
---
include/floatformat.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/floatformat.h b/include/floatformat.h
index
In case somebody wants to test this patchset, a patchset for Binutils
is required as well.
AFAIK here would be the Binutils branch with the required changes:
https://github.com/riscv-collab/riscv-binutils-gdb/tree/riscv-binutils-experiment
On Thu, Sep 23, 2021 at 9:57 AM Kito Cheng wrote:
>
> Bit
From: gengqi
gcc/ChangeLog:
* config/riscv/arch-canonicalize
(longext_sort): New function for sorting 'multi-letter'.
* config/riscv/multilib-generator: Skip to next loop when current
'alt' is 'arch'. The 'arch' may not be the first of 'alts'.
(_expand_comb
Sorry, I sent the wrong one.
-邮件原件-
发件人: Geng Qi [mailto:gen...@linux.alibaba.com]
发送时间: 2021年9月27日 19:25
收件人: gcc-patches@gcc.gnu.org; cooper...@linux.alibaba.com
抄送: gengqi
主题: [PATCH] RISC-V: The 'multilib-generator' enhancement.
From: gengqi
gcc/ChangeLog:
* config/riscv/a
On Mon, Sep 27, 2021 at 12:42 PM Hongyu Wang wrote:
>
> Hi Uros,
>
> This patch intends to support V4HF/V2HF vector type and basic operations.
>
> For 32bit target, V4HF vector is parsed same as __m64 type, V2HF
> is parsed by stack and returned from GPR since it is not specified
> by ABI.
>
> We
gcc/ChangeLog:
* config/riscv/riscv.md
(muldi3_highpart): Rename to muldi3_highpart.
(mulditi3): Emit muldi3_highpart.
(mulsi3_highpart): Rename to mulsi3_highpart.
(mulsidi3): Emit mulsi3_highpart.
---
gcc/config/riscv/riscv.md | 8
1 file changed
On Mon, 27 Sep 2021, Jirui Wu wrote:
> Hi all,
>
> I now use the type based on the specification of the intrinsic
> instead of type based on formal argument.
>
> I use signed Int vector types because the outputs of the neon builtins
> that I am lowering is always signed. In addition, fcode and
On Mon, Sep 27, 2021 at 11:42 AM Hongtao Liu wrote:
>
> On Fri, Sep 24, 2021 at 9:08 PM Segher Boessenkool
> wrote:
> >
> > On Mon, Sep 13, 2021 at 04:24:13PM +0200, Richard Biener wrote:
> > > On Mon, Sep 13, 2021 at 4:10 PM Jeff Law via Gcc-patches
> > > wrote:
> > > > I'm not convinced that w
Hi Thomas, hi Harald, hi all,
now committed r12-3897-g00f6de9c69119594f7dad3bd525937c94c8200d0
with the following changes:
* Removed now unused gfor_fndecl_size0/gfor_fndecl_size1 (trans{-decl.c,.h})
* Add a scan-dump-not check for those.
See below for some comments.
On 24.09.21 22:38, Thomas K
On 9/23/21 19:26, Martin Jambor wrote:
Hi,
The code handling various cases which lead to call graph edge
duplication (in order to update reference descriptions used to track
and remove no-longer needed references) has missed one important case.
When edge duplication is an effect of creating a s
On 27.09.21 14:07, Tobias Burnus wrote:
now committed r12-3897-g00f6de9c69119594f7dad3bd525937c94c8200d0
I accidentally changed dg-note to dg-message when updating the expected
output, as the dump has changed. (Copying seemingly the sorry line
instead of the dg-note lines as template.)
Changed
On Fri, Sep 24, 2021 at 1:26 PM liuhongt wrote:
>
> Hi:
> Related discussion in [1] and PR.
>
> Bootstrapped and regtest on x86_64-linux-gnu{-m32,}.
> Ok for trunk?
>
> [1] https://gcc.gnu.org/pipermail/gcc-patches/2021-July/574330.html
>
> gcc/ChangeLog:
>
> PR target/102464
>
This avoids asking type_for_size for types with sizes for which
no scalar integer mode exists. Instead the following uses
int_mode_for_size to get the same result.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
2021-09-27 Richard Biener
PR middle-end/102450
* gi
This avoids the last_vuse optimization hindering redundant store
elimination by always also recording the original VUSE that was
in effect on the load.
Bootstrapped and tested on x86_64-unknown-linux-gnu.
I'm still pondering on how to avoid the wastage of adding the ref
twice and will at least re
On Sun, Sep 26, 2021 at 10:38 PM Roger Sayle wrote:
>
>
> This patch is prototype proof-of-concept (and request for feedback)
> that touches the front-end, middle-end and backend. My recent patch to
> perform RTL constant folding of saturating arithmetic revealed how
> difficult it is to generate
> -Original Message-
> From: Gcc-patches bounces+kyrylo.tkachov=arm@gcc.gnu.org> On Behalf Of Jonathan
> Wright via Gcc-patches
> Sent: 24 September 2021 13:54
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Sandiford
> Subject: [PATCH] aarch64: Fix type qualifiers for qtbl1 and qtbx1
From: Thomas Rodgers
Now with checks for __has_builtin(__builtin_clear_padding)
This change implements P0528 which requires that padding bits not
participate in atomic compare exchange operations. All arguments to the
generic template are 'sanitized' by the __builtin_clearpadding intrisic
before
On Mon, Sep 27, 2021 at 3:08 PM Richard Biener via Gcc-patches
wrote:
>
> This avoids the last_vuse optimization hindering redundant store
> elimination by always also recording the original VUSE that was
> in effect on the load.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu.
>
> I'm sti
The problem here is ultimately that rewrite_tparm_list when rewriting a
TEMPLATE_TEMPLATE_PARM introduces a tree cycle in the rewritten
ttp that structural_comptypes can't cope with. In particular the
DECL_TEMPLATE_PARMS of a ttp's TEMPLATE_DECL normally captures an empty
parameter list at its own
On 9/27/2021 5:17 AM, Vincent Lefevre wrote:
Update due to file moved to libgcc/config/rs6000/ibm-ldouble-format
in commit aca0b0b315f6e5a0ee60981fd4b0cbc9a7f59096.
Signed-off-by: Vincent Lefevre
---
include/floatformat.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
THanks. Pus
Last year I mentioned that -fthread-jumps was being ignored by the
majority of our jump threading passes, and Jeff said he'd be in favor
of fixing this.
This patch remedies the situation, but it does change existing behavior.
Currently -fthread-jumps is only enabled for -O2, -O3, and -Os. This
me
On 9/24/2021 9:46 AM, Aldy Hernandez wrote:
This patch implements the new hybrid forward threader and replaces the
embedded VRP threader with it.
But most importantly, it pulls it out of the VRP pass as we no longer
need the VRP data or ASSERT_EXPRs.
With all the pieces that have gone in,
On 9/27/21 5:01 PM, Jeff Law wrote:
On 9/24/2021 9:46 AM, Aldy Hernandez wrote:
This patch implements the new hybrid forward threader and replaces the
embedded VRP threader with it.
But most importantly, it pulls it out of the VRP pass as we no longer
need the VRP data or ASSERT_EXPRs.
Y
There's a lot of code that melts away without the ASSERT_EXPR based jump
threader. Also, I cleaned up the include files as part of the process.
gcc/ChangeLog:
* tree-vrp.c (lhs_of_dominating_assert): Remove.
(class vrp_jt_state): Remove.
(class vrp_jt_simplifier): Remove.
These are some minor cleanups and renames that surfaced after the
hybrid_threader work.
gcc/ChangeLog:
* gimple-range-path.cc
(path_range_query::precompute_ranges_in_block): Rename to...
(path_range_query::compute_ranges_in_block): ...this.
(path_range_query::preco
"Roger Sayle" writes:
> This patch introduces new RTX codes to allow the RTL passes and
> backends to consistently represent high-part multiplications.
> Currently, the RTL used by different backends for expanding
> smul3_highpart and umul3_highpart varies greatly,
> with many but not all choosing
On 9/27/21 5:27 PM, Aldy Hernandez wrote:
On 9/27/21 5:01 PM, Jeff Law wrote:
On 9/24/2021 9:46 AM, Aldy Hernandez wrote:
And the big question, is the pass running after VRP2 doing anything
particularly useful? Do we want to try and kill it now, or later?
Interesting question. Perh
On September 27, 2021 6:07:40 PM GMT+02:00, Aldy Hernandez via Gcc-patches
wrote:
>
>
>On 9/27/21 5:27 PM, Aldy Hernandez wrote:
>>
>>
>> On 9/27/21 5:01 PM, Jeff Law wrote:
>>>
>>>
>>> On 9/24/2021 9:46 AM, Aldy Hernandez wrote:
>
>>> And the big question, is the pass running after VRP2 doing
Hi Thomas,
> > Regtested on x86_64-pc-linux-gnu. OK for mainline?
>
> It was actually 10.1.12 :-)
dang, you're right. Steve had it right, and I failed miserably
on copy&paste. I should fix the comment.
> OK for trunk.
>
> Thanks for the patch!
Thanks for the review, which came after Jerry's!
On Linux/x86_64,
6390c5047adb75960f86d56582e6322aaa4d9281 is the first bad commit
commit 6390c5047adb75960f86d56582e6322aaa4d9281
Author: Richard Biener
Date: Wed Nov 18 09:36:57 2020 +0100
Allow different vector types for stmt groups
caused
FAIL: gcc.dg/vect/bb-slp-17.c -flto -ffat-lto-
On Linux/x86_64,
d06dc8a2c73735e9496f434787ba4c93ceee5eea is the first bad commit
commit d06dc8a2c73735e9496f434787ba4c93ceee5eea
Author: Richard Biener
Date: Mon Sep 27 13:36:12 2021 +0200
middle-end/102450 - avoid type_for_size for non-existing modes
caused
FAIL: gcc.dg/out-of-bounds-1
On 9/27/21 10:44, Patrick Palka wrote:
The problem here is ultimately that rewrite_tparm_list when rewriting a
TEMPLATE_TEMPLATE_PARM introduces a tree cycle in the rewritten
ttp that structural_comptypes can't cope with. In particular the
DECL_TEMPLATE_PARMS of a ttp's TEMPLATE_DECL normally ca
Hi Thomas,
Am 27.09.21 um 14:07 schrieb Tobias Burnus:
While playing I stumbled over the fact that when allocating an array
with a dimension that has extent 0, e.g. 4:-5, the lbound gets reset
to 1 and ubound set to 0.
I am not sure, whether I fully understand what you wrote. For:
integer,
For coroutines, we make copies of the original function arguments into
the coroutine frame. Normally, these are destroyed on the proper exit
from the coroutine when the frame is destroyed.
However, if an exception is thrown before the first suspend point is
reached, the cleanup has to happen in t
On Sat, 25 Sep 2021, Roger Sayle wrote:
> Normally Boolean options/flags in GCC take the values zero or one.
> This patch tweaks flag_trapping_math to take the values 0 or 65535.
> More accurately it introduces a new trapping_math_model enumeration in
> flag-types.h, and uses this to allow front-e
Here is a small patch to fix a test which fails in
_GLIBCXX_VERSION_NAMESPACE mode.
IMHO it would be better to avoid putting content in
versioned namespace, no ?
There is of course more work to do, so for now here is the simpler approach.
Ok to commit ?
François
diff --git a/libstdc++-v3
On Mon, 27 Sep 2021, Richard Biener via Gcc-patches wrote:
> Now - ISTR that elsewhere Joseph suggested that taking on
> saturating operations by type was eventually misguided and we should
> have instead added saturating arithmetic tree codes that we could
> expose via some builtin functions like
On Mon, 27 Sept 2021 at 21:26, François Dumont via Libstdc++
wrote:
>
> Here is a small patch to fix a test which fails in
> _GLIBCXX_VERSION_NAMESPACE mode.
>
> IMHO it would be better to avoid putting content in
> versioned namespace, no ?
>
> There is of course more work to do, so for now here
On Linux/x86_64,
0288527f47cec6698b31ccb3210816415506009e is the first bad commit
commit 0288527f47cec6698b31ccb3210816415506009e
Author: Aldy Hernandez
Date: Tue Sep 21 10:27:53 2021 +0200
Replace VRP threader with a hybrid forward threader.
caused
FAIL: gcc.dg/guality/pr41616-1.c -O2
I fixed an issue (it would show an error message when
gcc_jit_type_dyncast_function_ptr_type was called on a type different
than a function pointer type).
Here's the updated patch.
Le vendredi 18 juin 2021 à 16:37 -0400, David Malcolm a écrit :
> On Fri, 2021-06-18 at 15:41 -0400, Antoni Boucher
On 9/27/2021 9:41 AM, Aldy Hernandez via Gcc-patches wrote:
There's a lot of code that melts away without the ASSERT_EXPR based jump
threader. Also, I cleaned up the include files as part of the process.
gcc/ChangeLog:
* tree-vrp.c (lhs_of_dominating_assert): Remove.
Whee, goodness
On 9/27/2021 9:00 AM, Aldy Hernandez wrote:
Last year I mentioned that -fthread-jumps was being ignored by the
majority of our jump threading passes, and Jeff said he'd be in favor
of fixing this.
This patch remedies the situation, but it does change existing behavior.
Currently -fthread-jump
On 9/27/2021 6:07 AM, Richard Biener via Gcc-patches wrote:
On Mon, Sep 27, 2021 at 11:42 AM Hongtao Liu wrote:
On Fri, Sep 24, 2021 at 9:08 PM Segher Boessenkool
wrote:
On Mon, Sep 13, 2021 at 04:24:13PM +0200, Richard Biener wrote:
On Mon, Sep 13, 2021 at 4:10 PM Jeff Law via Gcc-patche
On Mon, Sep 27, 2021 at 8:53 PM Richard Biener
wrote:
>
> On Fri, Sep 24, 2021 at 1:26 PM liuhongt wrote:
> >
> > Hi:
> > Related discussion in [1] and PR.
> >
> > Bootstrapped and regtest on x86_64-linux-gnu{-m32,}.
> > Ok for trunk?
> >
> > [1] https://gcc.gnu.org/pipermail/gcc-patches/20
> ia32 ABI declares that __m64 values pass via MMX registers. Due to
> this, we are not able to fully disable MMX register usage, as is the
> case with x86_64. So, V4HFmode values will pass to functions via MMX
> registers on ia32 targets.
>
> So, there should be no additional define_insn, the addi
On Tue, Sep 21, 2021 at 4:26 PM Richard Biener via Gcc-patches
wrote:
>
> This makes defaults.h choose DWARF2_DEBUG if PREFERRED_DEBUGGING_TYPE
> is not specified by the target and errors out if DWARF DWARF is not supported.
>
> It also makes us warn when STABS is enabled but not the preferred
> d
On Tue, Sep 28, 2021 at 3:46 AM Jeff Law wrote:
>
>
>
> On 9/27/2021 9:00 AM, Aldy Hernandez wrote:
> > Last year I mentioned that -fthread-jumps was being ignored by the
> > majority of our jump threading passes, and Jeff said he'd be in favor
> > of fixing this.
> >
> > This patch remedies the s
On Tue, Sep 28, 2021 at 6:48 AM Hongyu Wang wrote:
>
> > ia32 ABI declares that __m64 values pass via MMX registers. Due to
> > this, we are not able to fully disable MMX register usage, as is the
> > case with x86_64. So, V4HFmode values will pass to functions via MMX
> > registers on ia32 target
On 9/28/2021 12:17 AM, Aldy Hernandez wrote:
On Tue, Sep 28, 2021 at 3:46 AM Jeff Law wrote:
On 9/27/2021 9:00 AM, Aldy Hernandez wrote:
Last year I mentioned that -fthread-jumps was being ignored by the
majority of our jump threading passes, and Jeff said he'd be in favor
of fixing this.
Hi Harald, hi all,
On 27.09.21 21:34, Harald Anlauf via Gcc-patches wrote:
[...] here is what I played with:
program p
implicit none
integer, pointer :: x(:,:)
allocate (x(-3:3,4:0))
print *, "lbound =", lbound (x)
call sub (x)
contains
subroutine sub (y)
integer, pointer
Hi:
Bootstrapped and regtested on x86_64-pc-lunux-gnu{-m32,}.
Ok for trunk?
gcc/ChangeLog:
PR target/102494
* config/i386/i386-expand.c (emit_reduc_half): Hanlde V4HImode.
* config/i386/mmx.md (reduc_plus_scal_v4hi): New.
(reduc__scal_v4hi): New.
gcc/testsuite
On Mon, 27 Sep 2021, sunil.k.pandey wrote:
> On Linux/x86_64,
>
> 6390c5047adb75960f86d56582e6322aaa4d9281 is the first bad commit
> commit 6390c5047adb75960f86d56582e6322aaa4d9281
> Author: Richard Biener
> Date: Wed Nov 18 09:36:57 2020 +0100
>
> Allow different vector types for stmt gr
64 matches
Mail list logo