From: Pan Li
This patch would like to add FP16 support for the VRGATHEREI16
intrinsic. Aka:
* __riscv_vrgatherei16_vv_f16mf4
* __riscv_vrgatherei16_vv_f16mf4_m
As well as f16mf2 to f16m8 types.
Signed-off-by: Pan Li
gcc/ChangeLog:
* config/riscv/riscv-vector-builtins-types.def
LGTM
On Mon, Sep 4, 2023 at 3:18 PM Pan Li via Gcc-patches
wrote:
>
> From: Pan Li
>
> This patch would like to add FP16 support for the VRGATHEREI16
> intrinsic. Aka:
>
> * __riscv_vrgatherei16_vv_f16mf4
> * __riscv_vrgatherei16_vv_f16mf4_m
>
> As well as f16mf2 to f16m8 types.
>
> Signed-off-b
Committed, thanks Kito.
Pan
-Original Message-
From: Kito Cheng
Sent: Monday, September 4, 2023 3:29 PM
To: Li, Pan2
Cc: gcc-patches@gcc.gnu.org; Wang, Yanzhang ;
juzhe.zh...@rivai.ai
Subject: Re: [PATCH v1] RISC-V: Support FP16 for RVV VRGATHEREI16 intrinsic
LGTM
On Mon, Sep 4, 202
Hello Jeff:
This patch eliminates redundant zero and sign extension with ree pass for rs6000
target.
Bootstrapped and regtested for powerpc64-linux-gnu.
Thanks & Regards
Ajit
ree: Improve ree pass
For rs6000 target we see redundant zero and sign extension and ree pass
s improved to eliminat
Hi Benjanmin,
On Fri, 1 Sept 2023 at 17:45, David Malcolm via Gcc-patches <
gcc-patches@gcc.gnu.org> wrote:
> On Fri, 2023-09-01 at 16:48 +0200, Benjamin Priour wrote:
> > Patch has been updated as per your suggestions and successfully
> > regstrapped
> > on x86_64-linux-gnu.
> >
The new testc
OK, thanks.
> gcc/ChangeLog:
>
> * ada/Makefile.rtl: Add LoongArch support.
> * ada/libgnarl/s-linux__loongarch.ads: New.
> * ada/libgnat/system-linux-loongarch.ads: New.
> * config/loongarch/loongarch.h: mark normalized options
> passed from driver to gnat1 as expli
On Mon, Sep 4, 2023 at 2:28 AM Hongtao Liu wrote:
> > > > > > > I think there should be some constraint which explicitly has all
> > > > > > > the 32
> > > > > > > GPRs, like there is one for just all 16 GPRs (h), so that
> > > > > > > regardless of
> > > > > > > -mapx-inline-asm-use-gpr32 one
gcc/ChangeLog:
* config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Fix Dynamic
status.
* config/riscv/riscv-v.cc (preferred_simd_mode): Ditto.
(autovectorize_vector_modes): Ditto.
(vectorize_related_mode): Ditto.
---
gcc/config/riscv/riscv-opts.h | 2 +-
On Mon, Sep 4, 2023 at 4:57 PM Uros Bizjak wrote:
>
> On Mon, Sep 4, 2023 at 2:28 AM Hongtao Liu wrote:
>
> > > > > > > > I think there should be some constraint which explicitly has
> > > > > > > > all the 32
> > > > > > > > GPRs, like there is one for just all 16 GPRs (h), so that
> > > > > >
On SPR, vmovsh can be execute on 3 ports, vpblendw can only be
executed on 2 ports.
On znver4, vpblendw can be executed on 4 ports, if vmovsh is similar
as vmovss, then it can also be executed on 4 ports.
So there's no difference for znver? but vmovsh is more optimized on
SPR.
Bootstrapped and reg
On Fri, 1 Sept 2023 at 14:01, Ken Matsui wrote:
>
> Ping for the use of __is_signed built-in.
>
> Sincerely,
> Ken Matsui
>
>
> On Wed, Jul 12, 2023 at 6:45 PM Ken Matsui wrote:
> >
> > This patch lets libstdc++ use new built-in trait __is_signed.
OK for trunk after the built-in is approved for
On Fri, 1 Sept 2023 at 12:25, Ken Matsui via Libstdc++
wrote:
>
> This patch implements built-in trait for std::is_arithmetic.
The libstdc++-v3 parts are OK for trunk.
>
> gcc/cp/ChangeLog:
>
> * cp-trait.def: Define __is_arithmetic.
> * constraint.cc (diagnose_trait_expr): Hand
> -Original Message-
> From: Richard Biener
> Sent: Thursday, August 31, 2023 8:23 PM
> To: Di Zhao OS
> Cc: Jeff Law ; Martin Jambor ; gcc-
> patc...@gcc.gnu.org
> Subject: Re: [PATCH] [tree-optimization/110279] swap operands in reassoc to
> reduce cross backedge FMA
>
> On Wed, Aug 30,
Tested on x86_64-darwin21 and i686-darwin9, pushed to trunk,
thanks.
Iain
--- 8< ---
There are now quite a few symbol flags, so it is sometimes useful to get
them in a text form, rather than decoding the hex number printed by
debug_rtx().
Signed-off-by: Iain Sandoe
gcc/ChangeLog:
* co
Tested on x86_64-darwin21 and i686-darwin9, pushed to trunk, thanks,
Iain
--- 8< ---
System tools from Darwin10 onwards have moved the exceptions tables from
the __DATA segment to the __TEXT one. They also revised the relocations
used for typeinfo. While Darwin9 was not changed at the time, in
This patch keep vlmax vector pattern in simple before split1 pass which
will allow more optimization (e.g. combine) before split1 pass.
This patch changes the vlmax pattern in autovec.md to define_insn_and_split
as much as possible and clean up some combine patterns that are no longer
needed.
This
Tested on x86_64-darwin21, i686-darwin9, aarch64-darwin21 and
powerpc-darwin9, pushed to trunk, thanks
Iain
--- 8< ---
This handles placement of global initializers into __TEXT,__StaticInit as used
by other platform toolchains.
Signed-off-by: Iain Sandoe
gcc/ChangeLog:
* config/darwin
Tested on powerpc-darwin9, pushed to trunk, thanks
Iain
--- 8< ---
This is a minor adjustment to make the GCC behaviour better match the
old system tools.
Signed-off-by: Iain Sandoe
gcc/ChangeLog:
* config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for
all 32b Darwin P
Tests under gcc.dg/vect use check_vect_support_and_set_flags to set
compilation flags as appropriate for the target, but they also set
dg-do-what-default to 'run' or 'compile', depending on the actual
target hardware (or simulator) capabilities.
For instance on arm, we use options to enable Neon,
Hi!
Pushed to master branch commit fe0f9e09413047484441468b05288412760d8a09
"Add 'libgomp.c-c++-common/pr100059-1.c'" (omitting PR100059 tag
unfortunately), see attached.
Grüße
Thomas
-
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634
München; Ges
Can those intermediate patterns be used for intrinsic? I would prefer
to keep those stuff *IF* possible used for intrinsics.
On Mon, Sep 4, 2023 at 7:14 PM Lehua Ding wrote:
>
> This patch keep vlmax vector pattern in simple before split1 pass which
> will allow more optimization (e.g. combine) b
This patch support dynamic LMUL cost modeling with
--param=riscv-autovec-lmul=dynamic.
Consider this following case:
void
foo (int32_t *__restrict a, int32_t *__restrict b,int32_t *__restrict c,
int32_t *__restrict a2, int32_t *__restrict b2, int32_t *__restrict c2,
int32_t *__res
Ping for __is_arithmetic built-in.
Sincerely,
Ken Matsui
On Fri, Sep 1, 2023 at 4:25 AM Ken Matsui wrote:
>
> This patch implements built-in trait for std::is_arithmetic.
>
> gcc/cp/ChangeLog:
>
> * cp-trait.def: Define __is_arithmetic.
> * constraint.cc (diagnose_trait_expr): Ha
Ping for __is_function built-in.
Sincerely,
Ken Matsui
On Tue, Aug 22, 2023 at 12:53 PM Patrick Palka wrote:
>
> On Wed, 12 Jul 2023, Ken Matsui via Libstdc++ wrote:
>
> > This patch implements built-in trait for std::is_function.
> >
> > gcc/cp/ChangeLog:
> >
> > * cp-trait.def: Define _
Ping for __is_unsigned built-in.
Sincerely,
Ken Matsui
On Sat, Jul 8, 2023 at 4:25 AM Ken Matsui wrote:
>
> Hi,
>
> Here is the benchmark result for is_unsigned:
>
> https://github.com/ken-matsui/gcc-benches/blob/main/is_unsigned.md#sat-jul--8-041510-am-pdt-2023
>
> Time: -66.908%
> Peak Memory
Ping for __remove_pointer built-in.
Sincerely,
Ken Matsui
On Fri, Jul 7, 2023 at 10:29 PM Ken Matsui wrote:
>
> This patch implements built-in trait for std::remove_pointer.
>
> gcc/cp/ChangeLog:
>
> * cp-trait.def: Define __remove_pointer.
> * semantics.cc (finish_trait_type): H
Ping for __is_reference built-in.
Sincerely,
Ken Matsui
On Wed, Jul 12, 2023 at 7:56 PM Ken Matsui wrote:
>
> Hi,
>
> Here is the benchmark result for is_reference:
>
> https://github.com/ken-matsui/gcc-benches/blob/main/is_reference.md#wed-jul-12-074702-pm-pdt-2023
>
> Time: -8.15593%
> Peak M
Ping for __is_scalar built-in.
Sincerely,
Ken Matsui
On Fri, Jul 7, 2023 at 9:46 PM Ken Matsui wrote:
>
> This patch implements built-in trait for std::is_scalar. The existent
> __is_scalar codes were replaced with is_scalar to avoid unintentional
> macro replacement by the new built-in.
>
>
"yanzhang.wang--- via Gcc-patches" writes:
> From: Yanzhang Wang
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/aarch64/sve/acle/asm/subr_s8.c: Modify subr with -1
> to not.
>
> Signed-off-by: Yanzhang Wang
> ---
>
> Tested on my local arm environment and passed. Thanks Andrew Pinski's
Hi Kito,
Can those intermediate patterns be used for intrinsic? I would prefer
to keep those stuff *IF* possible used for intrinsics.
I think we don't need those patterns for intrinisc. First, the deleted
pattern does not directly correspond to intrinisc. Second, if you want
to use these pat
Hi!
I'm working towards reviewing some (of Roger's) GCC/nvptx patches, and
therefore learning some more GCC/nvptx, and generally RTL etc., and the
conventions around it. Please bear with me asking "obvious" questions.
For the PTX bit reverse instruction, GCC/nvptx currently ("forever")
defines:
Tested x86_64-linux. Pushed to trunk.
-- >8 --
These test behaviour only seen with -std=c++03 so the target selector
should match.
libstdc++-v3/ChangeLog:
* testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
* testsuite/26_numerics/complex/56111.cc: Likewise.
---
libs
Tested x86_64-linux. Pushed to trunk.
-- >8 --
This test should use a target selector of c++23 so that the explicit
-std=gnu++23 option can be removed, to allow testing with later
standards too.
libstdc++-v3/ChangeLog:
* testsuite/20_util/expected/bad.cc: Add missing target
sele
Tested x86_64-linux. Pushed to trunk.
-- >8 --
These tests have transposed digits in the filenames and comments.
libstdc++-v3/ChangeLog:
PR libstdc++/26142
* testsuite/23_containers/vector/26412-1.cc: Moved to...
* testsuite/23_containers/vector/26142-1.cc: ...here.
Tested x86_64-linux. Pushed to trunk.
-- >8 --
libstdc++-v3/ChangeLog:
*
testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
Add dg-options to restrict the test to C++98 mode.
* testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
Tested x86_64-linux. Pushed to trunk.
-- >8 --
These tests need slight adjustments to be valid in C++11 and later, but
there's no reason that can't be done, so that we test them in more
modes.
libstdc++-v3/ChangeLog:
* testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
Tested x86_64-linux. Pushed to trunk.
-- >8 --
There is no reason to only test std::auto_ptr with -std=c++03, we just
need to handle the deprecated warnings for C++11 and later.
libstdc++-v3/ChangeLog:
* testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
and add dg-wa
Tested x86_64-linux. Pushed to trunk.
-- >8 --
It's no longer true that 1.0if has type float _Complex when GNU
extensions are enabled, so remove the hardcoded -std option.
libstdc++-v3/ChangeLog:
* testsuite/26_numerics/complex/literals/types.cc: Remove
dg-options and add target
I was about to enter a PR for the regression, but as you're
already aware, I'll wait 24 hours to see if this magically
goes away. :]
> On Fri, 1 Sept 2023 at 12:16, Jonathan Wakely wrote:
> >
> > On Wed, 23 Aug 2023 at 17:03, Jonathan Wakely via Libstdc++
> > wrote:
> > >
> > > Any objections to
> Date: Fri, 1 Sep 2023 12:16:40 +0100
> Reply-To: Jonathan Wakely
>
> On Wed, 23 Aug 2023 at 17:03, Jonathan Wakely via Libstdc++
> wrote:
> >
> > Any objections to this? It's a C++23 feture, so should be enabled by
> > default.
>
> I've pushed this to trunk, so let's see what breaks!
>
>
>
On Mon, 4 Sept 2023 at 17:47, Hans-Peter Nilsson via Libstdc++
wrote:
>
> > Date: Fri, 1 Sep 2023 12:16:40 +0100
> > Reply-To: Jonathan Wakely
> >
> > On Wed, 23 Aug 2023 at 17:03, Jonathan Wakely via Libstdc++
> > wrote:
> > >
> > > Any objections to this? It's a C++23 feture, so should be enab
Christophe Lyon via Gcc-patches writes:
> Tests under gcc.dg/vect use check_vect_support_and_set_flags to set
> compilation flags as appropriate for the target, but they also set
> dg-do-what-default to 'run' or 'compile', depending on the actual
> target hardware (or simulator) capabilities.
>
>
From: benjamin priour
Hi,
This patch was the first I wrote and had been
at that time returned to me because ill-formatted.
Getting busy with other things, I forgot about it.
I've now fixed the formatting.
Succesfully regstrapped on x86_64-linux-gnu off trunk
a7d052b3200c7928d903a0242b8cfd75d13
Marc Poulhiès via Gcc-patches writes:
> Richard Sandiford via Gcc-patches writes:
>>> +# this regex matches the first line of the "end" in the initial commit
>>> message
>>> +FIRST_LINE_OF_END_RE = re.compile('(?i)^(signed-off-by|co-authored-by|#):
>>> ')
>>
>> The current code only requires an
Currently, we give up in fold_strstr_to_strncmp() if the length of the
the second argument to strstr() isn't known to us by the time we hit
that function. However, we can instead insert a strlen() in ourselves
and continue trying to fold strstr() into strlen()+strncmp().
PR tree-optimizati
Currently, we are not saving the strlen() call we inserted for possible
future common subexpression elimination. Also, it's possible that we can
further fold that strlen() call. So, refactor handle_builtin_strlen()
so that it can be called from fold_strstr_to_strncmp().
gcc/ChangeLog:
* t
Thiago Jung Bauermann via Gcc-patches writes:
> Since commit e7a36e4715c7 "[PATCH] RISC-V: Support simplify (-1-x) for
> vector." these tests fail on aarch64-linux:
>
> === g++ tests ===
>
> Running g++:g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp ...
> FAIL: gcc.target/aarch
Richard Sandiford writes:
> "yanzhang.wang--- via Gcc-patches" writes:
>> From: Yanzhang Wang
>>
>> gcc/testsuite/ChangeLog:
>>
>> * gcc.target/aarch64/sve/acle/asm/subr_s8.c: Modify subr with -1
>> to not.
>>
>> Signed-off-by: Yanzhang Wang
>> ---
>>
>> Tested on my local arm environm
Richard Sandiford writes:
>> +# this regex matches the first line of the "end" in the initial commit
>> message
>> +FIRST_LINE_OF_END_RE = re.compile('(?i)^(signed-off-by:|co-authored-by:|#)
>> ')
>
> Personally I think it would be safer to drop the final space in the regexp.
>
> OK with that
Consider Signed-off-by lines as part of the ending of the initial
commit to avoid having these in the middle of the log when the
changelog part is injected after.
This is particularly usefull with:
$ git gcc-commit-mklog --amend -s
that can be used to create the changelog and add the Signed-off
Hello Richard,
Richard Sandiford writes:
> Thiago Jung Bauermann via Gcc-patches writes:
>> Since commit e7a36e4715c7 "[PATCH] RISC-V: Support simplify (-1-x) for
>> vector." these tests fail on aarch64-linux:
>>
>> === g++ tests ===
>>
>> Running g++:g++.target/aarch64/sve/acle/
Currently, we give up in fold_strstr_to_strncmp() if the length of the
the second argument to strstr() isn't known to us by the time we hit
that function. However, we can instead insert a strlen() in ourselves
and continue trying to fold strstr() into strlen()+strncmp().
PR tree-optimizati
Currently, we are not saving the strlen() call we inserted for possible
future common subexpression elimination. Also, it's possible that we can
further fold that strlen() call. So, refactor handle_builtin_strlen()
so that it can be called from fold_strstr_to_strncmp().
gcc/ChangeLog:
* t
Hi!
On 2019-07-16T15:04:49+0100, Richard Sandiford
wrote:
> There isn't a 1:1 mapping from SVE intrinsics to SVE instructions,
> but the intrinsics are still close enough to the instructions for
> there to be a specific preferred sequence (or sometimes choice of
> preferred sequences) for a give
Qing Zhao via Gcc-patches writes:
>> On Aug 29, 2023, at 3:42 PM, Marek Polacek via Gcc-patches
>> wrote:
>>
>> Improving the security of software has been a major trend in the recent
>> years. Fortunately, GCC offers a wide variety of flags that enable extra
>> hardening. These flags aren't
On 9/1/23 13:53, Vineet Gupta wrote:
This was tripping up gcc.c-torture/execute/pr60003.c at -O1 since in
failing case, pattern's asm czero.nez gets both rs2 and rs1 as non zero.
We start with the following src code snippet:
if (a == 0)
return 0;
else
return x;
Hi Dave,
Recently I've been working on symbolic value support for the reference
count checker. I've attached a patch for it below; let me know it looks
OK for trunk. Thanks!
Best,
Eric
---
This patch enhances the reference count checker in the CPython plugin by
adding support for symbolic value
Sorry, I want to directly reply to Jeff but I couldn't because I haven't
subscribed to gcc-patches and Jeff's recent reply hasn't archived yet.
Bug confirmed for me.
I tried the full test with following configuration (I found another bug
[ICE] as I submitted a quick fix while testing this and req
simple patch for dynamic cost model:
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629212.html
committed.
juzhe.zh...@rivai.ai
From: Juzhe-Zhong
Date: 2023-09-04 17:08
To: gcc-patches
CC: kito.cheng; kito.cheng; jeffreyalaw; rdapp.gcc; Juzhe-Zhong
Subject: [PATCH] RISC-V: Fix Dynam
Pushed to r14-3669.
在 2023/9/4 上午10:42, Yang Yujie 写道:
gcc/ChangeLog:
* ada/Makefile.rtl: Add LoongArch support.
* ada/libgnarl/s-linux__loongarch.ads: New.
* ada/libgnat/system-linux-loongarch.ads: New.
* config/loongarch/loongarch.h: mark normalized options
Pushed to r14-3665.
在 2023/8/31 下午8:48, Yang Yujie 写道:
This is an update of
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628772.html
Changes since the last patchset:
1. Fix texinfo format of the install.texi document.
2. Add documentation for --with-strict-align-lib.
v1 -> v2:
1. Add
On 8/29/23 23:52, Kito Cheng wrote:
I would prefer NOT to expose those --param on user manual since
generally those options are used for internal only, we should add -m
option and enable `--param=riscv-autovec-preference=scalable` by
default once we think it's stable enough.
I tend to agree.
On 8/31/23 09:24, Richard Sandiford via Gcc-patches wrote:
While backporting another patch to an earlier release, I hit a
situation in which lra_eliminate_regs_1 would eliminate an address to:
(plus (reg:P R) (const_int 0))
This address compared not-equal to plain:
(reg:P R)
whic
On 9/4/23 14:58, Hamza Mahfooz wrote:
Currently, we give up in fold_strstr_to_strncmp() if the length of the
the second argument to strstr() isn't known to us by the time we hit
that function. However, we can instead insert a strlen() in ourselves
and continue trying to fold strstr() into strl
On 9/4/23 00:45, Kito Cheng wrote:
Maybe move the check logic a bit forward? My thought is the logic is
already specialized into a few catalogs, (imm, imm), (imm, reg), (reg,
reg)... and the logic you put is already in (imm, reg), but it should
really move into (reg, reg) case IMO? and move th
On 2023/09/05 14:27, Jeff Law wrote:
>
>
> On 9/4/23 00:45, Kito Cheng wrote:
>> Maybe move the check logic a bit forward? My thought is the logic is
>> already specialized into a few catalogs, (imm, imm), (imm, reg), (reg,
>> reg)... and the logic you put is already in (imm, reg), but it should
On 9/4/23 20:19, Tsukasa OI wrote:
-FAIL: 30_threads/async/async.cc execution test
+FAIL: gcc.c-torture/execute/pr60003.c -O1 execution test
+FAIL: gcc.dg/setjmp-3.c execution test
+FAIL: gcc.dg/torture/stackalign/setjmp-3.c -O1 execution test
+FAIL: gcc.dg/torture/stackalign/setjmp-3.
On 9/1/23 11:30, Andrew Pinski via Gcc-patches wrote:
As requested and make easier to understand with the new ranger
code, rename the arguments op0/op1 to op1/op2.
OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions
gcc/ChangeLog:
* vr-values.cc (test_for_singularity
1. Can generate mulh.w[u] instruction.
2. Can generate mulw.d.wu instruction.
gcc/ChangeLog:
* config/loongarch/loongarch.md (mulsidi3_64bit):
(muldi3_highpart): Modify template name.
(mulsi3_highpart): Likewise.
(mulsidi3_64bit): Field unsigned ext
On 9/1/23 11:30, Andrew Pinski via Gcc-patches wrote:
So it turns out there was a simplier way of starting to
improve VRP to start to fix PR 110131, PR 108360, and PR 108397.
That was rewrite test_for_singularity to use range_op_handler
and Value_Range.
This patch implements that and
OK? Boo
On 9/1/23 04:20, Christoph Muellner wrote:
From: Christoph Müllner
Recently, these xtheadcondmov tests regressed with -Oz:
* FAIL: gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c
* FAIL: gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c
* FAIL: gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c
* F
> So I don't think I have a good feel for the advantages and disadvantages
> of doing this. Robin's analysis of the aarch64 changes was nice and
> detailed though. I think the one that worries me most is the addressing
> mode one. fwprop is probably the first chance we get to propagate adds
> in
On 9/2/23 09:09, Andrew Pinski via Gcc-patches wrote:
Right now ssa_name_has_boolean_range compares the range to
range_true_and_false but instead we would get the nonzero bits and
compare that to 1 instead (<=u 1).
The nonzerobits comparison can be done in similar fashion.
Note I think get_non
On 9/2/23 09:09, Andrew Pinski via Gcc-patches wrote:
Currently zero_one_valued_p uses tree_nonzero_bits which uses
the global ranges of the SSA Names. We can improve this via using
ssa_name_has_boolean_range which uses the local ranges
which are used while handling folding during VRP and othe
74 matches
Mail list logo