On Mon, Jul 24, 2023 at 9:42 PM Jakub Jelinek wrote:
>
> On Mon, Jul 24, 2023 at 03:29:54PM -0400, Drew Ross via Gcc-patches wrote:
> > So would something like
> >
> > (simplify
> > (rshift (nop_convert? (lshift @0 INTEGER_CST@1)) @@1)
> > (with { tree stype = build_nonstandard_integer_type (1,
Hi Jin,
this looks reasonable. Would you mind adding (small) test cases
still to make sure we don't accidentally reintroduce the problem?
Regards
Robin
The pattern mistakenly believes that fsflags can use immediate numbers,
but in fact it does not support it. Immediate numbers should use fsflagsi.
For example:
__builtin_riscv_fsflags(4);
The following error occurred:
/tmp/ccoWdWqT.s: Assembler messages:
/tmp/ccoWdWqT.s:14: Error: illegal operand
Ping
On Mon, Jul 17, 2023, 15:14 Aldy Hernandez wrote:
> Instead of reading the known zero bits in IPA, read the value/mask
> pair which is available.
>
> There is a slight change of behavior here. I have removed the check
> for SSA_NAME, as the ranger can calculate the range and value/mask for
Hi Robin,
Given we have a call, we would like to restore before call and then backup frm
after call.
Looks current mode switching cannot emit insn like that, it can only either
emit insn before (mostly) or after (when NOTE_INSN_BASIC_BLOCK_P).
Thus, we try to emit the one after call when needed
From: Pan Li
Update in PATCH v7:
1. Take previous/next_nonnote_nondebug_insn_bb for seeking the insn.
2. Splitting the function in detection and emit when needed.
Original commit logs:
In basic dynamic rounding mode, we simply ignore call instructions and
we would like to take care of call in
On Linux/x86_64,
2e31fe431b08b0302e1fa8a1c18ee51adafd41df is the first bad commit
commit 2e31fe431b08b0302e1fa8a1c18ee51adafd41df
Author: Tobias Burnus
Date: Mon Jul 24 22:57:07 2023 +0200
OpenMP/Fortran: Reject not strictly nested target -> teams [PR110725,
PR71065]
caused
FAIL: gfortr
Hi,
This patch modifies vsx extract expand and generates mfvsrwz/stxsiwx
for all subtargets when the mode is V4SI and the index of extracted element
is 1 for BE and 2 for LE. Also this patch adds a insn pattern for mfvsrwz
which helps eliminate redundant zero extend.
Compared to last version,
In this case we are not removing convert to a bigger size
back to the same size (or smaller) if signedness does not
match.
For an example:
```
signed char _1;
...
_1 = *a_4(D);
b_5 = (short unsigned int) _1;
_2 = (unsigned char) b_5;
```
The inner cast is not needed and can be removed but w
Thanks Maciej for pointing this out, we should follow the principle that one
thing for one patch, as well as keep it simple and stupid. Thus, this patch was
dropped and covered by other ones.
Pan
-Original Message-
From: Maciej W. Rozycki
Sent: Tuesday, July 25, 2023 5:49 AM
To: Kito
Hi, Richi. Thank you so much for review.
>> This function doesn't seem to care about conditional vectorization
>> support, so why are you changing it?
I debug and analyze the code here:
Breakpoint 1, vectorizable_call (vinfo=0x3d358d0, stmt_info=0x3dcc820, gsi=0x0,
vec_stmt=0x0, slp_node=0x0, c
On Sat, Jul 22, 2023 at 12:28:59AM -0400, Jason Merrill wrote:
> On 7/21/23 18:38, Marek Polacek wrote:
> > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk/13?
> >
> > -- >8 --
> >
> > This code in cxx_eval_array_reference has been hard to get right.
> > In r12-2304 I added some code;
On Mon, 3 Jul 2023, Kito Cheng via Gcc-patches wrote:
> Lgtm
>
>
> juzhe.zh...@rivai.ai 於 2023年7月3日 週一,19:11寫道:
>
> > LGTM
> >
> >
> >
> > juzhe.zh...@rivai.ai
> >
> > From: pan2.li
> > Date: 2023-07-03 18:57
> > To: gcc-patches
> > CC: juzhe.zhong; jeffreyalaw; pan2.li; yanzhang.wang; kito.che
Don't assume that stack slots can only be accessed by stack or frame
registers. We first find all registers defined by stack or frame
registers. Then check memory accesses by such registers, including
stack and frame registers.
gcc/
PR target/109780
* config/i386/i386.cc (ix86_u
On 23/07/23 20:28 -0700, Deev Patel wrote:
Hi,
A couple of virtual functions in the libstdc++ format header are marked
constexpr in the base class, but not in the derived class. This was causing
build failures when trying to compile latest gcc libstd with clang 16 using
c++20. Adding the constex
This seems like a worthwhile change. In theory we could make it even
smaller by using a symbol alias, but I'm not sure that's supported on
the targets where this will actually help.
Any objections?
-- >8 --
For targets where double and long double have the same representation we
can reuse the sa
On 24.07.23 21:49, Jakub Jelinek via Fortran wrote:
Thanks for working on this. The fuzzy thing on the Fortran side is
if e.g. multiple nested BLOCK statements can appear sandwiched in between
target and teams (of course without declarations in them), or if e.g.
The current patch rejects neste
Tested x86_64-linux, pushed to trunk.
I hope this bug can be closed now, ut will have to wait for Dave Angling
to post results.
-- >8 --
When I switched std::stold to depend on HAVE_STRTOLD that enabled it for
hppa-hpux which defines HAVE_BROKEN_STRTOLD. Add a check for that macro
so that we don
On Mon, Jul 24, 2023 at 09:43:10PM +0200, Tobias Burnus wrote:
> This patch adds diagnostic for additional code alongside a nested teams
> in a target region.
>
> The diagnostic is happening soon after parsing such that expressions
> in clauses are not yet expanded - those would end up before TEAM
On Mon, Jul 24, 2023 at 07:39:05PM +, Joseph Myers wrote:
> On Mon, 24 Jul 2023, Jakub Jelinek via Gcc-patches wrote:
>
> > I believe it is only +- which has this problematic behavior and I think
>
> fma has the same property (of rounding-mode-dependent exact results), but
> I think that's n
This patch adds diagnostic for additional code alongside a nested teams
in a target region.
The diagnostic is happening soon after parsing such that expressions
in clauses are not yet expanded - those would end up before TEAMS
and can be very complicated (e.g. assume an allocatable-returning func
On Mon, Jul 24, 2023 at 03:29:54PM -0400, Drew Ross via Gcc-patches wrote:
> So would something like
>
> (simplify
> (rshift (nop_convert? (lshift @0 INTEGER_CST@1)) @@1)
> (with { tree stype = build_nonstandard_integer_type (1, 0); }
> (if (INTEGRAL_TYPE_P (type)
> && !TYPE_UNSIGNED (typ
On Mon, 24 Jul 2023, Jakub Jelinek via Gcc-patches wrote:
> I believe it is only +- which has this problematic behavior and I think
fma has the same property (of rounding-mode-dependent exact results), but
I think that's not relevant here?
--
Joseph S. Myers
jos...@codesourcery.com
So would something like
(simplify
(rshift (nop_convert? (lshift @0 INTEGER_CST@1)) @@1)
(with { tree stype = build_nonstandard_integer_type (1, 0); }
(if (INTEGRAL_TYPE_P (type)
&& !TYPE_UNSIGNED (type)
&& wi::eq_p (wi::to_wide (@1), element_precision (type) - 1))
(convert (conver
The define_insn "nop" was missing a template for the pseudo-c dialect,
so the normal syntax was unconditionally emitted.
Tested on bpf-unknown-none, committed as obvious.
gcc/
* config/bpf/bpf.md (nop): Add pseudo-c asm dialect template.
---
gcc/config/bpf/bpf.md | 2 +-
1 file changed,
Ping clean-up patch.
| Date: Mon, 10 Jul 2023 15:59:44 -0400
| From: Michael Meissner
| Subject: [PATCH] Fix typo in insn name.
| Message-ID:
As I said in the reply, the only thing this patch does is to rename
vsx_extract_v4sf__load to vsx_extract_v4sf_load since the insn does not
use a mode it
Ping patch.
| Date: Mon, 10 Jul 2023 15:51:56 -0400
| From: Michael Meissner
| Subject: [PATCH] Improve 64->128 bit zero extension on PowerPC (PR
target/108958)
| Message-ID:
--
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meiss...@linux.ibm.com
Ping patch:
| Date: Mon, 10 Jul 2023 15:50:47 -0400
| From: Michael Meissner
| Subject: [PATCH] Optimize vec_splats of vec_extract for V2DI/V2DF (PR
target/99293)
| Message-ID:
--
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meiss...@linux.ibm.com
On Mon, Jul 10, 2023 at 3:32 AM Richard Biener
wrote:
>
> On Fri, Jul 7, 2023 at 5:14 PM H.J. Lu via Gcc-patches
> wrote:
> >
> > Don't assume that stack slots can only be accessed by stack or frame
> > registers. We first find all registers defined by stack or frame
> > registers. Then check m
On 7/24/23 12:49, Richard Biener wrote:
Am 24.07.2023 um 16:40 schrieb Andrew MacLeod via Gcc-patches
:
Aldy has ported his irange reduction patch to GCC 13. It resolves this PR.
I have bootstrapped it and it passes regression tests.
Do we want to check it into the GCC 13 branch? The p
On Fri, 21 Jul 2023, Jason Merrill wrote:
> On 7/21/23 14:34, Patrick Palka wrote:
> > (This is a follow-up of
> > https://gcc.gnu.org/pipermail/gcc-patches/2023-July/624951.html)
> >
> > Bootstrapped and regtested on x86_64-pc-linux-gnu, how does this look?
> >
> > -- >8 --
> >
> > The previou
> Am 24.07.2023 um 16:40 schrieb Andrew MacLeod via Gcc-patches
> :
>
> Aldy has ported his irange reduction patch to GCC 13. It resolves this PR.
>
> I have bootstrapped it and it passes regression tests.
>
> Do we want to check it into the GCC 13 branch? The patch has all his
> comment
Hi!
IEEE754 says that x + (-x) and x - x result in +0 in all rounding modes
but rounding towards negative infinity, in which case the result is -0
for all finite x. x + x and x - (-x) if it is zero retain sign of x.
Now, range_arithmetic implements the normal rounds to even rounding,
and as the a
Gentle ping.
https://gcc.gnu.org/pipermail/gcc-patches/2023-July/624156.html
On 7/11/23 14:57, David Faust via Gcc-patches wrote:
> Hello,
>
> This series adds support for a new attribute, "btf_decl_tag" in GCC.
> The same attribute is already supported in clang, and is used by various
> compone
Andrew Pinski via Gcc-patches writes:
> The problem -fasynchronous-unwind-tables is on by default for aarch64
> We need turn it off for crt*.o because it would make __EH_FRAME_BEGIN__ point
> to .eh_frame data from crtbeginT.o instead of the user-defined object
> during static linking.
Could you
Aldy has ported his irange reduction patch to GCC 13. It resolves this PR.
I have bootstrapped it and it passes regression tests.
Do we want to check it into the GCC 13 branch? The patch has all his
comments in it.
Andrew
From 777aa930b106fea2dd6ed9fe22b42a2717f1472d Mon Sep 17 00:00:00 200
On Mon, 24 Jul 2023, juzhe.zh...@rivai.ai wrote:
> From: Ju-Zhe Zhong
>
> Hi, Richard and Richi.
>
> This patch supports CALL vectorization by COND_LEN_*.
>
> Consider this following case:
> void foo (float * __restrict a, float * __restrict b, int * __restrict cond,
> int n)
> {
> for (int
On 7/21/23 15:16, Andreas Schwab wrote:
../../gcc/config/riscv/riscv.cc: In function 'void riscv_option_override()':
../../gcc/config/riscv/riscv.cc:6716:7: error: misspelled term 'can not' in
format; use 'cannot' instead [-Werror=format-diag]
6716 | "Current RISC-V GCC can not suppor
Similar to the other patch this morning, this fixes a warning that was
causing the RISC-V bootstrap to fail.
In this case the diagnostic used a backquote. This changes it to a
simple single quote which the diagnostic framework won't complain about.
Committed to the trunk.
Jeff
commit d90e81
We used to support signed division and signed modulus instructions in
the XBPF GCC-specific extensions to BPF. However, BPF catched up by
adding these instructions in the V4 of the ISA.
This patch changes GCC in order to use sdiv/smod instructions when
-mcpu=v4 or higher. The testsuite and the m
This fixes two minor issues with the recently added warning about too
large VLEN in the RISC-V backend. These prevent the RISC-V port from
bootstrapping as both Andreas and I have found.
Specifically we'll get warnings for the use of '>' in the recently added
message as well as using "can not
On Fri, Jul 21, 2023 at 5:29 PM Thiago Jung Bauermann
wrote:
>
> Commit 92d1425ca780 "c++: redundant targ coercion for var/alias tmpls"
> changed the compiler error message in this testcase from
>
> : In instantiation of 'void foo() [with T = int]':
> :14:11: required from here
> :8:22: error: '
Bootstrapped and tested on x86_64-unkown-linux-gnu, pushed.
* tree-ssa-loop.cc: Remove unused tree-vectorizer.h include.
---
gcc/tree-ssa-loop.cc | 1 -
1 file changed, 1 deletion(-)
diff --git a/gcc/tree-ssa-loop.cc b/gcc/tree-ssa-loop.cc
index ab398c3f44d..f465fb8e0ff 100644
--- a/gcc/
Bootstrapped on x86_64-unknown-linux-gnu, pushed.
* config/i386/i386-builtins.cc: Remove tree-vectorizer.h include.
* config/i386/i386-expand.cc: Likewise.
* config/i386/i386-features.cc: Likewise.
* config/i386/i386-options.cc: Likewise.
---
gcc/config/i386/i386
On Mon, 24 Jul 2023, Richard Sandiford wrote:
> Richard Biener writes:
> > The following unifies SLP_TREE_VEC_STMTS into SLP_TREE_VEC_DEFS
> > which can handle all cases we need.
> >
> > Bootstrap & regtest running on x86_64-unknown-linux-gnu.
>
> Nice! Just curious...
>
> > @@ -149,6 +147,20
Fix some typo inline, sorry for inconvenience.
-Original Message-
From: Li, Pan2
Sent: Monday, July 24, 2023 7:59 PM
To: Robin Dapp ; gcc-patches@gcc.gnu.org
Cc: juzhe.zh...@rivai.ai; kito.ch...@sifive.com; Wang, Yanzhang
Subject: RE: [PATCH v6] RISC-V: Support CALL for RVV floating-po
Thanks Robin for comments.
>> Does prev_nonnote_nondebug_insn_bb help here? In general, we scan
>> back here to the last insn and "recover" if it was a call? Why
>> can't we set the proper value already before exiting the function?
Good to learn prev_nonnote_nondebug_insn_bb, will have a try he
Hi,
I trust this email finds you well.
Our Organization hiring the best and the brightest talent in the industry. We
hire individuals with a strong sense of pride in their performance, team
spirit, and a desire to excel. To provide our clients with Professional,
Quality and value added service
From: Ju-Zhe Zhong
Hi, Richard and Richi.
This patch supports CALL vectorization by COND_LEN_*.
Consider this following case:
void foo (float * __restrict a, float * __restrict b, int * __restrict cond,
int n)
{
for (int i = 0; i < n; i++)
if (cond[i])
a[i] = b[i] + a[i];
}
Outpu
My recent patch to use QImode for bit offsets in ZERO_EXTRACTs and
SIGN_EXTRACTs in the i386 backend shouldn't have resulted in any change
behaviour, but as reported by Rainer it produces a bootstrap failure in
gm2. This reverts the problematic patch whilst we investigate the
underlying cau
Hao Liu OS writes:
> This only affects the new costs in aarch64 backend. Currently, the reduction
> latency of vector body is too large as it is multiplied by stmt count. As the
> scalar reduction latency is small, the new costs model may think "scalar code
> would issue more quickly" and increa
libstdc++: [_Hashtable] Make more use of insertion hint
When inserting an element into an empty bucket we currently insert
the new node
after the before-begin node so in first position. The drawback of
doing this is
that we are forced to update the bucket that was containing th
Richard Biener writes:
> The following unifies SLP_TREE_VEC_STMTS into SLP_TREE_VEC_DEFS
> which can handle all cases we need.
>
> Bootstrap & regtest running on x86_64-unknown-linux-gnu.
Nice! Just curious...
> @@ -149,6 +147,20 @@ _slp_tree::~_slp_tree ()
> free (failed);
> }
>
> +/*
Hi Pan,
> + for (insn = PREV_INSN (cur_insn); insn; insn = PREV_INSN (insn))
> +{
> + if (INSN_P (insn))
> + {
> + if (CALL_P (insn))
> + mode = FRM_MODE_DYN;
> + break;
> + }
> +
> + if (insn == BB_HEAD (bb))
> + break;
> +}
> +
> + return mode;
The following unifies SLP_TREE_VEC_STMTS into SLP_TREE_VEC_DEFS
which can handle all cases we need.
Bootstrap & regtest running on x86_64-unknown-linux-gnu.
Thanks,
Richard.
* tree-vectorizer.h (_slp_tree::push_vec_def): Add.
(_slp_tree::vec_stmts): Remove.
(SLP_TREE_VEC_
Having the ability of specifying a target kernel version when building
a BPF program is one of these things that sound pretty good in theory,
but simply don't work in practice: kernels in practice contain
backports, etc. Also, the addition of CO-RE to BPF has made this
uneccessary.
This patch rem
Hello,
Ping https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606450.html
I am pinging this since November, if this patch has something wrong please
just tell me so that I can fix it. The PR is still open.
Thanks,
Lorenzo Salvadore
> From f8e2c2ee89a7d8741bb65163d1f1c20edcd546ac Mon Sep
Ping?
--
Andreas Schwab, SUSE Labs, sch...@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
This patch makes the BPF backend to use the new V4 bswap{16,32,64}
instructions in order to implement the __builtin_bswap{16,32,64}
built-ins. It also adds support for -mcpu=v4 and -m[no]bswap
command-line options. Tests and doc updates are includes.
Tested in bpf-unknown-none.
gcc/ChangeLog
Committed to the trunk, thanks Kito and Robin.
Best,
Lehua
Commited V5 to the trunk, thanks Richard.
Best,
Lehua
The following adds a missing PHI location check before querying
the loop latch PHI arg from it.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/110766
* tree-scalar-evolution.cc
(analyze_and_compute_bitwise_induction_effect): Check the PHI
The following avoids propagating abnormals with the recent tweak
to look through PRE introduced copies between equal values.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/110777
* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail):
On Fri, Jul 21, 2023 at 8:19 PM Drew Ross via Gcc-patches
wrote:
>
> Adds a simplification for (~X | Y) ^ X to be folded into ~(X & Y).
> Also adds the macro bitwise_equal_p for generic and gimple which
> returns true iff EXPR1 and EXPR2 have the same value. This helps
> to reduce the number of no
On Fri, Jul 21, 2023 at 7:34 PM Jan Hubicka wrote:
>
> > On Mon, Jul 17, 2023 at 12:36 PM Jan Hubicka via Gcc-patches
> > wrote:
> > >
> > > Hi,
> > > While looking into sphinx3 regression I noticed that vectorizer produces
> > > BBs with overall probability count 120%. This patch fixes it.
> >
On Sat, Jul 22, 2023 at 8:09 AM Jeff Law via Gcc-patches
wrote:
>
>
>
> On 7/21/23 11:27, Andrew Pinski via Gcc-patches wrote:
> > On Fri, Jul 21, 2023 at 8:09 AM Drew Ross via Gcc-patches
> > wrote:
> >>
> >> Simplifies (x << c) >> c where x is a signed integral type of
> >> width >= int and c =
66 matches
Mail list logo