Results for 15.0.0 20240522 (experimental) [master r15-764-g73a167cfa22] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
LAST_UPDATED: Wed May 22 03:55:48 UTC 2024 (revision r15-764-g73a167cfa22)

Native configuration is i686-pc-linux-gnu

=== gcc tests ===


Running target unix
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O0 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O1 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -Os 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O0 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O1 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -Os 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O0 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O1 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -Os 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O0 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O1 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -Os 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O0 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O1 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O3 -g 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -Os 
FAIL: gcc.dg/debug/dwarf2/asm-line1.c scan-assembler is_stmt 1
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])? discriminator 1\\n
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])? discriminator 2\\n
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])?\\n
UNRESOLVED: c-c++-common/Waddress-5.c  -Wc++-compat 
UNRESOLVED: gcc.dg/Walways-true-2.c
FAIL: gcc.dg/Wstringop-overflow-14.c (test for excess errors)
FAIL: gcc.dg/Wstringop-overflow-14.c pr102706 (test for warnings, line 40)
UNRESOLVED: gcc.dg/attr-copy-6.c
UNRESOLVED: gcc.dg/attr-weak-hidden-1.c
UNRESOLVED: gcc.dg/attr-weak-hidden-1a.c
UNRESOLVED: gcc.dg/attr-weakref-1-darwin.c
UNRESOLVED: gcc.dg/attr-weakref-1.c
UNRESOLVED: gcc.dg/attr-weakref-2.c
UNRESOLVED: gcc.dg/attr-weakref-3.c
UNRESOLVED: gcc.dg/attr-weakref-4.c
UNRESOLVED: gcc.dg/darwin-weakimport-1.c
UNRESOLVED: gcc.dg/darwin-weakimport-2.c
UNRESOLVED: gcc.dg/darwin-weakimport-3.c
UNRESOLVED: gcc.dg/darwin-weakref-1.c
UNRESOLVED: gcc.dg/pr77587.c
UNRESOLVED: gcc.dg/pr77587a.c
UNRESOLVED: gcc.dg/pr84739.c
FAIL: gcc.dg/pr90263.c scan-assembler mempcpy
FAIL: gcc.dg/pr96573.c scan-tree-dump optimized 
"__builtin_bswap|VEC_PERM_EXPR[^\\n\\r]*7, 6, 5, 4, 3, 2, 1, 0"
UNRESOLVED: gcc.dg/visibility-21.c
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: 

Order Inquiry

2024-05-21 Thread ANNA via Gcc-bugs
Dear Sir/Ma
Please wants to place an order, kindly send your
product list or catalogue to the below email
(sa...@fuliejiatrading.com)
--
Best Regards,

Fernando Leite
_Sales Import
mailto:fernando-yvyra...@dagee.tw
M +34 627 204 609 · Portable français +33 767 998 653
T  +34 935 086 580
BARCELONA · Spain
https://www.yvyra.es | https://www.exterpark.com
--
Best Regards,
Fernando Leite
Sales Export


[Bug web/115183] New: GCCGO appears twice at https://gcc.gnu.org/onlinedocs/14.1.0/

2024-05-21 Thread dilyan.palauzov at aegee dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115183

Bug ID: 115183
   Summary: GCCGO appears twice at
https://gcc.gnu.org/onlinedocs/14.1.0/
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: web
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dilyan.palauzov at aegee dot org
  Target Milestone: ---

https://gcc.gnu.org/onlinedocs/14.1.0/ spells twice “GCCGO 14.1 Manual (also in
PDF or PostScript or an HTML tarball)”.  

Likewise at https://gcc.gnu.org/onlinedocs/13.1.0/,
https://gcc.gnu.org/onlinedocs/13.2.0/ and
https://gcc.gnu.org/onlinedocs/13.3.0/.

https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Modules.html contains “they
provideS a modular compilation system”.

[Bug target/115069] [14/15 regression] 8 bit integer vector performance regression, x86, between gcc-14 and gcc-13 using avx2 target clones on skylake platform

2024-05-21 Thread liuhongt at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115069

Hongtao Liu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #23 from Hongtao Liu  ---
Fixed in GCC15 and GCC14.2

Results for 12.3.1 20240522 [remotes/origin/releases/gcc-12 r12-10462-g13ced602f1] (GCC) testsuite on powerpc64le-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER8) via Gcc-testresults


git commit g:13ced602f1543320968220ccb31d4757487a2e08
gcc-descr r12-10462-g13ced602f15433

power8
Linux 5.4.0-177-generic ppc64le
GNU Make 4.2.1

DejaGnu:
DejaGnu version 1.6.2
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Wed May 22 03:47:37 UTC 2024 (revision r12-10462-g13ced602f1)

Native configuration is powerpc64le-unknown-linux-gnu

=== gcc tests ===


Running target unix
XPASS: gcc.dg/Wtrampolines.c standard descriptors (test for warnings, line 29)
XPASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 26)
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/inline-params-2.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/inline-params-2.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/inline-params-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/inline-params-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
FAIL: gcc.dg/guality/inline-params-2.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/ipa-sra-1.c   -O0  line 15 k == 3
XPASS: gcc.dg/guality/ipa-sra-1.c   -O1  -DPREVENT_OPTIMIZATION  line 15 k == 3
XPASS: gcc.dg/guality/ipa-sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 15 k == 3
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 y == 2
FAIL: gcc.dg/guality/pr36728-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 y == 
2
FAIL: gcc.dg/guality/pr36728-3.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr36728-3.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 i == 37
FAIL: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 i1 == 2 * 
37
FAIL: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 i2 == 3 * 
37
XPASS: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 j == 28 
+ 37
FAIL: gcc.dg/guality/pr41447-1.c   -O2  -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/pr41447-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41447-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/pr41447-1.c   -Os  -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O2  -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/pr43051-1.c   -O1  -DPREVENT_OPTIMIZATION  line 35 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O1  -DPREVENT_OPTIMIZATION  line 40 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O2  -DPREVENT_OPTIMIZATION  line 35 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O2  -DPREVENT_OPTIMIZATION  line 40 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 35 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 40 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 35 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 40 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 35 v == 1
FAIL: gcc.dg/guality/pr43051-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 40 v == 1

[V2 PATCH] Don't reduce estimated unrolled size for innermost loop at cunrolli.

2024-05-21 Thread liuhongt
>> Hard to find a default value satisfying all testcases.
>> some require loop unroll with 7 insns increment, some don't want loop
>> unroll w/ 5 insn increment.
>> The original 2/3 reduction happened to meet all those testcases(or the
>> testcases are constructed based on the old 2/3).
>> Can we define the parameter as the size of the loop, below the size we
>> still do the reduction, so the small loop can be unrolled?

>Yeah, that's also a sensible possibility.  Does it work to have a parameter
>for the unrolled body size?  Thus, amend the existing
>--param max-completely-peeled-insns with a --param
>max-completely-peeled-insns-nogrowth?

Update V2:
It's still hard to find a default value for loop boday size. So I move the
2 / 3 reduction from estimated_unrolled_size to try_unroll_loop_completely.
For the check of body size shrink, 2 / 3 reduction is added, so small loops
can still be unrolled.
For the check of comparison between body size and 
param_max_completely_peeled_insns,
2 / 3 is conditionally added for loop->inner || !cunrolli.
Then the patch avoid gcc testsuite regression, and also prevent big inner loop
completely unrolled at cunrolli.

--

For the innermost loop, after completely loop unroll, it will most likely
not be able to reduce the body size to 2/3. The current 2/3 reduction
will make some of the larger loops completely unrolled during
cunrolli, which will then result in them not being able to be
vectorized. It also increases the register pressure. The patch move
from estimated_unrolled_size to
the 2/3 reduction at cunrolli.

Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}.
Ok for trunk?

gcc/ChangeLog:

PR tree-optimization/112325
* tree-ssa-loop-ivcanon.cc (estimated_unrolled_size): Move the
2 / 3 loop body size reduction to ..
(try_unroll_loop_completely): .. here, add it for the check of
body size shrink, and the check of comparison against
param_max_completely_peeled_insns when
(!cunrolli ||loop->inner).
(canonicalize_loop_induction_variables): Add new parameter
cunrolli and pass down.
(tree_unroll_loops_completely_1): Ditto.
(tree_unroll_loops_completely): Ditto.
(canonicalize_induction_variables): Handle new parameter.
(pass_complete_unrolli::execute): Ditto.
(pass_complete_unroll::execute): Ditto.

gcc/testsuite/ChangeLog:

* gcc.dg/tree-ssa/pr112325.c: New test.
* gcc.dg/vect/pr69783.c: Add extra option --param
max-completely-peeled-insns=300.
---
 gcc/testsuite/gcc.dg/tree-ssa/pr112325.c | 57 
 gcc/testsuite/gcc.dg/vect/pr69783.c  |  2 +-
 gcc/tree-ssa-loop-ivcanon.cc | 45 ++-
 3 files changed, 83 insertions(+), 21 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr112325.c

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr112325.c 
b/gcc/testsuite/gcc.dg/tree-ssa/pr112325.c
new file mode 100644
index 000..14208b3e7f8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr112325.c
@@ -0,0 +1,57 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-cunrolli-details" } */
+
+typedef unsigned short ggml_fp16_t;
+static float table_f32_f16[1 << 16];
+
+inline static float ggml_lookup_fp16_to_fp32(ggml_fp16_t f) {
+unsigned short s;
+__builtin_memcpy(, , sizeof(unsigned short));
+return table_f32_f16[s];
+}
+
+typedef struct {
+ggml_fp16_t d;
+ggml_fp16_t m;
+unsigned char qh[4];
+unsigned char qs[32 / 2];
+} block_q5_1;
+
+typedef struct {
+float d;
+float s;
+char qs[32];
+} block_q8_1;
+
+void ggml_vec_dot_q5_1_q8_1(const int n, float * restrict s, const void * 
restrict vx, const void * restrict vy) {
+const int qk = 32;
+const int nb = n / qk;
+
+const block_q5_1 * restrict x = vx;
+const block_q8_1 * restrict y = vy;
+
+float sumf = 0.0;
+
+for (int i = 0; i < nb; i++) {
+unsigned qh;
+__builtin_memcpy(, x[i].qh, sizeof(qh));
+
+int sumi = 0;
+
+for (int j = 0; j < qk/2; ++j) {
+const unsigned char xh_0 = ((qh >> (j + 0)) << 4) & 0x10;
+const unsigned char xh_1 = ((qh >> (j + 12)) ) & 0x10;
+
+const int x0 = (x[i].qs[j] & 0xF) | xh_0;
+const int x1 = (x[i].qs[j] >> 4) | xh_1;
+
+sumi += (x0 * y[i].qs[j]) + (x1 * y[i].qs[j + qk/2]);
+}
+
+sumf += (ggml_lookup_fp16_to_fp32(x[i].d)*y[i].d)*sumi + 
ggml_lookup_fp16_to_fp32(x[i].m)*y[i].s;
+}
+
+*s = sumf;
+}
+
+/* { dg-final { scan-tree-dump {(?n)Not unrolling loop [1-9] \(--param 
max-completely-peel-times limit reached} "cunrolli"} } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr69783.c 
b/gcc/testsuite/gcc.dg/vect/pr69783.c
index 5df95d0ce4e..a1f75514d72 100644
--- a/gcc/testsuite/gcc.dg/vect/pr69783.c
+++ b/gcc/testsuite/gcc.dg/vect/pr69783.c
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { 

[Bug c++/104678] pointer to member cannot be passed as template argument after derived/base cast

2024-05-21 Thread 3y3p4tch at protonmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104678

Saurav Yadav <3y3p4tch at protonmail dot com> changed:

   What|Removed |Added

 CC||3y3p4tch at protonmail dot com

--- Comment #2 from Saurav Yadav <3y3p4tch at protonmail dot com> ---
Hi,
I've been hitting this case as well. It's still present on trunk. Can someone
take a look?

Re: [PATCH][_Hashtable] Fix some implementation inconsistencies

2024-05-21 Thread François Dumont

Ping ?

On 13/05/2024 06:33, François Dumont wrote:

libstdc++: [_Hashtable] Fix some implementation inconsistencies

    Get rid of the different usages of the mutable keyword except in
    _Prime_rehash_policy where it is preserved for abi compatibility 
reason.


    Fix comment to explain that we need the computation of bucket 
index noexcept

    to be able to rehash the container when needed.

    For Standard instantiations through std::unordered_xxx containers 
we already
    force caching of hash code when hash functor is not noexcep so it 
is guarantied.


    The static_assert purpose in _Hashtable on _M_bucket_index is thus 
limited

    to usages of _Hashtable with exotic _Hashtable_traits.

    libstdc++-v3/ChangeLog:

    * include/bits/hashtable_policy.h 
(_NodeBuilder<>::_S_build): Remove

    const qualification on _NodeGenerator instance.
(_ReuseOrAllocNode<>::operator()(_Args&&...)): Remove const 
qualification.

    (_ReuseOrAllocNode<>::_M_nodes): Remove mutable.
    (_Insert_base<>::_M_insert_range): Remove _NodeGetter 
const qualification.
    (_Hash_code_base<>::_M_bucket_index(const 
_Hash_node_value<>&, size_t)):
    Simplify noexcept declaration, we already static_assert 
that _RangeHash functor

    is noexcept.
    * include/bits/hashtable.h: Rework comments. Remove const 
qualifier on

    _NodeGenerator& arguments.

Tested under Linux x64, ok to commit ?

François



Results for 14.1.1 20240522 [releases/gcc-14 r14-10229-g1ad5c9d524d] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
LAST_UPDATED: Wed May 22 02:35:08 UTC 2024 (revision r14-10229-g1ad5c9d524d)

Native configuration is i686-pc-linux-gnu

=== gcc tests ===


Running target unix
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O0 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O1 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -Os 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O0 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O1 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -Os 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O0 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O1 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -Os 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O0 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O1 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -Os 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O0 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O1 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O3 -g 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -Os 
FAIL: gcc.dg/debug/dwarf2/asm-line1.c scan-assembler is_stmt 1
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])? discriminator 1\\n
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])? discriminator 2\\n
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])?\\n
UNRESOLVED: c-c++-common/Waddress-5.c  -Wc++-compat 
UNRESOLVED: gcc.dg/Walways-true-2.c
FAIL: gcc.dg/Wstringop-overflow-14.c (test for excess errors)
FAIL: gcc.dg/Wstringop-overflow-14.c pr102706 (test for warnings, line 40)
UNRESOLVED: gcc.dg/attr-copy-6.c
UNRESOLVED: gcc.dg/attr-weak-hidden-1.c
UNRESOLVED: gcc.dg/attr-weak-hidden-1a.c
UNRESOLVED: gcc.dg/attr-weakref-1-darwin.c
UNRESOLVED: gcc.dg/attr-weakref-1.c
UNRESOLVED: gcc.dg/attr-weakref-2.c
UNRESOLVED: gcc.dg/attr-weakref-3.c
UNRESOLVED: gcc.dg/attr-weakref-4.c
UNRESOLVED: gcc.dg/darwin-weakimport-1.c
UNRESOLVED: gcc.dg/darwin-weakimport-2.c
UNRESOLVED: gcc.dg/darwin-weakimport-3.c
UNRESOLVED: gcc.dg/darwin-weakref-1.c
UNRESOLVED: gcc.dg/pr77587.c
UNRESOLVED: gcc.dg/pr77587a.c
UNRESOLVED: gcc.dg/pr84739.c
FAIL: gcc.dg/pr90263.c scan-assembler mempcpy
FAIL: gcc.dg/pr96573.c scan-tree-dump optimized 
"__builtin_bswap|VEC_PERM_EXPR[^\\n\\r]*7, 6, 5, 4, 3, 2, 1, 0"
UNRESOLVED: gcc.dg/visibility-21.c
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: 

Results for 12.3.1 20240522 [remotes/origin/releases/gcc-12 r12-10462-g13ced602f1] (GCC) testsuite on powerpc64-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER9 BE) via Gcc-testresults


git commit g:13ced602f1543320968220ccb31d4757487a2e08
gcc-descr r12-10462-g13ced602f15433

power9 BE
Linux 6.7.12-powerpc64 ppc64
GNU Make 4.3

DejaGnu:
DejaGnu version 1.6.3
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Wed May 22 03:25:58 UTC 2024 (revision r12-10462-g13ced602f1)

Native configuration is powerpc64-unknown-linux-gnu

=== g++ tests ===


Running target unix/-m32

=== g++ Summary for unix/-m32 ===

# of expected passes219489
# of expected failures  1922
# of unsupported tests  10358

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes228234
# of expected failures  1930
# of unsupported tests  10542

=== g++ Summary ===

# of expected passes447723
# of expected failures  3852
# of unsupported tests  20900
/home/gccbuild/build/nightly/build-gcc-12/gcc/xg++  version 12.3.1 20240522 
[remotes/origin/releases/gcc-12 r12-10462-g13ced602f1] (GCC) 

=== gcc tests ===


Running target unix/-m32
XPASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 26)
FAIL: gcc.dg/torture/pr52451.c   -O0  execution test
FAIL: gcc.dg/torture/pr52451.c   -O1  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2  execution test
FAIL: gcc.dg/torture/pr52451.c   -O3 -g  execution test
FAIL: gcc.dg/torture/pr52451.c   -Os  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.dg/torture/pr91323.c   -O0  execution test
FAIL: gcc.dg/torture/pr91323.c   -O1  execution test
FAIL: gcc.dg/torture/pr91323.c   -O2  execution test
FAIL: gcc.dg/torture/pr91323.c   -O3 -g  execution test
FAIL: gcc.dg/torture/pr91323.c   -Os  execution test
FAIL: gcc.dg/torture/pr91323.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr91323.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 
loops" 1
XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing 
stmts using SLP" 2
XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  
scan-tree-dump-times vect "vectorized 1 loops" 1
XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  
scan-tree-dump-times vect "vectorizing stmts using SLP" 2
XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.target/powerpc/bfp/scalar-test-data-class-12.c (test for excess 
errors)
UNRESOLVED: gcc.target/powerpc/bfp/scalar-test-data-class-12.c compilation 
failed to produce executable
FAIL: gcc.target/powerpc/bfp/scalar-test-data-class-14.c (test for excess 
errors)
UNRESOLVED: gcc.target/powerpc/bfp/scalar-test-data-class-14.c compilation 
failed to produce executable
FAIL: gcc.target/powerpc/bfp/scalar-test-data-class-15.c (test for excess 
errors)
UNRESOLVED: gcc.target/powerpc/bfp/scalar-test-data-class-15.c compilation 
failed to produce executable
FAIL: gcc.target/powerpc/bfp/scalar-test-neg-8.c (test for excess errors)
UNRESOLVED: gcc.target/powerpc/bfp/scalar-test-neg-8.c compilation failed to 
produce executable
FAIL: gcc.target/powerpc/bfp/vec-test-data-class-9.c (test for excess errors)
UNRESOLVED: gcc.target/powerpc/bfp/vec-test-data-class-9.c compilation failed 
to produce executable
FAIL: gcc.target/powerpc/fold-vec-extract-char.p7.c scan-assembler-times 
maddiM 9
FAIL: gcc.target/powerpc/fold-vec-extract-double.p7.c scan-assembler-times 
maddiM|maddM 3
FAIL: gcc.target/powerpc/fold-vec-extract-float.p7.c scan-assembler-times 
maddiM|maddM 3
FAIL: gcc.target/powerpc/fold-vec-extract-float.p8.c scan-assembler-times 
maddiM 2
FAIL: gcc.target/powerpc/fold-vec-extract-int.p7.c scan-assembler-times 
maddiM|maddM 12
FAIL: gcc.target/powerpc/fold-vec-extract-int.p8.c scan-assembler-times 
maddiM 9
FAIL: gcc.target/powerpc/fold-vec-extract-short.p7.c scan-assembler-times 
maddiM|maddM 12
FAIL: gcc.target/powerpc/fold-vec-extract-short.p8.c scan-assembler-times 
maddiM 9
FAIL: gcc.target/powerpc/pr101384-2.c scan-assembler-times mvspltis[whb] 
[^nr]*,-1M 9
FAIL: gcc.target/powerpc/rs6000-fpint.c scan-assembler-not stfiwx
XPASS: gcc.target/powerpc/ppc-fortran/ieee128-math.f90   -O  (test for excess 
errors)

=== gcc Summary for unix/-m32 ===

# of 

Results for 15.0.0 20240522 (experimental) [master r15-764-g73a167cfa22] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
LAST_UPDATED: Wed May 22 02:40:09 UTC 2024 (revision r15-764-g73a167cfa22)

Native configuration is x86_64-pc-linux-gnu

=== gcc tests ===


Running target unix
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg1 
== 1
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg2 
== 2
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg3 
== 3
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg4 
== 4
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg5 
== 5
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg6 
== 6
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg7 
== 30
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg1 
== 1
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg2 
== 2
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg3 
== 3
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg4 
== 4
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg5 
== 5
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg6 
== 6
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg7 
== 30
FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 14 y == 2
FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  

Results for 14.1.1 20240522 [releases/gcc-14 r14-10229-g1ad5c9d524d] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
LAST_UPDATED: Wed May 22 02:35:09 UTC 2024 (revision r14-10229-g1ad5c9d524d)

Native configuration is x86_64-pc-linux-gnu

=== gcc tests ===


Running target unix
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg1 
== 1
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg2 
== 2
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg3 
== 3
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg4 
== 4
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg5 
== 5
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg6 
== 6
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg7 
== 30
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg1 
== 1
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg2 
== 2
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg3 
== 3
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg4 
== 4
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg5 
== 5
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg6 
== 6
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg7 
== 30
FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 14 y == 2
FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  

Results for 15.0.0 20240521 (experimental) [master r15-756-g20e6f36771d] (GCC) testsuite on s390x-ibm-linux-gnu arch14

2024-05-21 Thread stefansf--- via Gcc-testresults
LAST_UPDATED: Tue May 21 17:04:56 UTC 2024 (revision r15-756-g20e6f36771d)

=== acats tests ===
FAIL:   cb1010a
FAIL:   cxa4001

=== acats Summary ===
# of expected passes2326
# of unexpected failures2
Native configuration is s390x-ibm-linux-gnu arch14

=== gcc tests ===


Running target unix/-m31
FAIL: gcc.c-torture/execute/920501-4.c   -O1  execution test
FAIL: gcc.c-torture/execute/920501-4.c   -O2  execution test
FAIL: gcc.c-torture/execute/920501-4.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.c-torture/execute/920501-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.c-torture/execute/920501-4.c   -O3 -g  execution test
FAIL: gcc.c-torture/execute/920501-4.c   -Os  execution test
FAIL: gcc.c-torture/execute/920501-5.c   -O1  execution test
FAIL: gcc.c-torture/execute/920501-5.c   -O2  execution test
FAIL: gcc.c-torture/execute/920501-5.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.c-torture/execute/920501-5.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.c-torture/execute/920501-5.c   -O3 -g  execution test
FAIL: gcc.c-torture/execute/920501-5.c   -Os  execution test
FAIL: gcc.c-torture/execute/920721-4.c   -O2  execution test
FAIL: gcc.c-torture/execute/920721-4.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.c-torture/execute/920721-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.c-torture/execute/920721-4.c   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
FAIL: gcc.c-torture/execute/920721-4.c   -O3 -g  execution test
FAIL: gcc.c-torture/execute/920721-4.c   -Os  execution test
FAIL: c-c++-common/asan/pointer-compare-1.c   -O0  output pattern test
FAIL: c-c++-common/asan/pointer-compare-1.c   -O1  output pattern test
FAIL: c-c++-common/asan/pointer-compare-1.c   -O2  output pattern test
FAIL: c-c++-common/asan/pointer-compare-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  output pattern test
FAIL: c-c++-common/asan/pointer-compare-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  output pattern test
FAIL: c-c++-common/asan/pointer-compare-1.c   -O3 -g  output pattern test
FAIL: c-c++-common/asan/pointer-compare-1.c   -Os  output pattern test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -O0  execution test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -O1  execution test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -O2  execution test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -O3 -g  execution test
FAIL: c-c++-common/asan/pointer-subtract-3.c   -Os  execution test
FAIL: c-c++-common/asan/pr64820.c   -O0  output pattern test
FAIL: c-c++-common/asan/pr64820.c   -O1  output pattern test
FAIL: c-c++-common/asan/pr64820.c   -O2  output pattern test
FAIL: c-c++-common/asan/pr64820.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  output pattern test
FAIL: c-c++-common/asan/pr64820.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  output pattern test
FAIL: c-c++-common/asan/pr64820.c   -O3 -g  output pattern test
FAIL: c-c++-common/asan/pr64820.c   -Os  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -O0  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -O1  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -O2  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -O3 -g  output pattern test
FAIL: c-c++-common/asan/use-after-return-1.c   -Os  output pattern test
FAIL: c-c++-common/vector-subscript-4.c  -Wc++-compat   scan-tree-dump-not 
optimized "vector"
FAIL: gcc.dg/auto-init-uninit-17.c unconditional (test for warnings, line 14)
FAIL: gcc.dg/gcc-have-sync-compare-and-swap.c (test for excess errors)
FAIL: gcc.dg/loop-9.c scan-rtl-dump loop2_invariant "Decided"
FAIL: gcc.dg/loop-9.c scan-rtl-dump loop2_invariant "without introducing a new 
temporary register"
FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg"
FAIL: gcc.dg/sms-compare-debug-1.c (test for excess errors)
FAIL: gcc.dg/store_merging_5.c scan-tree-dump-times store-merging "MEM 
 [.*]" 1
FAIL: gcc.dg/uninit-17.c unconditional (test for warnings, line 14)
FAIL: c-c++-common/goacc/firstprivate-mappings-1.c scan-tree-dump omplower 
"(?n)#pragma omp target oacc_parallel map(from:array_so [len: 

Regressions on native/releases/gcc-13 at commit r13-8789 vs commit r13-8786 on Linux/x86_64

2024-05-21 Thread Haochen Jiang via Gcc-regression
Regressions on releases/gcc-13 at commit r13-8789 vs commit r13-8786 on 
Linux/x86_64
New failures:
FAIL: libgomp.c/examples-4/teams-4.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-11.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-11.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-14.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-3.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-3.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-5.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-6.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-9.c execution test

New passes:


Results for 15.0.0 20240522 (experimental) [remotes/origin/HEAD r15-763-gffab721f3c] (GCC) testsuite on powerpc64le-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER8) via Gcc-testresults


git commit g:ffab721f3c9ecbb9831844d844ad257b69a77993
gcc-descr r15-763-gffab721f3c9ecb

power8
Linux 5.4.0-177-generic ppc64le
GNU Make 4.2.1

DejaGnu:
DejaGnu version 1.6.2
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Wed May 22 01:49:58 UTC 2024 (revision r15-763-gffab721f3c)

Native configuration is powerpc64le-unknown-linux-gnu

=== gcc tests ===


Running target unix
XPASS: gcc.dg/Wtrampolines.c standard descriptors (test for warnings, line 32)
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/inline-params-2.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/inline-params-2.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/inline-params-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/inline-params-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
FAIL: gcc.dg/guality/inline-params-2.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 *x == (char) 25
FAIL: gcc.dg/guality/pr36728-3.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr36728-3.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 i == 37
FAIL: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 i1 == 2 * 
37
FAIL: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 i2 == 3 * 
37
XPASS: gcc.dg/guality/pr41353-1.c  -Og -DPREVENT_OPTIMIZATION  line 28 j == 28 
+ 37
FAIL: gcc.dg/guality/pr41447-1.c   -O2  -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/pr41447-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41447-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41447-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/pr41447-1.c   -Os  -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O2  -DPREVENT_OPTIMIZATION  execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
FAIL: gcc.dg/guality/pr41616-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/pr54200.c   -O1  -DPREVENT_OPTIMIZATION  line 20 z == 3
FAIL: gcc.dg/guality/pr54200.c   -O2  -DPREVENT_OPTIMIZATION  line 20 z == 3
FAIL: gcc.dg/guality/pr54200.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 z == 3
FAIL: gcc.dg/guality/pr54200.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 z == 3
FAIL: gcc.dg/guality/pr54200.c   -Os  -DPREVENT_OPTIMIZATION  line 20 z == 3
FAIL: gcc.dg/guality/pr54519-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 y == 25
FAIL: gcc.dg/guality/pr54519-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 z == 6
FAIL: gcc.dg/guality/pr54519-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 23 y == 117
FAIL: gcc.dg/guality/pr54519-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 23 z == 8
FAIL: gcc.dg/guality/pr54519-2.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 17 y == 25
FAIL: 

Results for 15.0.0 20240522 (experimental) [master r15-763-gffab721f3c9] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
LAST_UPDATED: Wed May 22 01:40:21 UTC 2024 (revision r15-763-gffab721f3c9)

Native configuration is i686-pc-linux-gnu

=== gcc tests ===


Running target unix
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O0 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O1 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/2009-1.c   -Os 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O0 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O1 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/2009-2.c   -Os 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O0 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O1 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/981001-2.c   -Os 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O0 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O1 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -O3 -g 
UNRESOLVED: gcc.c-torture/compile/pr61159.c   -Os 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O0 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O1 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 -flto 
-fno-use-linker-plugin -flto-partition=none 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -O3 -g 
UNRESOLVED: gcc.c-torture/execute/20030125-1.c   -Os 
FAIL: gcc.dg/debug/dwarf2/asm-line1.c scan-assembler is_stmt 1
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])? discriminator 1\\n
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])? discriminator 2\\n
FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler loc [0-9] 11 [0-9]( 
is_stmt [0-9])?\\n
UNRESOLVED: c-c++-common/Waddress-5.c  -Wc++-compat 
UNRESOLVED: gcc.dg/Walways-true-2.c
FAIL: gcc.dg/Wstringop-overflow-14.c (test for excess errors)
FAIL: gcc.dg/Wstringop-overflow-14.c pr102706 (test for warnings, line 40)
UNRESOLVED: gcc.dg/attr-copy-6.c
UNRESOLVED: gcc.dg/attr-weak-hidden-1.c
UNRESOLVED: gcc.dg/attr-weak-hidden-1a.c
UNRESOLVED: gcc.dg/attr-weakref-1-darwin.c
UNRESOLVED: gcc.dg/attr-weakref-1.c
UNRESOLVED: gcc.dg/attr-weakref-2.c
UNRESOLVED: gcc.dg/attr-weakref-3.c
UNRESOLVED: gcc.dg/attr-weakref-4.c
UNRESOLVED: gcc.dg/darwin-weakimport-1.c
UNRESOLVED: gcc.dg/darwin-weakimport-2.c
UNRESOLVED: gcc.dg/darwin-weakimport-3.c
UNRESOLVED: gcc.dg/darwin-weakref-1.c
UNRESOLVED: gcc.dg/pr77587.c
UNRESOLVED: gcc.dg/pr77587a.c
UNRESOLVED: gcc.dg/pr84739.c
FAIL: gcc.dg/pr90263.c scan-assembler mempcpy
FAIL: gcc.dg/pr96573.c scan-tree-dump optimized 
"__builtin_bswap|VEC_PERM_EXPR[^\\n\\r]*7, 6, 5, 4, 3, 2, 1, 0"
UNRESOLVED: gcc.dg/visibility-21.c
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: gcc.dg/visibility-d.c scan-not-hidden 
FAIL: 

Regressions on native/releases/gcc-14 at commit r14-10227 vs commit r14-10225 on Linux/x86_64

2024-05-21 Thread Haochen Jiang via Gcc-regression
Regressions on releases/gcc-14 at commit r14-10227 vs commit r14-10225 on 
Linux/x86_64
New failures:
FAIL: gcc.dg/vect/tsvc/vect-tsvc-s317.c execution test
FAIL: gcc.dg/vect/tsvc/vect-tsvc-s317.c -flto -ffat-lto-objects execution test
FAIL: libgomp.c/examples-4/teams-4.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-11.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-12.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-14.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-15.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-15.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-3.c execution test
FAIL: libgomp.c/../libgomp.c-c++-common/for-3.c execution test
FAIL: libgomp.c++/../libgomp.c-c++-common/for-9.c execution test

New passes:


Re: [PATCH v2] [testsuite] xfail pr79004 on longdouble64; drop long_double_64bit (was: ppc: testsuite: pr79004 needs -mlong-double-128)

2024-05-21 Thread Kewen.Lin
Hi,

on 2024/5/21 11:04, Alexandre Oliva wrote:
> On May  8, 2024, "Kewen.Lin"  wrote:
> 
 How about the generic one "longdouble64"?  I did a grep and found it has 
 one
 use, I'd expect it can work here. :)
>>>
>>> ... since this and longdouble128 exist, maybe we can fix it and leave
>>> them all alone, despite the interface oddity.
>>>
>> ... personally I'm inclined to drop this 64 bit one. :)
> 
> Some of the asm opcodes expected by pr79004 depend on
> -mlong-double-128 to be output.  E.g., without this flag, the
> conditions of patterns @extenddf2 and extendsf2 do not
> hold, and so GCC resorts to libcalls instead of even trying
> rs6000_expand_float128_convert.
> 
> Perhaps the conditions are too strict, and they could enable the use
> of conversion insns involving __ieee128/_Float128 even with 64-bit
> long doubles.
> 
> For now, xfail the opcodes that are not available on longdouble64.
> 
> While at that, drop long_double_64bit, since it's broken and sort of
> redundant.
> 
> Regstrapped on x86_64-linux-gnu, also tested with gcc-13 on ppc64-vx7r2.
> Ok to install?

OK for trunk, thanks!

BR,
Kewen

> 
> 
> for  gcc/testsuite/ChangeLog
> 
>   PR target/105359
>   * gcc.target/powerpc/pr79004.c: Xfail opcodes not available on
>   longdouble64.
>   * lib/target-supports.exp
>   (check_effective_target_long_double_64bit): Drop.
>   (add_options_for_long_double_64bit): Likewise.
> ---
>  gcc/testsuite/gcc.target/powerpc/pr79004.c |   14 +
>  gcc/testsuite/lib/target-supports.exp  |   43 
> 
>  2 files changed, 8 insertions(+), 49 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr79004.c 
> b/gcc/testsuite/gcc.target/powerpc/pr79004.c
> index caf1f6c1eefe4..2cb8bf4bc14bc 100644
> --- a/gcc/testsuite/gcc.target/powerpc/pr79004.c
> +++ b/gcc/testsuite/gcc.target/powerpc/pr79004.c
> @@ -100,10 +100,12 @@ void to_uns_short_store_n (TYPE a, unsigned short *p, 
> long n) { p[n] = (unsigned
>  void to_uns_int_store_n (TYPE a, unsigned int *p, long n) { p[n] = (unsigned 
> int)a; }
>  void to_uns_long_store_n (TYPE a, unsigned long *p, long n) { p[n] = 
> (unsigned long)a; }
>  
> -/* { dg-final { scan-assembler-not {\mbl __}   } } */
> -/* { dg-final { scan-assembler {\mxscvdpqp\M}  } } */
> -/* { dg-final { scan-assembler {\mxscvqpdp\M}  } } */
> -/* { dg-final { scan-assembler {\mxscvqpdpo\M} } } */
> +/* On targets with 64-bit long double, some opcodes to deal with __float128 
> are
> +   disabled, see PR target/105359.  */
> +/* { dg-final { scan-assembler-not {\mbl __}   { xfail longdouble64 } } 
> } */
> +/* { dg-final { scan-assembler {\mxscvdpqp\M}  { xfail longdouble64 } } 
> } */
> +/* { dg-final { scan-assembler {\mxscvqpdp\M}  { xfail longdouble64 } } 
> } */
> +/* { dg-final { scan-assembler {\mxscvqpdpo\M} { xfail longdouble64 } } 
> } */
>  /* { dg-final { scan-assembler {\mxscvqpsdz\M} } } */
>  /* { dg-final { scan-assembler {\mxscvqpswz\M} } } */
>  /* { dg-final { scan-assembler {\mxscvsdqp\M}  } } */
> @@ -111,7 +113,7 @@ void to_uns_long_store_n (TYPE a, unsigned long *p, long 
> n) { p[n] = (unsigned l
>  /* { dg-final { scan-assembler {\mlxsd\M}  } } */
>  /* { dg-final { scan-assembler {\mlxsiwax\M}   } } */
>  /* { dg-final { scan-assembler {\mlxsiwzx\M}   } } */
> -/* { dg-final { scan-assembler {\mlxssp\M} } } */
> +/* { dg-final { scan-assembler {\mlxssp\M} { xfail longdouble64 } } 
> } */
>  /* { dg-final { scan-assembler {\mstxsd\M} } } */
>  /* { dg-final { scan-assembler {\mstxsiwx\M}   } } */
> -/* { dg-final { scan-assembler {\mstxssp\M}} } */
> +/* { dg-final { scan-assembler {\mstxssp\M}{ xfail longdouble64 } } 
> } */
> diff --git a/gcc/testsuite/lib/target-supports.exp 
> b/gcc/testsuite/lib/target-supports.exp
> index ec9baa4f32a30..dc7d4f2b5f39e 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -2930,49 +2930,6 @@ proc add_options_for_long_double_ieee128 { flags } {
>  return "$flags"
>  }
>  
> -# Check if GCC and GLIBC supports explicitly specifying that the long double
> -# format uses the IEEE 64-bit.  Under little endian PowerPC Linux, you need
> -# GLIBC 2.32 or later to be able to use a different long double format for
> -# running a program than the system default.
> -
> -proc check_effective_target_long_double_64bit { } {
> -return [check_runtime_nocache long_double_64bit {
> - #include 
> - #include 
> - /* use volatile to prevent optimization.  */
> - volatile double a = 3.0;
> - volatile long double one = 1.0L;
> - volatile long double two = 2.0L;
> - volatile long double b;
> - char buffer[20];
> - int main()
> - {
> -   double a2;
> -   long double b2;
> -   if (sizeof (long double) != 8)
> - return 1;
> -   b = one + two;
> -   /* 

Results for 15.0.0 20240522 (experimental) [master revision gcc-15-764-g73a167cfa22] (GCC) testsuite on armv8l-unknown-linux-gnueabihf

2024-05-21 Thread ci_notify--- via Gcc-testresults
# From https://ci.linaro.org/job/tcwg_gcc_check--master-arm-build/2146/:
LAST_UPDATED: 2024-05-22T03:06:40+00:00 (master revision 
gcc-15-764-g73a167cfa22) armv8l-unknown-linux-gnueabihf

Native configuration is armv8l-unknown-linux-gnueabihf

=== libatomic tests ===


Running target tcwg-local

=== libatomic Summary ===

# of expected passes44
# of unsupported tests  5
=== libgomp tests ===


Running target tcwg-local
XPASS: libgomp.c/alloc-pinned-1.c execution test
XPASS: libgomp.c/alloc-pinned-2.c execution test
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
190 (test for warnings, line 185)
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
221 (test for warnings, line 214)
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
252 (test for warnings, line 245)
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2  (test for 
excess errors)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
190 (test for warnings, line 185)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
221 (test for warnings, line 214)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
252 (test for warnings, line 245)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2  (test for 
excess errors)

=== libgomp Summary ===

# of expected passes16097
# of unexpected failures8
# of unexpected successes   2
# of expected failures  284
# of unsupported tests  705
=== libitm tests ===


Running target tcwg-local

=== libitm Summary ===

# of expected passes44
# of expected failures  3
# of unsupported tests  1
=== libstdc++ tests ===


Running target tcwg-local
FAIL: 19_diagnostics/stacktrace/current.cc  -std=gnu++23 execution test
FAIL: 19_diagnostics/stacktrace/current.cc  -std=gnu++26 execution test
FAIL: 19_diagnostics/stacktrace/entry.cc  -std=gnu++23 execution test
FAIL: 19_diagnostics/stacktrace/entry.cc  -std=gnu++26 execution test
FAIL: 19_diagnostics/stacktrace/output.cc  -std=gnu++23 execution test
FAIL: 19_diagnostics/stacktrace/output.cc  -std=gnu++26 execution test
FAIL: 19_diagnostics/stacktrace/stacktrace.cc  -std=gnu++23 execution test
FAIL: 19_diagnostics/stacktrace/stacktrace.cc  -std=gnu++26 execution test

=== libstdc++ Summary ===

# of expected passes18313
# of unexpected failures8
# of expected failures  126
# of unsupported tests  768
=== gcc tests ===


Running target tcwg-local
XPASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 72)
XPASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 77)
XPASS: gcc.dg/Wstringop-overflow-47.c pr97027 note (test for warnings, line 68)
FAIL: gcc.dg/fold-copysign-1.c scan-tree-dump-times cddce1 "= ABS_EXPR" 1
FAIL: gcc.dg/fold-copysign-1.c scan-tree-dump-times cddce1 "__builtin_copysign" 
1
FAIL: gcc.dg/pr55152-2.c scan-tree-dump-times optimized ".COPYSIGN" 1
FAIL: gcc.dg/pr55152-2.c scan-tree-dump-times optimized "ABS_EXPR" 1
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION 

Results for 15.0.0 20240522 (experimental) [master r15-763-gffab721f3c] (GCC) testsuite on powerpc64-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER9 BE) via Gcc-testresults


git commit g:ffab721f3c9ecbb9831844d844ad257b69a77993
gcc-descr r15-763-gffab721f3c9ecb

power9 BE
Linux 6.7.12-powerpc64 ppc64
GNU Make 4.3

DejaGnu:
DejaGnu version 1.6.3
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Wed May 22 01:51:49 UTC 2024 (revision r15-763-gffab721f3c)

Native configuration is powerpc64-unknown-linux-gnu

=== g++ tests ===


Running target unix/-m32
FAIL: c-c++-common/torture/strub-run3.c   -O0  execution test

=== g++ Summary for unix/-m32 ===

# of expected passes251827
# of unexpected failures1
# of expected failures  2615
# of unsupported tests  11551

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes260849
# of expected failures  2620
# of unsupported tests  11724

=== g++ Summary ===

# of expected passes512676
# of unexpected failures1
# of expected failures  5235
# of unsupported tests  23275
/home/gccbuild/build/nightly/build-gcc-trunk/gcc/xg++  version 15.0.0 20240522 
(experimental) [master r15-763-gffab721f3c] (GCC) 

=== gcc tests ===


Running target unix/-m32
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto 

Re: [PATCH] rs6000: load high and low part of 128bit vector independently [PR110040]

2024-05-21 Thread Kewen.Lin
Hi,

on 2024/2/26 13:43, jeevitha wrote:
> Hi All,
> 
> The following patch has been bootstrapped and regtested on powerpc64le-linux.
> 
> PR110040 exposes an issue concerning moves from vector registers to GPRs.
> There are two moves, one for upper 64 bits and the other for the lower
> 64 bits.  In the problematic test case, we are only interested in storing
> the lower 64 bits.  However, the instruction for copying the upper 64 bits
> is still emitted and is dead code.  This patch adds a splitter that splits
> apart the two move instructions so that DCE can remove the dead code after
> splitting.
> 
> 2024-02-26  Jeevitha Palanisamy  
> 
> gcc/
>   PR target/110040
>   * config/rs6000/vsx.md (split pattern for V1TI to DI move): Defined.
> 
> gcc/testsuite/
>   PR target/110040
>   * gcc.target/powerpc/pr110040-1.c: New testcase.
>   * gcc.target/powerpc/pr110040-2.c: New testcase.
> 
> 
> diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
> index 6111cc90eb7..78457f8fb14 100644
> --- a/gcc/config/rs6000/vsx.md
> +++ b/gcc/config/rs6000/vsx.md
> @@ -6706,3 +6706,19 @@
>"vmsumcud %0,%1,%2,%3"
>[(set_attr "type" "veccomplex")]
>  )
> +
> +(define_split
> +  [(set (match_operand:V1TI 0 "int_reg_operand")
> +   (match_operand:V1TI 1 "vsx_register_operand"))]
> +  "reload_completed
> +   && TARGET_DIRECT_MOVE_64BIT"
> +   [(pc)]
> +{
> +  rtx op0 = gen_rtx_REG (DImode, REGNO (operands[0]));
> +  rtx op1 = gen_rtx_REG (V2DImode, REGNO (operands[1]));
> +  rtx op2 = gen_rtx_REG (DImode, REGNO (operands[0]) + 1);
> +  rtx op3 = gen_rtx_REG (V2DImode, REGNO (operands[1]));

Nit: op3 is the same as op1 (so useless and removable), just
call it as src_op?  Maybe op0 and op2 as dest_op0, dest_op1
to match the extracted index?

> +  emit_insn (gen_vsx_extract_v2di (op0, op1, GEN_INT (0)));
> +  emit_insn (gen_vsx_extract_v2di (op2, op3, GEN_INT (1)));

Nit: GEN_INT ({0,1}) can be substituted with const{0,1}_rtx.

> +  DONE;
> +})
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr110040-1.c 
> b/gcc/testsuite/gcc.target/powerpc/pr110040-1.c
> new file mode 100644
> index 000..fb3bd254636
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/powerpc/pr110040-1.c
> @@ -0,0 +1,14 @@
> +/* PR target/110040 */
> +/* { dg-do compile } */
> +/* { dg-require-effective-target powerpc_p9vector_ok } */
> +/* { dg-options "-O2 -mdejagnu-cpu=power9" } */

powerpc_p9vector_ok doesn't exist any more, you have to rebase.

This also requires int128 effective target.

Change it to:

/* { dg-options "-O2" } */
/* { dg-require-effective-target int128 } */
/* { dg-require-effective-target powerpc_vsx } */

Since we just check no mfvsrd, I think we can even drop the
"-mdejagnu-cpu=power9", could you test if it works on multiple
environments?

> +/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */
> +
> +#include 
> +
> +void
> +foo (signed long *dst, vector signed __int128 src)
> +{
> +  *dst = (signed long) src[0];
> +}
> +
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr110040-2.c 
> b/gcc/testsuite/gcc.target/powerpc/pr110040-2.c
> new file mode 100644
> index 000..f3aa22be4e8
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/powerpc/pr110040-2.c
> @@ -0,0 +1,13 @@
> +/* PR target/110040 */
> +/* { dg-do compile } */
> +/* { dg-require-effective-target power10_ok } */
> +/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
> +/* { dg-final { scan-assembler-not {\mmfvsrd\M} } } */

Similar to the above:

/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
/* { dg-require-effective-target int128 } */
/* { dg-require-effective-target powerpc_vsx } */

Also adding one comment why it requires power10.

BR,
Kewen

> +
> +#include 
> +
> +void
> +foo (signed int *dst, vector signed __int128 src)
> +{
> +  __builtin_vec_xst_trunc (src, 0, dst);
> +}
> 
> 



Re: [PATCH 6/13] rs6000, add overloaded vec_sel with int128 arguments

2024-05-21 Thread Kewen.Lin
Hi Carl,

on 2024/5/22 08:13, Carl Love wrote:
> Kewen:
> 
> On 5/13/24 19:54, Kewen.Lin wrote:
>> Hi,
>>
>> on 2024/4/20 05:17, Carl Love wrote:
>>> rs6000, add overloaded vec_sel with int128 arguments
>>>
>>> Extend the vec_sel built-in to take three signed/unsigned int128 arguments
>>> and return a signed/unsigned int128 result.
>>>
>>> Extending the vec_sel built-in makes the existing buit-ins
>>> __builtin_vsx_xxsel_1ti and __builtin_vsx_xxsel_1ti_uns obsolete.  The
>>> patch removes these built-ins.
>>>
>>> The patch adds documentation and test cases for the new overloaded vec_sel
>>> built-ins.
>>>
>>> gcc/ChangeLog:
>>> * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxsel_1ti,
>>> __builtin_vsx_xxsel_1ti_uns): Remove built-in definitions.
>>> * config/rs6000/rs6000-overload.def (vec_sel): Add new overloaded
>>> definitions.
>>> * doc/extend.texi: Add documentation for new vec_sel arguments.
>>>
>>> gcc/testsuite/ChangeLog:
>>> * gcc.target/powerpc/vec_sel_runnable-int128.c: New test file.
>>> ---
>>>  gcc/config/rs6000/rs6000-builtins.def |  6 --
>>>  gcc/config/rs6000/rs6000-overload.def |  4 +
>>>  gcc/doc/extend.texi   | 14 
>>>  .../powerpc/vec-sel-runnable-i128.c   | 84 +++
>>>  4 files changed, 102 insertions(+), 6 deletions(-)
>>>  create mode 100644 gcc/testsuite/gcc.target/powerpc/vec-sel-runnable-i128.c
>>>
>>> diff --git a/gcc/config/rs6000/rs6000-builtins.def 
>>> b/gcc/config/rs6000/rs6000-builtins.def
>>> index d09e21a9151..46d2ae7b7cb 100644
>>> --- a/gcc/config/rs6000/rs6000-builtins.def
>>> +++ b/gcc/config/rs6000/rs6000-builtins.def
>>> @@ -1931,12 +1931,6 @@
>>>const vuc __builtin_vsx_xxsel_16qi_uns (vuc, vuc, vuc);
>>>  XXSEL_16QI_UNS vector_select_v16qi_uns {}
>>>  
>>> -  const vsq __builtin_vsx_xxsel_1ti (vsq, vsq, vsq);
>>> -XXSEL_1TI vector_select_v1ti {}
>>> -
>>> -  const vsq __builtin_vsx_xxsel_1ti_uns (vsq, vsq, vsq);
>>> -XXSEL_1TI_UNS vector_select_v1ti_uns {}
>>> -
>>>const vd __builtin_vsx_xxsel_2df (vd, vd, vd);
>>>  XXSEL_2DF vector_select_v2df {}
>>>  
>>> diff --git a/gcc/config/rs6000/rs6000-overload.def 
>>> b/gcc/config/rs6000/rs6000-overload.def
>>> index 68501c05289..5912c9452f4 100644
>>> --- a/gcc/config/rs6000/rs6000-overload.def
>>> +++ b/gcc/config/rs6000/rs6000-overload.def
>>> @@ -3274,6 +3274,10 @@
>>>  VSEL_2DF  VSEL_2DF_B
>>>vd __builtin_vec_sel (vd, vd, vull);
>>>  VSEL_2DF  VSEL_2DF_U
>>> +  vsq __builtin_vec_sel (vsq, vsq, vsq);
>>> +VSEL_1TI  VSEL_1TI_S
>>> +  vuq __builtin_vec_sel (vuq, vuq, vuq);
>>> +VSEL_1TI_UNS  VSEL_1TI_U
>>>  ; The following variants are deprecated.
>>>vsll __builtin_vec_sel (vsll, vsll, vsll);
>>>  VSEL_2DI_B  VSEL_2DI_S
>>> diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
>>> index 64a43b55e2d..86b8e536dbe 100644
>>> --- a/gcc/doc/extend.texi
>>> +++ b/gcc/doc/extend.texi
>>> @@ -23358,6 +23358,20 @@ The programmer is responsible for understanding 
>>> the endianness issues involved
>>>  with the first argument and the result.
>>>  @findex vec_replace_unaligned
>>>  
>>> +Vector select
>>> +
>>> +@smallexample
>>> +vector signed __int128 vec_sel (vector signed __int128,
>>> +   vector signed __int128, vector signed __int128);
>>> +vector unsigned __int128 vec_sel (vector unsigned __int128,
>>> +   vector unsigned __int128, vector unsigned __int128);
>>> +@end smallexample
>>> +
>>> +The overloaded built-in @code{vec_sel} with vector signed/unsigned __int128
>>> +arguments and returns a vector selecting bits from the two source vectors 
>>> based
>>> +on the values of the third input vector.  This built-in is an extension of 
>>> the
>>> +@code{vec_sel} built-in documented in the PVIPR.
>>> +
>>
>> Why did you place this in a section for ISA 3.1 (Power10)?  It doesn't really
>> require this support.  The used instance VSEL_1TI and VSEL_1TI_UNS are placed
>> in altivec stanza, so it looks that we should put it under the section
>> "PowerPC AltiVec Built-in Functions on ISA 2.05".  And since it's an 
>> extension
>> of @code{vec_sel} documented in the PVIPR, I prefer to just mention it's "an
>> extension of the @code{vec_sel} built-in documented in the PVIPR" and 
>> omitting
>> the description to avoid possible slightly different wording.
> 
> Honestly, at this point in time I don't remember why I put it there.  It has 
> been too long since I created the patch.  That said, the test case requires 
> Power 10 do to the comparison check using built-in vec_all_eq but that is 
> another issue.  
> The built-in generates the xxsel instruction that is an ISA 2.06 instruction. 
>  So, I would say it should to into the ISA 2.06 section.  I moved it to the 
> ISA 2.06 section.

But the underlying implementation is:

  const vsq __builtin_altivec_vsel_1ti (vsq, vsq, vuq);
VSEL_1TI vector_select_v1ti {}

  const vuq __builtin_altivec_vsel_1ti_uns 

Re: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

2024-05-21 Thread Jason Merrill

On 5/21/24 21:55, Patrick Palka wrote:

On Tue, 21 May 2024, Jason Merrill wrote:


On 5/21/24 17:27, Patrick Palka wrote:

On Tue, 21 May 2024, Jason Merrill wrote:


On 5/21/24 15:36, Patrick Palka wrote:

Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look
OK for trunk?

Alternatively, I considered fixing this by incrementing
comparing_specializations around the call to comp_except_specs in
cp_check_qualified_type, but generally for types whose identity
depends on whether comparing_specializations is set we need to
use structural equality anyway IIUC.


Why not both?


I figured the latter change isn't necessary/observable since
comparing_specializations would only make a difference for complex
exception specifications, and with this patch we won't even call
cp_check_qualified_type on a complex eh spec.


My concern is that if we're building a function type multiple times with the
same noexcept-spec, this patch would mean creating multiple equivalent
function types instead of reusing one already created for the same function.


+  bool complex_p = (cr && cr != noexcept_true_spec
+   && !UNPARSED_NOEXCEPT_SPEC_P (cr));


Why treat unparsed specs differently from parsed ones?


Unparsed specs are unique according to cp_tree_equal, so in turn
function types with unparsed specs are unique, so it should be safe to
treat such types as canonical.  I'm not sure if this optimization
matters though; I'm happy to remove this case.


The idea that this optimization could make a difference raised the concern
above.


Aha, makes sense.  To that end it seems we could strengthen the ce_exact
in comp_except_specs to require == instead of cp_tree_equal equality
when comparing two noexcept-specs; the only ce_exact callers are
cp_check_qualified_type and cxx_type_hash_eq, which should be fine with
that strengthening.  This way, we at least do try to reuse a variant if
the (complex or unparsed) noexcept-spec is exactly the same.


Sounds good.

Given that, we probably still want to move the canonical_eh_spec up in 
build_cp_fntype_variant, and pass that to cp_check_qualified_type?



Like so?

-- >8 --

Subject: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

Here the member functions QList::g and QList::h are given the same
function type since their exception specifications are equivalent
according to cp_tree_equal.  In doing so however this means that the
type of QList::h refers to a function parameter from QList::g, which
ends up confusing modules streaming.

I'm not sure if modules can be fixed to handle this situation, but
regardless it seems weird in principle that a function parameter can
escape in such a way.  The analogous situation with a trailing return
type and decltype

   auto g(QList ) -> decltype(f(other));
   auto h(QList ) -> decltype(f(other));

behaves better because we don't canonicalize decltype, and so the
function types of g and h are non-canonical and therefore not shared.

In light of this, it seems natural to treat function types with complex
eh specs as non-canonical as well so that each such function declaration
is given a unique function/method type node.  The main benefit of type
canonicalization is to speed up repeated type comparisons, but it should
rare for us to repeatedly compare two otherwise compatible function
types with complex exception specifications, so foregoing canonicalization
should not cause any problems.

To that end, this patch strengthens the ce_exact case of comp_except_specs
to require identity instead of equivalence of the exception specification
so that build_cp_fntype_variant doesn't reuse a variant when it shouldn't.
And in build_cp_fntype_variant we need to use structural equality for types
with a complex eh spec.  In turn we could simplify the code responsible
for adjusting unparsed eh spec variants.

PR c++/115159

gcc/cp/ChangeLog:

* tree.cc (build_cp_fntype_variant): Always use structural
equality for types with a complex exception specification.
(fixup_deferred_exception_variants): Always use structural
equality for adjusted variants.
* typeck.cc (comp_except_specs): Require == instead of
cp_tree_equal for noexcept-spec comparison in the ce_exact case.

gcc/testsuite/ChangeLog:

* g++.dg/modules/noexcept-2_a.H: New test.
* g++.dg/modules/noexcept-2_b.C: New test.
---
  gcc/cp/tree.cc  | 47 +
  gcc/cp/typeck.cc|  4 +-
  gcc/testsuite/g++.dg/modules/noexcept-2_a.H | 24 +++
  gcc/testsuite/g++.dg/modules/noexcept-2_b.C |  4 ++
  4 files changed, 41 insertions(+), 38 deletions(-)
  create mode 100644 gcc/testsuite/g++.dg/modules/noexcept-2_a.H
  create mode 100644 gcc/testsuite/g++.dg/modules/noexcept-2_b.C

diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index 9d37d255d8d..93a64322418 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -2794,7 +2794,12 @@ 

[Bug target/115069] [14/15 regression] 8 bit integer vector performance regression, x86, between gcc-14 and gcc-13 using avx2 target clones on skylake platform

2024-05-21 Thread haochen.jiang at intel dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115069

--- Comment #22 from Haochen Jiang  ---
Fixed in GCC14 and GCC15

[gcc r14-10229] i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

2024-05-21 Thread Haochen Jiang via Gcc-cvs
https://gcc.gnu.org/g:1ad5c9d524d8fa99773045e75da04ae958012085

commit r14-10229-g1ad5c9d524d8fa99773045e75da04ae958012085
Author: Haochen Jiang 
Date:   Tue May 21 14:10:43 2024 +0800

i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

Since vpermq is really slow, we should avoid using it for permutation
when vpmovwb is not available (needs AVX512BW) for ix86_expand_vecop_qihi2
and fall back to ix86_expand_vecop_qihi.

gcc/ChangeLog:

PR target/115069
* config/i386/i386-expand.cc (ix86_expand_vecop_qihi2):
Do not enable the optimization when AVX512BW is not enabled.

gcc/testsuite/ChangeLog:

PR target/115069
* gcc.target/i386/pr115069.c: New.

Diff:
---
 gcc/config/i386/i386-expand.cc   | 7 +++
 gcc/testsuite/gcc.target/i386/pr115069.c | 9 +
 2 files changed, 16 insertions(+)

diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 8bb8f21e686..51efe6fdd7d 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -23963,6 +23963,13 @@ ix86_expand_vecop_qihi2 (enum rtx_code code, rtx dest, 
rtx op1, rtx op2)
   bool op2vec = GET_MODE_CLASS (GET_MODE (op2)) == MODE_VECTOR_INT;
   bool uns_p = code != ASHIFTRT;
 
+  /* Without VPMOVWB (provided by AVX512BW ISA), the expansion uses the
+ generic permutation to merge the data back into the right place.  This
+ permutation results in VPERMQ, which is slow, so better fall back to
+ ix86_expand_vecop_qihi.  */
+  if (!TARGET_AVX512BW)
+return false;
+
   if ((qimode == V16QImode && !TARGET_AVX2)
   || (qimode == V32QImode && (!TARGET_AVX512BW || !TARGET_EVEX512))
   /* There are no V64HImode instructions.  */
diff --git a/gcc/testsuite/gcc.target/i386/pr115069.c 
b/gcc/testsuite/gcc.target/i386/pr115069.c
new file mode 100644
index 000..50a3e033079
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr115069.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx2" } */
+/* { dg-final { scan-assembler-not "vpermq" } } */
+
+typedef char v16qi __attribute__((vector_size(16)));
+
+v16qi foo (v16qi a, v16qi b) {
+return a * b;
+}


[Bug target/115069] [14/15 regression] 8 bit integer vector performance regression, x86, between gcc-14 and gcc-13 using avx2 target clones on skylake platform

2024-05-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115069

--- Comment #21 from GCC Commits  ---
The releases/gcc-14 branch has been updated by Haochen Jiang
:

https://gcc.gnu.org/g:1ad5c9d524d8fa99773045e75da04ae958012085

commit r14-10229-g1ad5c9d524d8fa99773045e75da04ae958012085
Author: Haochen Jiang 
Date:   Tue May 21 14:10:43 2024 +0800

i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

Since vpermq is really slow, we should avoid using it for permutation
when vpmovwb is not available (needs AVX512BW) for ix86_expand_vecop_qihi2
and fall back to ix86_expand_vecop_qihi.

gcc/ChangeLog:

PR target/115069
* config/i386/i386-expand.cc (ix86_expand_vecop_qihi2):
Do not enable the optimization when AVX512BW is not enabled.

gcc/testsuite/ChangeLog:

PR target/115069
* gcc.target/i386/pr115069.c: New.

[Bug target/115069] [14/15 regression] 8 bit integer vector performance regression, x86, between gcc-14 and gcc-13 using avx2 target clones on skylake platform

2024-05-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115069

--- Comment #20 from GCC Commits  ---
The master branch has been updated by Haochen Jiang :

https://gcc.gnu.org/g:73a167cfa225d5ee7092d41596b9fea1719898ff

commit r15-764-g73a167cfa225d5ee7092d41596b9fea1719898ff
Author: Haochen Jiang 
Date:   Tue May 21 14:10:43 2024 +0800

i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

Since vpermq is really slow, we should avoid using it for permutation
when vpmovwb is not available (needs AVX512BW) for ix86_expand_vecop_qihi2
and fall back to ix86_expand_vecop_qihi.

gcc/ChangeLog:

PR target/115069
* config/i386/i386-expand.cc (ix86_expand_vecop_qihi2):
Do not enable the optimization when AVX512BW is not enabled.

gcc/testsuite/ChangeLog:

PR target/115069
* gcc.target/i386/pr115069.c: New.

[gcc r15-764] i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

2024-05-21 Thread Haochen Jiang via Gcc-cvs
https://gcc.gnu.org/g:73a167cfa225d5ee7092d41596b9fea1719898ff

commit r15-764-g73a167cfa225d5ee7092d41596b9fea1719898ff
Author: Haochen Jiang 
Date:   Tue May 21 14:10:43 2024 +0800

i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

Since vpermq is really slow, we should avoid using it for permutation
when vpmovwb is not available (needs AVX512BW) for ix86_expand_vecop_qihi2
and fall back to ix86_expand_vecop_qihi.

gcc/ChangeLog:

PR target/115069
* config/i386/i386-expand.cc (ix86_expand_vecop_qihi2):
Do not enable the optimization when AVX512BW is not enabled.

gcc/testsuite/ChangeLog:

PR target/115069
* gcc.target/i386/pr115069.c: New.

Diff:
---
 gcc/config/i386/i386-expand.cc   | 7 +++
 gcc/testsuite/gcc.target/i386/pr115069.c | 9 +
 2 files changed, 16 insertions(+)

diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 7142c0a9d77..ec402a78a09 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -24188,6 +24188,13 @@ ix86_expand_vecop_qihi2 (enum rtx_code code, rtx dest, 
rtx op1, rtx op2)
   bool op2vec = GET_MODE_CLASS (GET_MODE (op2)) == MODE_VECTOR_INT;
   bool uns_p = code != ASHIFTRT;
 
+  /* Without VPMOVWB (provided by AVX512BW ISA), the expansion uses the
+ generic permutation to merge the data back into the right place.  This
+ permutation results in VPERMQ, which is slow, so better fall back to
+ ix86_expand_vecop_qihi.  */
+  if (!TARGET_AVX512BW)
+return false;
+
   if ((qimode == V16QImode && !TARGET_AVX2)
   || (qimode == V32QImode && (!TARGET_AVX512BW || !TARGET_EVEX512))
   /* There are no V64HImode instructions.  */
diff --git a/gcc/testsuite/gcc.target/i386/pr115069.c 
b/gcc/testsuite/gcc.target/i386/pr115069.c
new file mode 100644
index 000..50a3e033079
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr115069.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx2" } */
+/* { dg-final { scan-assembler-not "vpermq" } } */
+
+typedef char v16qi __attribute__((vector_size(16)));
+
+v16qi foo (v16qi a, v16qi b) {
+return a * b;
+}


RE: [PATCH v3] i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW

2024-05-21 Thread Jiang, Haochen
> -Original Message-
> From: Uros Bizjak 
> Sent: Tuesday, May 21, 2024 9:04 PM
> To: Jiang, Haochen 
> Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao 
> Subject: Re: [PATCH v3] i386: Disable ix86_expand_vecop_qihi2
> when !TARGET_AVX512BW
> 
> On Tue, May 21, 2024 at 11:01 AM Haochen Jiang
>  wrote:
> >
> > Hi all,
> >
> > This is the v3 patch to fix PR115069. The new testcase has passed.
> >
> > Changes in v3:
> >   - Simplify the testcase.
> >
> > Changes in v2:
> >   - Add a testcase.
> >   - Change the comment for the early exit.
> >
> > Thx,
> > Haochen
> >
> > Since vpermq is really slow, we should avoid using it for permutation
> > when vpmovwb is not available (needs AVX512BW) for
> ix86_expand_vecop_qihi2
> > and fall back to ix86_expand_vecop_qihi.
> >
> > gcc/ChangeLog:
> >
> > PR target/115069
> > * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2):
> > Do not enable the optimization when AVX512BW is not enabled.
> >
> > gcc/testsuite/ChangeLog:
> >
> > PR target/115069
> > * gcc.target/i386/pr115069.c: New.
> 
> LGTM, with a nit below.

Ok and I will also backport the patch to GCC14.

Thx,
Haochen

> 
> Thanks,
> Uros.



Results for 15.0.0 20240522 (experimental) [master r15-762-g292fc21a8d7] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
LAST_UPDATED: Wed May 22 00:40:13 UTC 2024 (revision r15-762-g292fc21a8d7)

Native configuration is x86_64-pc-linux-gnu

=== gcc tests ===


Running target unix
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg1 
== 1
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg2 
== 2
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg3 
== 3
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg4 
== 4
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg5 
== 5
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg6 
== 6
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg7 
== 30
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg1 
== 1
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg2 
== 2
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg3 
== 3
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg4 
== 4
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg5 
== 5
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg6 
== 6
FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg7 
== 30
FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 14 y == 2
FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  

[PATCH] aarch64: Fold vget_high_* intrinsics to BIT_FIELD_REF [PR102171]

2024-05-21 Thread Pengxuan Zheng
This patch is a follow-up of r15-697-ga2e4fe5a53cf75 to also fold vget_high_*
intrinsics to BIT_FILED_REF and remove the vget_high_* definitions from
arm_neon.h to use the new intrinsics framework.

PR target/102171

gcc/ChangeLog:

* config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_HIGH_BUILTINS):
New macro to create definitions for all vget_high intrinsics.
(VGET_HIGH_BUILTIN): Likewise.
(enum aarch64_builtins): Add vget_high function codes.
(AARCH64_SIMD_VGET_LOW_BUILTINS): Delete duplicate macro.
(aarch64_general_fold_builtin): Fold vget_high calls.
* config/aarch64/aarch64-simd-builtins.def: Delete vget_high builtins.
* config/aarch64/aarch64-simd.md (aarch64_get_high): Delete.
(aarch64_vget_hi_halfv8bf): Likewise.
* config/aarch64/arm_neon.h (__attribute__): Delete.
(vget_high_f16): Likewise.
(vget_high_f32): Likewise.
(vget_high_f64): Likewise.
(vget_high_p8): Likewise.
(vget_high_p16): Likewise.
(vget_high_p64): Likewise.
(vget_high_s8): Likewise.
(vget_high_s16): Likewise.
(vget_high_s32): Likewise.
(vget_high_s64): Likewise.
(vget_high_u8): Likewise.
(vget_high_u16): Likewise.
(vget_high_u32): Likewise.
(vget_high_u64): Likewise.
(vget_high_bf16): Likewise.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/vget_high_2.c: New test.
* gcc.target/aarch64/vget_high_2_be.c: New test.

Signed-off-by: Pengxuan Zheng 
---
 gcc/config/aarch64/aarch64-builtins.cc|  59 +++---
 gcc/config/aarch64/aarch64-simd-builtins.def  |   6 -
 gcc/config/aarch64/aarch64-simd.md|  22 
 gcc/config/aarch64/arm_neon.h | 105 --
 .../gcc.target/aarch64/vget_high_2.c  |  30 +
 .../gcc.target/aarch64/vget_high_2_be.c   |  31 ++
 6 files changed, 104 insertions(+), 149 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/vget_high_2.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/vget_high_2_be.c

diff --git a/gcc/config/aarch64/aarch64-builtins.cc 
b/gcc/config/aarch64/aarch64-builtins.cc
index 11b888016ed..f8eeccb554d 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -675,6 +675,23 @@ static aarch64_simd_builtin_datum 
aarch64_simd_builtin_data[] = {
   VGET_LOW_BUILTIN(u64) \
   VGET_LOW_BUILTIN(bf16)
 
+#define AARCH64_SIMD_VGET_HIGH_BUILTINS \
+  VGET_HIGH_BUILTIN(f16) \
+  VGET_HIGH_BUILTIN(f32) \
+  VGET_HIGH_BUILTIN(f64) \
+  VGET_HIGH_BUILTIN(p8) \
+  VGET_HIGH_BUILTIN(p16) \
+  VGET_HIGH_BUILTIN(p64) \
+  VGET_HIGH_BUILTIN(s8) \
+  VGET_HIGH_BUILTIN(s16) \
+  VGET_HIGH_BUILTIN(s32) \
+  VGET_HIGH_BUILTIN(s64) \
+  VGET_HIGH_BUILTIN(u8) \
+  VGET_HIGH_BUILTIN(u16) \
+  VGET_HIGH_BUILTIN(u32) \
+  VGET_HIGH_BUILTIN(u64) \
+  VGET_HIGH_BUILTIN(bf16)
+
 typedef struct
 {
   const char *name;
@@ -717,6 +734,9 @@ typedef struct
 #define VGET_LOW_BUILTIN(A) \
   AARCH64_SIMD_BUILTIN_VGET_LOW_##A,
 
+#define VGET_HIGH_BUILTIN(A) \
+  AARCH64_SIMD_BUILTIN_VGET_HIGH_##A,
+
 #undef VAR1
 #define VAR1(T, N, MAP, FLAG, A) \
   AARCH64_SIMD_BUILTIN_##T##_##N##A,
@@ -753,6 +773,7 @@ enum aarch64_builtins
   /* SIMD intrinsic builtins.  */
   AARCH64_SIMD_VREINTERPRET_BUILTINS
   AARCH64_SIMD_VGET_LOW_BUILTINS
+  AARCH64_SIMD_VGET_HIGH_BUILTINS
   /* ARMv8.3-A Pointer Authentication Builtins.  */
   AARCH64_PAUTH_BUILTIN_AUTIA1716,
   AARCH64_PAUTH_BUILTIN_PACIA1716,
@@ -855,26 +876,21 @@ static aarch64_fcmla_laneq_builtin_datum 
aarch64_fcmla_lane_builtin_data[] = {
false \
   },
 
-#define AARCH64_SIMD_VGET_LOW_BUILTINS \
-  VGET_LOW_BUILTIN(f16) \
-  VGET_LOW_BUILTIN(f32) \
-  VGET_LOW_BUILTIN(f64) \
-  VGET_LOW_BUILTIN(p8) \
-  VGET_LOW_BUILTIN(p16) \
-  VGET_LOW_BUILTIN(p64) \
-  VGET_LOW_BUILTIN(s8) \
-  VGET_LOW_BUILTIN(s16) \
-  VGET_LOW_BUILTIN(s32) \
-  VGET_LOW_BUILTIN(s64) \
-  VGET_LOW_BUILTIN(u8) \
-  VGET_LOW_BUILTIN(u16) \
-  VGET_LOW_BUILTIN(u32) \
-  VGET_LOW_BUILTIN(u64) \
-  VGET_LOW_BUILTIN(bf16)
+#undef VGET_HIGH_BUILTIN
+#define VGET_HIGH_BUILTIN(A) \
+  {"vget_high_" #A, \
+   AARCH64_SIMD_BUILTIN_VGET_HIGH_##A, \
+   2, \
+   { SIMD_INTR_MODE(A, d), SIMD_INTR_MODE(A, q) }, \
+   { SIMD_INTR_QUAL(A), SIMD_INTR_QUAL(A) }, \
+   FLAG_AUTO_FP, \
+   false \
+  },
 
 static const aarch64_simd_intrinsic_datum aarch64_simd_intrinsic_data[] = {
   AARCH64_SIMD_VREINTERPRET_BUILTINS
   AARCH64_SIMD_VGET_LOW_BUILTINS
+  AARCH64_SIMD_VGET_HIGH_BUILTINS
 };
 
 
@@ -3270,6 +3286,10 @@ aarch64_fold_builtin_lane_check (tree arg0, tree arg1, 
tree arg2)
 #define VGET_LOW_BUILTIN(A) \
   case AARCH64_SIMD_BUILTIN_VGET_LOW_##A:
 
+#undef VGET_HIGH_BUILTIN
+#define VGET_HIGH_BUILTIN(A) \
+  case AARCH64_SIMD_BUILTIN_VGET_HIGH_##A:
+
 /* Try to fold a call to the built-in function with subcode FCODE.  The
function is passed the 

[PATCH] Don't simplify NAN/INF or out-of-range constant for FIX/UNSIGNED_FIX.

2024-05-21 Thread liuhongt
According to IEEE standard, for conversions from floating point to
integer. When a NaN or infinite operand cannot be represented in the
destination format and this cannot otherwise be indicated, the invalid
operation exception shall be signaled. When a numeric operand would
convert to an integer outside the range of the destination format, the
invalid operation exception shall be signaled if this situation cannot
otherwise be indicated.

The patch prevent simplication of the conversion from floating point
to integer for NAN/INF/out-of-range constant when flag_trapping_math.

Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}
Ok for trunk?

gcc/ChangeLog:

PR rtl-optimization/100927
PR rtl-optimization/115161
PR rtl-optimization/115115
* simplify-rtx.cc (simplify_const_unary_operation): Prevent
simplication of FIX/UNSIGNED_FIX for NAN/INF/out-of-range
constant when flag_trapping_math.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr100927.c: New test.
---
 gcc/simplify-rtx.cc  | 23 
 gcc/testsuite/gcc.target/i386/pr100927.c | 27 
 2 files changed, 46 insertions(+), 4 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/i386/pr100927.c

diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc
index 53f54d1d392..b7a770dad60 100644
--- a/gcc/simplify-rtx.cc
+++ b/gcc/simplify-rtx.cc
@@ -2256,14 +2256,25 @@ simplify_const_unary_operation (enum rtx_code code, 
machine_mode mode,
   switch (code)
{
case FIX:
+ /* According to IEEE standard, for conversions from floating point to
+integer. When a NaN or infinite operand cannot be represented in
+the destination format and this cannot otherwise be indicated, the
+invalid operation exception shall be signaled. When a numeric
+operand would convert to an integer outside the range of the
+destination format, the invalid operation exception shall be
+signaled if this situation cannot otherwise be indicated.  */
  if (REAL_VALUE_ISNAN (*x))
-   return const0_rtx;
+   return flag_trapping_math ? NULL_RTX : const0_rtx;
+
+ if (REAL_VALUE_ISINF (*x) && flag_trapping_math)
+   return NULL_RTX;
 
  /* Test against the signed upper bound.  */
  wmax = wi::max_value (width, SIGNED);
  real_from_integer (, VOIDmode, wmax, SIGNED);
  if (real_less (, x))
-   return immed_wide_int_const (wmax, mode);
+   return (flag_trapping_math
+   ? NULL_RTX : immed_wide_int_const (wmax, mode));
 
  /* Test against the signed lower bound.  */
  wmin = wi::min_value (width, SIGNED);
@@ -2276,13 +2287,17 @@ simplify_const_unary_operation (enum rtx_code code, 
machine_mode mode,
 
case UNSIGNED_FIX:
  if (REAL_VALUE_ISNAN (*x) || REAL_VALUE_NEGATIVE (*x))
-   return const0_rtx;
+   return flag_trapping_math ? NULL_RTX : const0_rtx;
+
+ if (REAL_VALUE_ISINF (*x) && flag_trapping_math)
+   return NULL_RTX;
 
  /* Test against the unsigned upper bound.  */
  wmax = wi::max_value (width, UNSIGNED);
  real_from_integer (, VOIDmode, wmax, UNSIGNED);
  if (real_less (, x))
-   return immed_wide_int_const (wmax, mode);
+   return (flag_trapping_math
+   ? NULL_RTX : immed_wide_int_const (wmax, mode));
 
  return immed_wide_int_const (real_to_integer (x, , width),
   mode);
diff --git a/gcc/testsuite/gcc.target/i386/pr100927.c 
b/gcc/testsuite/gcc.target/i386/pr100927.c
new file mode 100644
index 000..b137396c30f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr100927.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-msse2 -O2 -ftrapping-math" } */
+/* { dg-final { scan-assembler-times "cvttps2dq" 3 } }  */
+
+#include 
+
+__m128i foo_ofr() {
+  const __m128i iv = _mm_set_epi32(0x4f00, 0x4f00, 0x4f00, 
0x4f00);
+  const __m128  fv = _mm_castsi128_ps(iv);
+  const __m128i riv = _mm_cvttps_epi32(fv);
+  return riv;
+}
+
+__m128i foo_nan() {
+  const __m128i iv = _mm_set_epi32(0xff81, 0xff81, 0xff81, 
0xff81);
+  const __m128  fv = _mm_castsi128_ps(iv);
+  const __m128i riv = _mm_cvttps_epi32(fv);
+  return riv;
+}
+
+__m128i foo_inf() {
+  const __m128i iv = _mm_set_epi32(0xff80, 0xff80, 0xff80, 
0xff80);
+  const __m128  fv = _mm_castsi128_ps(iv);
+  const __m128i riv = _mm_cvttps_epi32(fv);
+  return riv;
+}
+
-- 
2.31.1



Re: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

2024-05-21 Thread Patrick Palka
On Tue, 21 May 2024, Jason Merrill wrote:

> On 5/21/24 17:27, Patrick Palka wrote:
> > On Tue, 21 May 2024, Jason Merrill wrote:
> > 
> > > On 5/21/24 15:36, Patrick Palka wrote:
> > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look
> > > > OK for trunk?
> > > > 
> > > > Alternatively, I considered fixing this by incrementing
> > > > comparing_specializations around the call to comp_except_specs in
> > > > cp_check_qualified_type, but generally for types whose identity
> > > > depends on whether comparing_specializations is set we need to
> > > > use structural equality anyway IIUC.
> > > 
> > > Why not both?
> > 
> > I figured the latter change isn't necessary/observable since
> > comparing_specializations would only make a difference for complex
> > exception specifications, and with this patch we won't even call
> > cp_check_qualified_type on a complex eh spec.
> 
> My concern is that if we're building a function type multiple times with the
> same noexcept-spec, this patch would mean creating multiple equivalent
> function types instead of reusing one already created for the same function.
> 
> > > > +  bool complex_p = (cr && cr != noexcept_true_spec
> > > > +   && !UNPARSED_NOEXCEPT_SPEC_P (cr));
> > > 
> > > Why treat unparsed specs differently from parsed ones?
> > 
> > Unparsed specs are unique according to cp_tree_equal, so in turn
> > function types with unparsed specs are unique, so it should be safe to
> > treat such types as canonical.  I'm not sure if this optimization
> > matters though; I'm happy to remove this case.
> 
> The idea that this optimization could make a difference raised the concern
> above.

Aha, makes sense.  To that end it seems we could strengthen the ce_exact
in comp_except_specs to require == instead of cp_tree_equal equality
when comparing two noexcept-specs; the only ce_exact callers are
cp_check_qualified_type and cxx_type_hash_eq, which should be fine with
that strengthening.  This way, we at least do try to reuse a variant if
the (complex or unparsed) noexcept-spec is exactly the same.

Like so?

-- >8 --

Subject: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

Here the member functions QList::g and QList::h are given the same
function type since their exception specifications are equivalent
according to cp_tree_equal.  In doing so however this means that the
type of QList::h refers to a function parameter from QList::g, which
ends up confusing modules streaming.

I'm not sure if modules can be fixed to handle this situation, but
regardless it seems weird in principle that a function parameter can
escape in such a way.  The analogous situation with a trailing return
type and decltype

  auto g(QList ) -> decltype(f(other));
  auto h(QList ) -> decltype(f(other));

behaves better because we don't canonicalize decltype, and so the
function types of g and h are non-canonical and therefore not shared.

In light of this, it seems natural to treat function types with complex
eh specs as non-canonical as well so that each such function declaration
is given a unique function/method type node.  The main benefit of type
canonicalization is to speed up repeated type comparisons, but it should
rare for us to repeatedly compare two otherwise compatible function
types with complex exception specifications, so foregoing canonicalization
should not cause any problems.

To that end, this patch strengthens the ce_exact case of comp_except_specs
to require identity instead of equivalence of the exception specification
so that build_cp_fntype_variant doesn't reuse a variant when it shouldn't.
And in build_cp_fntype_variant we need to use structural equality for types
with a complex eh spec.  In turn we could simplify the code responsible
for adjusting unparsed eh spec variants.

PR c++/115159

gcc/cp/ChangeLog:

* tree.cc (build_cp_fntype_variant): Always use structural
equality for types with a complex exception specification.
(fixup_deferred_exception_variants): Always use structural
equality for adjusted variants.
* typeck.cc (comp_except_specs): Require == instead of
cp_tree_equal for noexcept-spec comparison in the ce_exact case.

gcc/testsuite/ChangeLog:

* g++.dg/modules/noexcept-2_a.H: New test.
* g++.dg/modules/noexcept-2_b.C: New test.
---
 gcc/cp/tree.cc  | 47 +
 gcc/cp/typeck.cc|  4 +-
 gcc/testsuite/g++.dg/modules/noexcept-2_a.H | 24 +++
 gcc/testsuite/g++.dg/modules/noexcept-2_b.C |  4 ++
 4 files changed, 41 insertions(+), 38 deletions(-)
 create mode 100644 gcc/testsuite/g++.dg/modules/noexcept-2_a.H
 create mode 100644 gcc/testsuite/g++.dg/modules/noexcept-2_b.C

diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index 9d37d255d8d..93a64322418 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -2794,7 +2794,12 @@ build_cp_fntype_variant (tree type, 

Results for 13.3.1 20240522 [releases/gcc-13 r13-8790-ga841964721] (GCC) testsuite on powerpc64-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER9 BE) via Gcc-testresults


git commit g:a841964721931b7da03760b0bc47b3ec1f212f48
gcc-descr r13-8790-ga841964721931b

power9 BE
Linux 6.7.12-powerpc64 ppc64
GNU Make 4.3

DejaGnu:
DejaGnu version 1.6.3
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Wed May 22 00:36:40 UTC 2024 (revision r13-8790-ga841964721)

Native configuration is powerpc64-unknown-linux-gnu

=== g++ tests ===


Running target unix/-m32
FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++2b (test for excess errors)

=== g++ Summary for unix/-m32 ===

# of expected passes226116
# of unexpected failures2
# of expected failures  1929
# of unsupported tests  10898

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes235076
# of expected failures  1937
# of unsupported tests  11086

=== g++ Summary ===

# of expected passes461192
# of unexpected failures2
# of expected failures  3866
# of unsupported tests  21984
/home/gccbuild/build/nightly/build-gcc-13/gcc/xg++  version 13.3.1 20240522 
[releases/gcc-13 r13-8790-ga841964721] (GCC) 

=== gcc tests ===


Running target unix/-m32
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/ipa-sra-1.c   -O0  line 15 k == 3
XPASS: gcc.dg/guality/ipa-sra-1.c   -O1  -DPREVENT_OPTIMIZATION  line 15 k == 3
XPASS: gcc.dg/guality/ipa-sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 15 k == 3
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: 

Results for 14.1.1 20240521 [releases/gcc-14 r14-10227-g5b96d547ce7] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
86/avx512vl-broadcast-pr87767-1.c scan-assembler-times 
vpbroadcastd[t ]+%(?:r|e)[^\\n]*, %xmm[0-9]+ 3
FAIL: gcc.target/i386/avx512vl-broadcast-pr87767-1.c scan-assembler-times 
vpbroadcastd[t ]+%(?:r|e)[^\\n]*, %ymm[0-9]+ 3
FAIL: gcc.target/i386/cleanup-1.c (test for excess errors)
UNRESOLVED: gcc.target/i386/cleanup-1.c compilation failed to produce executable
FAIL: gcc.target/i386/interrupt-12.c scan-assembler-times leave 1
FAIL: gcc.target/i386/interrupt-13.c scan-assembler-times leave 1
FAIL: gcc.target/i386/interrupt-14.c scan-assembler-times leave 2
FAIL: gcc.target/i386/interrupt-15.c scan-assembler-times leave 2
FAIL: gcc.target/i386/ipa-stack-alignment-2.c scan-assembler sub.*%.sp
FAIL: gcc.target/i386/ipa-stack-alignment.c scan-assembler sub.*%.sp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pr100704-3.c scan-assembler push[lq]\\tf+
FAIL: gcc.target/i386/pr103144-mul-1.c scan-tree-dump-times vect "vectorized 1 
loops" 4
FAIL: gcc.target/i386/pr103144-neg-1.c scan-tree-dump-times vect "vectorized 1 
loops" 4
FAIL: gcc.target/i386/pr103144-shift-1.c scan-tree-dump-times vect "vectorized 
1 loops" 6
FAIL: gcc.target/i386/pr106245-3.c scan-assembler cltd
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
XPASS: gcc.target/i386/pr54855-9.c scan-assembler-not movaps
FAIL: gcc.target/i386/pr79690.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr79723.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr82699-1.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-2.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-3.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-5.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-6.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr90356.c scan-assembler pxor
FAIL: gcc.target/i386/pr93492-2.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-3.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-4.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-5.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr95126-m32-1.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr95126-m32-2.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr97032.c (internal compiler error: output_operand: 
invalid use of register 'frame')
FAIL: gcc.target/i386/pr97032.c (test for excess errors)
UNRESOLVED: gcc.target/i386/pr97032.c scan-assembler call[ 
\\t]*_?__errno_location
FAIL: gcc.target/i386/sse2-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 5
FAIL: gcc.target/i386/sse4-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 6
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvtdq2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvtph2ps 2
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvtps2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvttph2dq 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvtdq2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvtph2ps 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvtps2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvttph2dq 2
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/vect-float16-11.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-12.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-2.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-3.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-5.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-6.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-8.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-float16-9.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-pr113078.c scan-assembler-times vpsub[^\\r\\n]*%k 2
FAIL: gcc.target/i386/vect-pr67800.c scan-tree-dump vect "vectorized 1 loops"
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times padd 5
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times psrl 2
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary ===

# of expected passes    196326
# of unexpected failures229
# of u

[Bug rtl-optimization/115182] New: [15 Regression] gcc.target/cris/pr93372-47.c at r15-518-g99b1daae18c095

2024-05-21 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115182

Bug ID: 115182
   Summary: [15 Regression] gcc.target/cris/pr93372-47.c at
r15-518-g99b1daae18c095
   Product: gcc
   Version: 15.0
Status: UNCONFIRMED
  Keywords: missed-optimization, testsuite-fail
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hp at gcc dot gnu.org
CC: law at gcc dot gnu.org, pinskia at gcc dot gnu.org,
rguenth at gcc dot gnu.org, unassigned at gcc dot gnu.org
Depends on: 115144
  Target Milestone: ---
Target: cris-elf

+++ This bug was initially created as a clone of Bug #115144 +++

This bug is only about the unfilled delay-slot that caused
gcc.target/cris/pr93372-47.c to fail starting at r15-518-g99b1daae18c095; not
about the incidental (possibly generic but at least unrelated to
delay-slot-filling) performance regression I noticed.  The bug seems to be due
to a bug in reorg.cc or actually, in resource.cc.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115144
[Bug 115144] [15 Regression] 2% performance regression for some codes with
r15-518-g99b1daae18c095

Results for 13.3.1 20240521 [releases/gcc-13 r13-8789-g9433e308e0c] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
FAIL: gcc.target/i386/pr103144-shift-1.c scan-tree-dump-times vect "vectorized 
1 loops" 6
FAIL: gcc.target/i386/pr71321.c scan-assembler-not lea.*0
FAIL: gcc.target/i386/pr78794.c scan-assembler pandn
FAIL: gcc.target/i386/pr79690.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr79723.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr82699-1.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-2.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-3.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-5.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-6.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr90356.c scan-assembler pxor
FAIL: gcc.target/i386/pr93492-2.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-3.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-4.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-5.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr95126-m32-1.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr95126-m32-2.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr95126-m32-3.c scan-assembler pushl[ t]*\$2
FAIL: gcc.target/i386/pr95126-m32-3.c scan-assembler-not movzwl
FAIL: gcc.target/i386/pr95126-m32-4.c scan-assembler pushl[ t]*\$131073
FAIL: gcc.target/i386/pr97032.c (internal compiler error: output_operand: 
invalid use of register 'frame')
FAIL: gcc.target/i386/pr97032.c (test for excess errors)
UNRESOLVED: gcc.target/i386/pr97032.c scan-assembler call[ 
\\t]*_?__errno_location
FAIL: gcc.target/i386/sse2-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 5
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
pand[^\\n]*%xmm 3
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
psllw[^\\n]*%xmm 1
FAIL: gcc.target/i386/sse4-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 6
FAIL: gcc.target/i386/vect-float16-11.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-12.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-2.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-3.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-5.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-6.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-8.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-float16-9.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-pr67800.c scan-tree-dump vect "vectorized 1 loops"
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times padd 5
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times psrl 2

=== gcc Summary ===

# of expected passes184989
# of unexpected failures209
# of unexpected successes   31
# of expected failures  1464
# of unresolved testcases   114
# of unsupported tests  3582
/home/haochenj/src/gcc-13-regression/bld/gcc/xgcc  version 13.3.1 20240521 
[releases/gcc-13 r13-8789-g9433e308e0c] (GCC) 

=== gfortran tests ===


Running target unix
UNRESOLVED: gfortran.dg/weak-1.f90   -O 
UNRESOLVED: gfortran.dg/weak-2.f90   -O 
UNRESOLVED: gfortran.dg/weak-3.f90   -O 

=== gfortran Summary ===

# of expected passes68210
# of expected failures  261
# of unresolved testcases   3
# of unsupported tests  219
/home/haochenj/src/gcc-13-regression/bld/gcc/gfortran  version 13.3.1 20240521 
[releases/gcc-13 r13-8789-g9433e308e0c] (GCC) 

=== g++ tests ===


Running target unix
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array + 3, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array - 1, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 36) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtollOOBTest 
Strtol(array + 3, NULL, 0)

Results for 13.3.1 20240521 [releases/gcc-13 r13-8789-g9433e308e0] (GCC) testsuite on powerpc64le-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER8) via Gcc-testresults
: gcc.dg/guality/pr56154-1.c  -Og -DPREVENT_OPTIMIZATION  line 
pr56154-1.c:20 x.a == 6
FAIL: gcc.dg/guality/pr59776.c  -Og -DPREVENT_OPTIMIZATION  line pr59776.c:17 
s1.f == 5.0
FAIL: gcc.dg/guality/pr59776.c  -Og -DPREVENT_OPTIMIZATION  line pr59776.c:17 
s1.g == 6.0
FAIL: gcc.dg/guality/pr59776.c  -Og -DPREVENT_OPTIMIZATION  line pr59776.c:17 
s2.f == 0.0
FAIL: gcc.dg/guality/pr59776.c  -Og -DPREVENT_OPTIMIZATION  line pr59776.c:20 
s1.f == 5.0
FAIL: gcc.dg/guality/pr59776.c  -Og -DPREVENT_OPTIMIZATION  line pr59776.c:20 
s1.g == 6.0
FAIL: gcc.dg/guality/pr59776.c  -Og -DPREVENT_OPTIMIZATION  line pr59776.c:20 
s2.f == 5.0
FAIL: gcc.dg/guality/pr68860-1.c   -O2  -DPREVENT_OPTIMIZATION  line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/pr68860-1.c   -Os  -DPREVENT_OPTIMIZATION  line 16 y == 2
FAIL: gcc.dg/guality/pr68860-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 a.i == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 32 a[0] == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 32 a[1] == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 43 a.i == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 21 a.i == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 21 a.j == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 32 a[0] == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 32 a[1] == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 43 a.i == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/torture/pr52451.c   -O0  execution test
FAIL: gcc.dg/torture/pr52451.c   -O1  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.dg/torture/pr52451.c   -O3 -g  execution test
FAIL: gcc.dg/torture/pr52451.c   -Os  execution test
FAIL: gcc.dg/torture/pr91323.c   -O0  execution test
FAIL: gcc.dg/torture/pr91323.c   -O1  execution test
FAIL: gcc.dg/torture/pr91323.c   -O2  execution test
FAIL: gcc.dg/torture/pr91323.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr91323.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.dg/torture/pr91323.c   -O3 -g  execution test
FAIL: gcc.dg/torture/pr91323.c   -Os  execution test
XPASS: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;"
FAIL: gcc.target/powerpc/pr105586.c (test for excess errors)
FAIL: gcc.target/powerpc/rlwimi-2.c scan-assembler-times (?n)^s+[a-z] 20217
FAIL: gcc.target/powerpc/rs6000-fpint.c scan-assembler-not stfiwx
XPASS: gcc.target/powerpc/ppc-fortran/ieee128-math.f90   -O  (test for excess 
errors)

=== gcc Summary ===

# of expected passes169208
# of unexpected failures127
# of unexpected successes   16
# of expected failures  1544
# of unsupported tests  3993
/home/gccbuild/build/nightly/build-gcc-13/gcc/xgcc  version 13.3.1 20240521 
[releases/gcc-13 r13-8789-g9433e308e0] (GCC) 

=== gfortran tests ===


Running target unix
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O0  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O1  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O2  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O3 -g  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -Os  execution test
FAIL: gfortran.dg/ieee/large_2.f90   -O0  execution test
FAIL: gfortran.dg/ieee/large_2.f90   -O1  execution test
FAIL: gfortran.dg/ieee/large_2.f90   -O2  execution test
FAIL: gfortran.dg/ieee/large_2.f90   -O3 -f

Results for 15.0.0 20240521 (experimental) [master r15-758-g9926c40a902] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
o-fat-lto-objects  -DPREVENT_OPTIMIZATION line 24 sizeof (a) == 17 * sizeof 
(short)
XPASS: gcc.dg/plugin/infoleak-vfio_iommu_type1.c 
-fplugin=./analyzer_kernel_plugin.so  (test for bogus messages, line 42)
FAIL: gcc.dg/tree-ssa/pr64910-2.c scan-assembler-times and|test 20
FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorizing stmts using SLP" 1
FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 1
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-6.c scan-assembler-times (?:vinserti128|vmovdqu)[ 
t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ t]+#) 2
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/vect-shiftv4qi.c scan-assembler-times psrlw 5
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary for unix/-m32 ===

# of expected passes197675
# of unexpected failures160
# of unexpected successes   30
# of expected failures  1552
# of unsupported tests  4076

=== gcc Summary ===

# of expected passes401707
# of unexpected failures322
# of unexpected successes   50
# of expected failures  3098
# of unsupported tests  7351
/export/home/haochenj/src/gcc-reg

Results for 15.0.0 20240522 (experimental) [master revision gcc-15-761-gbad96a02c48] (GCC) testsuite on aarch64-unknown-linux-gnu

2024-05-21 Thread ci_notify--- via Gcc-testresults
# From https://ci.linaro.org/job/tcwg_gcc_check--master-aarch64-build/2036/:
LAST_UPDATED: 2024-05-22T00:49:58+00:00 (master revision 
gcc-15-761-gbad96a02c48) aarch64-unknown-linux-gnu

Native configuration is aarch64-unknown-linux-gnu

=== libatomic tests ===


Running target tcwg-local

=== libatomic Summary ===

# of expected passes54
=== libgomp tests ===


Running target tcwg-local
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
190 (test for warnings, line 185)
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
221 (test for warnings, line 214)
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
252 (test for warnings, line 245)
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2  (test for 
excess errors)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
190 (test for warnings, line 185)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
221 (test for warnings, line 214)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2   at line 
252 (test for warnings, line 245)
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_prof-kernels-1.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable  -O2  (test for 
excess errors)

=== libgomp Summary ===

# of expected passes16210
# of unexpected failures8
# of expected failures  284
# of unsupported tests  649
=== libitm tests ===


Running target tcwg-local

=== libitm Summary ===

# of expected passes44
# of expected failures  3
# of unsupported tests  1
=== libstdc++ tests ===


Running target tcwg-local

=== libstdc++ Summary ===

# of expected passes18556
# of expected failures  126
# of unsupported tests  747
=== gcc tests ===


Running target tcwg-local
FAIL: gcc.dg/guality/vla-1.c   -O2  -DPREVENT_OPTIMIZATION  line 17 sizeof (a) 
== 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 17 sizeof (a) == 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 17 sizeof (a) == 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 24 i == 5
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 24 sizeof (a) == 17 * sizeof 
(short)
FAIL: gcc.dg/guality/vla-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 17 sizeof 
(a) == 6
FAIL: gcc.dg/guality/vla-1.c   -Os  -DPREVENT_OPTIMIZATION  line 17 sizeof (a) 
== 6
FAIL: gcc.dg/tree-ssa/ssa-dom-thread-7.c scan-tree-dump thread2 "Jumps 
threaded: 18"
FAIL: gcc.target/aarch64/aes_xor_combine.c scan-assembler-not eor
FAIL: gcc.target/aarch64/aes_xor_combine.c scan-assembler-not mov
FAIL: gcc.target/aarch64/ashltidisi.c scan-assembler-times asr 3
FAIL: gcc.target/aarch64/asimd-mull-elem.c scan-assembler-times 
s+fmultv[0-9]+.4s, v[0-9]+.4s, v[0-9]+.s[0] 4
FAIL: gcc.target/aarch64/asimd-mull-elem.c scan-assembler-times 
s+multv[0-9]+.4s, v[0-9]+.4s, v[0-9]+.s[0] 4
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g1
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g16
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies 
g16p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g1p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g8
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g8p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g1
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g16
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g16p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g1p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g8
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g8p
FAIL: gcc.target/aarch64/ccmp_3.c scan-assembler-not \\tcbnz\\t
XPASS: gcc.target/aarch64/pr100056.c 

Results for 15.0.0 20240521 (experimental) [master r15-760-g826a7d3d19d] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
asses    196294
# of unexpected failures230
# of unexpected successes   27
# of expected failures  1502
# of unresolved testcases   114
# of unsupported tests  4196
/home/haochenj/src/gcc-regression/bld/gcc/xgcc  version 15.0.0 20240521 
(experimental) [master r15-760-g826a7d3d19d] (GCC) 

=== gfortran tests ===


Running target unix
UNRESOLVED: gfortran.dg/weak-1.f90   -O 
UNRESOLVED: gfortran.dg/weak-2.f90   -O 
UNRESOLVED: gfortran.dg/weak-3.f90   -O 

    === gfortran Summary ===

# of expected passes69835
# of expected failures  275
# of unresolved testcases   3
# of unsupported tests  233
/home/haochenj/src/gcc-regression/bld/gcc/gfortran  version 15.0.0 20240521 
(experimental) [master r15-760-g826a7d3d19d] (GCC) 

=== g++ tests ===


Running target unix
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++14
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++17
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++20
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++98
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++14
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++17
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++20
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++98
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++14
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++17
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++20
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++98
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++14
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++17
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++20
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++98
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++14
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++17
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++20
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++98
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++14
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++17
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++20
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++98
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++14
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++17
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++20
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++98
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++14
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++17
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++20
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++98
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++14
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++17
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++20
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++98
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++14
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++17
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++20
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++98
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++14
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++17
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++20
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++98
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++14
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++17
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++20
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++98
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++98
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++14
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++17
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++20
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++98
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++14
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++17
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++20
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++98
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++14
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++17
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++20
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++98
UNRESOLVED: g++.dg/ext/tmplattr9.C  -std=gnu++14
UNRESOLVED: g++.dg

[PATCH v2] Match: Support __builtin_add_overflow branch form for unsigned SAT_ADD

2024-05-21 Thread pan2 . li
From: Pan Li 

This patch would like to support the __builtin_add_overflow branch form for
unsigned SAT_ADD.  For example as below:

uint64_t
sat_add (uint64_t x, uint64_t y)
{
  uint64_t ret;
  return __builtin_add_overflow (x, y, ) ? -1 : ret;
}

Different to the branchless version,  we leverage the simplify to
convert the branch version of SAT_ADD into branchless if and only
if the backend has supported the IFN_SAT_ADD.  Thus,  the backend has
the ability to choose branch or branchless implementation of .SAT_ADD.
For example,  some target can take care of branches code more optimally.

When the target implement the IFN_SAT_ADD for unsigned and before this
patch:

uint64_t sat_add (uint64_t x, uint64_t y)
{
  long unsigned int _1;
  long unsigned int _2;
  uint64_t _3;
  __complex__ long unsigned int _6;

;;   basic block 2, loop depth 0
;;pred:   ENTRY
  _6 = .ADD_OVERFLOW (x_4(D), y_5(D));
  _2 = IMAGPART_EXPR <_6>;
  if (_2 != 0)
goto ; [35.00%]
  else
goto ; [65.00%]
;;succ:   4
;;3

;;   basic block 3, loop depth 0
;;pred:   2
  _1 = REALPART_EXPR <_6>;
;;succ:   4

;;   basic block 4, loop depth 0
;;pred:   3
;;2
  # _3 = PHI <_1(3), 18446744073709551615(2)>
  return _3;
;;succ:   EXIT
}

After this patch:
uint64_t sat_add (uint64_t x, uint64_t y)
{
  long unsigned int _12;

;;   basic block 2, loop depth 0
;;pred:   ENTRY
  _12 = .SAT_ADD (x_4(D), y_5(D)); [tail call]
  return _12;
;;succ:   EXIT
}

The below test suites are passed for this patch:
* The x86 bootstrap test.
* The x86 fully regression test.
* The riscv fully regression test.

gcc/ChangeLog:

* match.pd: Add new simplify to convert branch SAT_ADD into
branchless,  if and only if backend implement the IFN.

Signed-off-by: Pan Li 
---
 gcc/match.pd | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/gcc/match.pd b/gcc/match.pd
index cff67c84498..2dc77a46e67 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -3080,6 +3080,17 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
 (match (unsigned_integer_sat_add @0 @1)
  (bit_ior:c (usadd_left_part_2 @0 @1) (usadd_right_part_2 @0 @1)))
 
+#if GIMPLE
+
+(simplify
+ (cond (ne (imagpart (IFN_ADD_OVERFLOW@2 @0 @1)) integer_zerop)
+  integer_minus_onep (realpart @2))
+ (if (ternary_integer_types_match_p (type, @0, @1) && TYPE_UNSIGNED (type)
+  && direct_internal_fn_supported_p (IFN_SAT_ADD, type, OPTIMIZE_FOR_BOTH))
+  (bit_ior (plus@3 @0 @1) (negate (convert (lt @3 @0))
+
+#endif
+
 /* x >  y  &&  x != XXX_MIN  -->  x > y
x >  y  &&  x == XXX_MIN  -->  false . */
 (for eqne (eq ne)
-- 
2.34.1



[Bug tree-optimization/115144] [15 Regression] 2% performance regression for some codes with r15-518-g99b1daae18c095

2024-05-21 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115144

--- Comment #7 from Hans-Peter Nilsson  ---
(In reply to Richard Biener from comment #6)
> For gcc.c-torture/execute/arith-rand-ll.c, does it help to replace the exit
> (0) call with a return 0 statement?
No.  FWIW, it also doesn't help renaming and wrapping main to xmain
__attribute__ noipa.

> Looking at gcc.target/cris/pr93372-47.c what we do here is sink tot_bits +=
> n_bits into the else { of the in-loop conditional, in particular we sink
> it right before the exit conditional in the loop.  That's exactly what
> we are supposed to do[...]

Yes; see previous comments.  I'd say the changes in random_bitstring are no
longer "interesting".  I've also analyzed the unfilled delay-slot signalled by
gcc.target/cris/pr93372-47.c to be because of a bug in that pass.  (Not the
same, but events are amusingly parallel to the bug that made me add that
test-case.)

> Note that the sinking doesn't increase register lifetime (one of the reasons
> of the previous heuristic), esp. if we'd go one step further and sink
> to the start of the else { block rather than right before the exit
> conditional.  But I'd guess that wouldn't help the delay-slot filling here?

Sorry, I don't follow here, but I'm going to let that be, as random_bitstring
isn't interesting (except regarding the bug).

> I've noticed CRIS doesn't support scheduling at all, so delay slot filling
> (where's that done?) relies purely on our "random" scheduling we do at
> RTL expansion time (via TER) and during GIMPLE optimization?

Delay-slot-filling is unrelated to scheduling.  It's in reorg.cc with its own
horribly outdated dataflow analysis in resource.cc (but used to be shared).

> That said, I think sinking now works as expected.

In random_bitstring I agree, but there's fallout in main.

>  I do want to play with
> sinking to the start of the else {, but without doing any lifetime analysis
> I fear that's going to be worse in the average as the current location
> at least ensures we're close to the first use of the DEF we sink.

Thank you in advance and for the look this far!  I haven't looked closer at
what happens with later passes in main, but looking at the generated assembly
code, the "sinking" of a division has the eventual effect of increasing
register pressure; see the previously attached dumps.

[Bug target/115161] [15 Regression] highway-1.0.7 miscompilation of some SSE2 intrinsics

2024-05-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115161

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=11666

--- Comment #12 from Andrew Pinski  ---
So GCC behavior changed in 2003 to match more of what Java requires ...

[Bug target/115176] rbit pattern should use bitreverse rtl now

2024-05-21 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115176

Xi Ruoyao  changed:

   What|Removed |Added

 CC||xry111 at gcc dot gnu.org

--- Comment #2 from Xi Ruoyao  ---
LoongArch currently has:

(define_insn "bitrev_4b"
  [(set (match_operand:SI 0 "register_operand" "=r")
(unspec:SI [(match_operand:SI 1 "register_operand" "r")]
UNSPEC_BITREV_4B))]
  ""
  "bitrev.4b\t%0,%1"
  [(set_attr "type" "unknown")
   (set_attr "mode" "SI")])

(define_insn "bitrev_8b"
  [(set (match_operand:DI 0 "register_operand" "=r")
(unspec:DI [(match_operand:DI 1 "register_operand" "r")]
UNSPEC_BITREV_8B))]
  ""
  "bitrev.8b\t%0,%1"
  [(set_attr "type" "unknown")
   (set_attr "mode" "DI")])

Maybe we can make them something like (subreg:DI (bitreverse:V8QI (subreg:QI
(match...) 0)) 0) instead.  And LoongArch also has bitrev.{w/d} instructions
but GCC doesn't know them yet.  I plan to add them after PR50481 is
implemented.

[Bug target/115161] [15 Regression] highway-1.0.7 miscompilation of some SSE2 intrinsics

2024-05-21 Thread liuhongt at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115161

--- Comment #11 from Hongtao Liu  ---
(In reply to Jakub Jelinek from comment #10)
> Any of the floating point to integer intrinsics if they have out of range
> value (haven't checked whether floating point to unsigned intrinsic is a
> problem too or not).
> No matter if it is float or double (dunno if _Float16 too, or __bf16), and
> no matter if it is scalar intrinsic (ss/sd etc.) or vector and how many
> vector elements.
> But, this isn't really a regression, GCC has always behaved that way, the
> only thing that actually changed is that perhaps we can constant fold more
> than we used to do in the past.
> When not using intrinsics, IMNSHO we should keep doing what we did before.

Can we restrict them under flag_trapping_math?

.i.e

diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc
index 53f54d1d392..b7a770dad60 100644
--- a/gcc/simplify-rtx.cc
+++ b/gcc/simplify-rtx.cc
@@ -2256,14 +2256,25 @@ simplify_const_unary_operation (enum rtx_code code,
machine_mode mode,
   switch (code)
{
case FIX:
+ /* According to IEEE standard, for conversions from floating point to
+integer. When a NaN or infinite operand cannot be represented in
+the destination format and this cannot otherwise be indicated, the
+invalid operation exception shall be signaled. When a numeric
+operand would convert to an integer outside the range of the
+destination format, the invalid operation exception shall be
+signaled if this situation cannot otherwise be indicated.  */
  if (REAL_VALUE_ISNAN (*x))
-   return const0_rtx;
+   return flag_trapping_math ? NULL_RTX : const0_rtx;
+
+ if (REAL_VALUE_ISINF (*x) && flag_trapping_math)
+   return NULL_RTX;

  /* Test against the signed upper bound.  */
  wmax = wi::max_value (width, SIGNED);
  real_from_integer (, VOIDmode, wmax, SIGNED);
  if (real_less (, x))
-   return immed_wide_int_const (wmax, mode);
+   return (flag_trapping_math
+   ? NULL_RTX : immed_wide_int_const (wmax, mode));

  /* Test against the signed lower bound.  */
  wmin = wi::min_value (width, SIGNED);
@@ -2276,13 +2287,17 @@ simplify_const_unary_operation (enum rtx_code code,
machine_mode mode,

case UNSIGNED_FIX:
  if (REAL_VALUE_ISNAN (*x) || REAL_VALUE_NEGATIVE (*x))
-   return const0_rtx;
+   return flag_trapping_math ? NULL_RTX : const0_rtx;
+
+ if (REAL_VALUE_ISINF (*x) && flag_trapping_math)
+   return NULL_RTX;

  /* Test against the unsigned upper bound.  */
  wmax = wi::max_value (width, UNSIGNED);
  real_from_integer (, VOIDmode, wmax, UNSIGNED);
  if (real_less (, x))
-   return immed_wide_int_const (wmax, mode);
+   return (flag_trapping_math
+   ? NULL_RTX : immed_wide_int_const (wmax, mode));

  return immed_wide_int_const (real_to_integer (x, , width),

Results for 15.0.0 20240521 (experimental) [src r15-754-g232a86f9640] (GCC) testsuite on powerpc-ibm-aix7.2.5.0

2024-05-21 Thread David Edelsohn via Gcc-testresults
 -gdwarf-2 -O2 (test for excess errors)
XPASS: g++.dg/debug/pr94323.C -gdwarf-2 -O3 (test for excess errors)
XPASS: g++.dg/debug/pr94323.C -gdwarf-2 -g3 (test for excess errors)
XPASS: g++.dg/debug/pr94323.C -gdwarf-2 -g3 -O2 (test for excess errors)
XPASS: g++.dg/debug/pr94323.C -gdwarf-2 -g3 -O3 (test for excess errors)
XPASS: g++.dg/debug/dwarf2/constexpr-var-1.C   scan-assembler-times  
DW_AT_const_expr 2
XPASS: g++.dg/debug/dwarf2/deleted-member-function.C   scan-assembler-times  
DW_AT_deleted 2
FAIL: g++.dg/cpp2a/consteval-prop6.C  -std=c++20  at line 58 (test for 
warnings, line 57)
XPASS: g++.dg/eh/new1.C  -std=c++98 execution test
XPASS: g++.dg/template/linkage1.C  -std=c++98  scan-assembler-not 
(weak|glob)[^\\n]*_Z3fooIXadL_ZL11static_funcvEEEvv
FAIL: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++14 (test for excess errors)
FAIL: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++17 (test for excess errors)
FAIL: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++20 (test for excess errors)
XPASS: g++.dg/tls/thread_local1.C  -std=c++14  scan-assembler-not .comm
XPASS: g++.dg/tls/thread_local1.C  -std=c++17  scan-assembler-not .comm
XPASS: g++.dg/tls/thread_local1.C  -std=c++20  scan-assembler-not .comm
XPASS: g++.dg/torture/pr101373.C   -O0  execution test
XPASS: g++.dg/torture/pr101373.C   -O1  execution test
XPASS: g++.dg/torture/pr101373.C   -O2  execution test
XPASS: g++.dg/torture/pr101373.C   -O3 -g  execution test
XPASS: g++.dg/torture/pr101373.C   -Os  execution test
FAIL: g++.dg/torture/tail-padding1.C   -Os  (internal compiler error: in 
cxx_eval_call_expression, at cp/constexpr.cc:3036)
FAIL: g++.dg/torture/tail-padding1.C   -Os  (test for excess errors)
UNRESOLVED: g++.dg/torture/tail-padding1.C   -Os  compilation failed to produce 
executable
XPASS: g++.old-deja/g++.eh/new2.C  -std=gnu++98 execution test
XPASS: g++.old-deja/g++.mike/p755a.C  -std=c++98 execution test

=== g++ Summary ===

# of expected passes234056
# of unexpected failures7
# of unexpected successes   86
# of expected failures  2686
# of unresolved testcases   1
# of unsupported tests  12017
/tmp/GCC/gcc/xg++  version 15.0.0 20240521 (experimental) [src 
r15-754-g232a86f9640] (GCC) 

=== gcc tests ===


Running target unix
XPASS: gcc.dg/autopar/pr46799.c (test for excess errors)
FAIL: gcc.dg/asm-names.c scan-assembler-not frob14
FAIL: gcc.dg/nextafter-2.c execution test
FAIL: gcc.dg/pr114574-1.c (test for excess errors)
FAIL: gcc.dg/pr114574-2.c (test for excess errors)
XPASS: gcc.dg/pr41345.c (test for excess errors)
XPASS: gcc.dg/pr42631.c (test for excess errors)
FAIL: gcc.dg/stack-usage-1.c scan-stack-usage foo\\t(256|264)\\tstatic
FAIL: gcc.dg/strlenopt-58.c scan-tree-dump-times optimized 
"call_in_true_branch_not_eliminated" 0
FAIL: c-c++-common/goacc/firstprivate-mappings-1.c scan-tree-dump omplower 
"(?n)#pragma omp target oacc_parallel map(from:array_so [len: 
4]) firstprivate(array_li.[0-9]+) 
map(tofrom:(*array.[0-9]+) [len: D.[0-9]+]) 
map(firstprivate:array [pointer assign, bias: 0]) ["
XPASS: gcc.dg/graphite/pr42729.c (test for excess errors)
XPASS: gcc.dg/graphite/pr42917.c (test for excess errors)
FAIL: gcc.dg/tls/alias-1.c (test for excess errors)
XPASS: gcc.dg/torture/pr59166.c   -O0  (test for excess errors)
XPASS: gcc.dg/torture/pr59166.c   -O1  (test for excess errors)
XPASS: gcc.dg/torture/pr59166.c   -O2  (test for excess errors)
XPASS: gcc.dg/torture/pr59166.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  (test for excess errors)
XPASS: gcc.dg/torture/pr59166.c   -O3 -g  (test for excess errors)
XPASS: gcc.dg/torture/pr59166.c   -Os  (test for excess errors)
FAIL: gcc.dg/tree-ssa/abs-4.c scan-tree-dump-times optimized "= ABS_EXPR" 1
FAIL: gcc.dg/tree-ssa/abs-4.c scan-tree-dump-times optimized "= -" 1
FAIL: gcc.dg/tree-ssa/abs-4.c scan-tree-dump-times optimized "= .COPYSIGN" 2
FAIL: gcc.dg/tree-ssa/backprop-6.c scan-tree-dump-times backprop 
"Deleting[^n]* = -" 4
FAIL: gcc.dg/tree-ssa/backprop-6.c scan-tree-dump-times backprop 
"Deleting[^n]* = .COPYSIGN" 2
FAIL: gcc.dg/tree-ssa/backprop-6.c scan-tree-dump-times backprop 
"Deleting[^n]* = ABS_EXPR <" 1
XPASS: gcc.dg/tree-ssa/cunroll-15.c scan-tree-dump optimized "return 1;"
FAIL: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times optimized 
"Invalid sum" 0
XPASS: gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c 
scan-tree-dump-times vect "vectorization not profitable" 1
FAIL: gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c scan-tree-dump-times vect 
"vectorized 1 loops" 1
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-

Re: Re: [PATCH] RISC-V: Enable vectorization for vect-early-break_124-pr114403.c

2024-05-21 Thread Li Xu
Committed, thanks.



xu...@eswincomputing.com
 
From: Robin Dapp
Date: 2024-05-21 22:58
To: juzhe.zh...@rivai.ai; Li Xu; gcc-patches
CC: rdapp.gcc; kito.cheng; palmer; tamar.christina; Richard Biener; 
richard.sandiford; zhengyu; pan2.li
Subject: Re: [PATCH] RISC-V: Enable vectorization for 
vect-early-break_124-pr114403.c
The patch is OK from the riscv side.  generic-ooo includes fast unaligned
access.
 
Regards
Robin


[gcc r15-763] RISC-V: Enable vectorization for vect-early-break_124-pr114403.c

2024-05-21 Thread Li Xu via Gcc-cvs
https://gcc.gnu.org/g:ffab721f3c9ecbb9831844d844ad257b69a77993

commit r15-763-gffab721f3c9ecbb9831844d844ad257b69a77993
Author: xuli 
Date:   Mon May 20 01:56:47 2024 +

RISC-V: Enable vectorization for vect-early-break_124-pr114403.c

Because "targetm.slow_unaligned_access" is set to true by default
(aka -mtune=rocket) for RISC-V, it causes the __builtin_memcpy with
8 bytes failed to folded into int64 assignment during ccp1.

So adding "-mtune=generic-ooo" to the RISC-V target can vectorize
vect-early-break_124-pr114403.c.

gcc/testsuite/ChangeLog:

* gcc.dg/vect/vect-early-break_124-pr114403.c: Enable vectrization 
for RISC-V target.

Diff:
---
 gcc/testsuite/gcc.dg/vect/vect-early-break_124-pr114403.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_124-pr114403.c 
b/gcc/testsuite/gcc.dg/vect/vect-early-break_124-pr114403.c
index 101ae1e0eaa..610b951b262 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_124-pr114403.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_124-pr114403.c
@@ -1,8 +1,9 @@
 /* { dg-add-options vect_early_break } */
 /* { dg-require-effective-target vect_early_break_hw } */
 /* { dg-require-effective-target vect_long_long } */
+/* { dg-additional-options "-mtune=generic-ooo" { target riscv*-*-* } } */
 
-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { xfail riscv*-*-* } } 
} */
+/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
 
 #include "tree-vect.h"
 
@@ -74,4 +75,3 @@ int main ()
 
   return 0;
 }
-


Results for 15.0.0 20240521 (experimental) [remotes/origin/master r15-760-g826a7d3d19d] (GCC) testsuite on pru-unknown-elf

2024-05-21 Thread The GnuPru BuildBot via Gcc-testresults
 = "
FAIL: gcc.dg/tree-ssa/if-to-switch-1.c scan-tree-dump iftoswitch "Condition 
chain with [^\\n\\r]* BBs transformed into a switch statement."
FAIL: gcc.dg/tree-ssa/if-to-switch-10.c scan-tree-dump iftoswitch "Condition 
chain with [^\\n\\r]* BBs transformed into a switch statement."
FAIL: gcc.dg/tree-ssa/if-to-switch-3.c scan-tree-dump iftoswitch "Condition 
chain with [^\\n\\r]* BBs transformed into a switch statement."
FAIL: gcc.dg/tree-ssa/if-to-switch-9.c scan-tree-dump iftoswitch "Condition 
chain with [^\\n\\r]* BBs transformed into a switch statement."
FAIL: gcc.dg/tree-ssa/pr103281-1.c scan-tree-dump-not optimized "foo "
FAIL: gcc.dg/tree-ssa/ssa-dom-thread-7.c scan-tree-dump thread2 "Jumps 
threaded: 9"
FAIL: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times optimized 
"Invalid sum" 0
FAIL: outputs-22 exe savetmp namedb-2: outputs.ld1_args
FAIL: outputs-23 exe savetmp named2-2: outputs.ld1_args
FAIL: outputs-24 exe savetmp named2-3: outputs.ld1_args
FAIL: outputs-25 exe savetmp named2-4: outputs.ld1_args
FAIL: outputs-294 lto sing unnamed-3: a.ld1_args
FAIL: outputs-294 lto sing unnamed-3: a.ld_args

=== gcc Summary ===

# of expected passes133266
# of unexpected failures61
# of unexpected successes   2
# of expected failures  873
# of unresolved testcases   1
# of unsupported tests  4676
/home/dinux/projects/pru/testbot-workspace/pru-gcc-build/gcc/xgcc  version 
15.0.0 20240521 (experimental) [remotes/origin/master r15-760-g826a7d3d19d] 
(GCC) 

Host   is x86_64-pc-linux-gnu

=== g++ tests ===


Running target pru-sim
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98 (test for 
excess errors)
FAIL: g++.dg/coroutines/pr101367.C (test for excess errors)
UNRESOLVED: g++.dg/coroutines/pr101367.C compilation failed to produce 
executable
FAIL: g++.dg/coroutines/torture/co-yield-04-complex-local-state.C (test for 
excess errors)
UNRESOLVED: g++.dg/coroutines/torture/co-yield-04-complex-local-state.C 
compilation failed to produce executable
FAIL: g++.dg/coroutines/torture/func-params-08.C (test for excess errors)
UNRESOLVED: g++.dg/coroutines/torture/func-params-08.C compilation failed to 
produce executable
FAIL: g++.dg/coroutines/torture/func-params-09-awaitable-parms.C (test for 
excess errors)
UNRESOLVED: g++.dg/coroutines/torture/func-params-09-awaitable-parms.C 
compilation failed to produce executable
FAIL: g++.dg/coroutines/torture/local-var-05-awaitable.C (test for excess 
errors)
UNRESOLVED: g++.dg/coroutines/torture/local-var-05-awaitable.C compilation 
failed to produce executable
FAIL: g++

[gcc r15-762] c++: Strengthen checks on 'main'

2024-05-21 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:292fc21a8d7aa2f16e61ac941e22ada6ddd85500

commit r15-762-g292fc21a8d7aa2f16e61ac941e22ada6ddd85500
Author: Nathaniel Shead 
Date:   Sat May 11 22:25:44 2024 +1000

c++: Strengthen checks on 'main'

This patch adds some missing requirements for legal main declarations,
as according to [basic.start.main] p2.

gcc/cp/ChangeLog:

* decl.cc (grokfndecl): Check for main functions with language
linkage or module attachment.
(grokvardecl): Check for extern 'C' entities named main.

gcc/testsuite/ChangeLog:

* g++.dg/abi/main.C: Check pedwarn for main with linkage-spec.
* g++.dg/modules/contracts-1_b.C: Don't declare main in named
module.
* g++.dg/modules/contracts-3_b.C: Likewise.
* g++.dg/modules/contracts-4_d.C: Likewise.
* g++.dg/modules/horcrux-1_a.C: Export declarations, so that...
* g++.dg/modules/horcrux-1_b.C: Don't declare main in named
module.
* g++.dg/modules/main-1.C: New test.
* g++.dg/parse/linkage5.C: New test.
* g++.dg/parse/linkage6.C: New test.

Signed-off-by: Nathaniel Shead 

Diff:
---
 gcc/cp/decl.cc   | 19 +++
 gcc/testsuite/g++.dg/abi/main.C  |  3 ++-
 gcc/testsuite/g++.dg/modules/contracts-1_b.C |  4 
 gcc/testsuite/g++.dg/modules/contracts-3_b.C |  4 
 gcc/testsuite/g++.dg/modules/contracts-4_d.C |  2 --
 gcc/testsuite/g++.dg/modules/horcrux-1_a.C   |  3 +++
 gcc/testsuite/g++.dg/modules/horcrux-1_b.C   |  2 +-
 gcc/testsuite/g++.dg/modules/main-1.C|  5 +
 gcc/testsuite/g++.dg/parse/linkage5.C| 14 ++
 gcc/testsuite/g++.dg/parse/linkage6.C| 13 +
 10 files changed, 53 insertions(+), 16 deletions(-)

diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 6fcab615d55..a992d54dc8f 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -10788,6 +10788,11 @@ grokfndecl (tree ctype,
  "cannot declare %<::main%> to be %qs", "consteval");
   if (!publicp)
error_at (location, "cannot declare %<::main%> to be static");
+  if (current_lang_depth () != 0)
+   pedwarn (location, OPT_Wpedantic, "cannot declare %<::main%> with a"
+" linkage specification");
+  if (module_attach_p ())
+   error_at (location, "cannot attach %<::main%> to a named module");
   inlinep = 0;
   publicp = 1;
 }
@@ -11287,10 +11292,16 @@ grokvardecl (tree type,
 DECL_INTERFACE_KNOWN (decl) = 1;
 
   if (DECL_NAME (decl)
-  && MAIN_NAME_P (DECL_NAME (decl))
-  && scope == global_namespace)
-error_at (DECL_SOURCE_LOCATION (decl),
- "cannot declare %<::main%> to be a global variable");
+  && MAIN_NAME_P (DECL_NAME (decl)))
+{
+  if (scope == global_namespace)
+   error_at (DECL_SOURCE_LOCATION (decl),
+ "cannot declare %<::main%> to be a global variable");
+  else if (DECL_EXTERN_C_P (decl))
+   error_at (DECL_SOURCE_LOCATION (decl),
+ "an entity named % cannot be declared with "
+ "C language linkage");
+}
 
   /* Check that the variable can be safely declared as a concept.
  Note that this also forbids explicit specializations.  */
diff --git a/gcc/testsuite/g++.dg/abi/main.C b/gcc/testsuite/g++.dg/abi/main.C
index 4c5f1ea213c..2797a16df5b 100644
--- a/gcc/testsuite/g++.dg/abi/main.C
+++ b/gcc/testsuite/g++.dg/abi/main.C
@@ -1,10 +1,11 @@
 /* { dg-do compile } */
+/* { dg-additional-options "-Wno-error=pedantic" }
 
 /* Check if entry points get implicit C linkage. If they don't, compiler will
  * error on incompatible declarations */
 
 int main();
-extern "C" int main();
+extern "C" int main();  // { dg-warning "linkage specification" }
 
 #ifdef __MINGW32__
 
diff --git a/gcc/testsuite/g++.dg/modules/contracts-1_b.C 
b/gcc/testsuite/g++.dg/modules/contracts-1_b.C
index 30c15f6928b..aa36c8d6b1b 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-1_b.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-1_b.C
@@ -1,15 +1,11 @@
 // { dg-module-do run }
 // { dg-additional-options "-fmodules-ts -fcontracts 
-fcontract-continuation-mode=on" }
-module;
 #include 
-export module bar;
-// { dg-module-cmi bar }
 import foo;
 
 template
 bool bar_fn_pre(T n) { printf("bar fn pre(%d)\n", n); return true; }
 
-export
 template
 T bar_fn(T n)
   [[ pre: bar_fn_pre(n) && n > 0 ]]
diff --git a/gcc/testsuite/g++.dg/modules/contracts-3_b.C 
b/gcc/testsuite/g++.dg/modules/contracts-3_b.C
index b1d6375391b..1a29e2c3e5d 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-3_b.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-3_b.C
@@ -1,15 +1,11 @@
 // { dg-module-do run }
 // { dg-additional-options "-fmodules-ts -fcontracts 
-fcontract-role=default:ignore,ignore,ignore" }
-module;
 #include 
-export module bar;
-// { dg-module-cmi bar }
 

Results for 14.1.1 20240521 [releases/gcc-14 r14-10227-g5b96d547ce7] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
es and|test 20
FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorizing stmts using SLP" 1
FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 1
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-6.c scan-assembler-times (?:vinserti128|vmovdqu)[ 
t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ t]+#) 2
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary for unix/-m32 ===

# of expected passes197707
# of unexpected failures159
# of unexpected successes   30
# of expected failures  1552
# of unsupported tests  4078

=== gcc Summary ===

# of expected passes401742
# of unexpected failures318
# of unexpected successes   50
# of expected failures  3098
# of unsupported tests  7370
/export/home/haochenj/src/gcc-14-regression/bld/gcc/xgcc  version 14.1.1 
20240521 [releases/gcc-14 r14-10227-g5b96d547ce7] (GCC) 

=== gfortran tests ===


Running target unix

=== gfortran Summary for unix ===

# of expected passes70087
# of expected failures  273
# of unsupported tests 

Results for 15.0.0 20240521 (experimental) [master r15-760-g826a7d3d19d] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
o-fat-lto-objects  -DPREVENT_OPTIMIZATION line 24 sizeof (a) == 17 * sizeof 
(short)
XPASS: gcc.dg/plugin/infoleak-vfio_iommu_type1.c 
-fplugin=./analyzer_kernel_plugin.so  (test for bogus messages, line 42)
FAIL: gcc.dg/tree-ssa/pr64910-2.c scan-assembler-times and|test 20
FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorizing stmts using SLP" 1
FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 1
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-6.c scan-assembler-times (?:vinserti128|vmovdqu)[ 
t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ t]+#) 2
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/vect-shiftv4qi.c scan-assembler-times psrlw 5
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary for unix/-m32 ===

# of expected passes197675
# of unexpected failures160
# of unexpected successes   30
# of expected failures  1552
# of unsupported tests  4076

=== gcc Summary ===

# of expected passes401707
# of unexpected failures322
# of unexpected successes   50
# of expected failures  3098
# of unsupported tests  7351
/export/home/haochenj/src/gcc-reg

[Bug c++/115181] [ICE] internal compiler error in invalid_tparm_referent_p, at cp/pt.cc:7274

2024-05-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115181

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-05-22
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1

--- Comment #2 from Andrew Pinski  ---
Confirmed. Not a regression, the ICE only happens with checking turned on.

Results for 15.0.0 20240521 (experimental) [master revision gcc-15-760-g826a7d3d19d] (GCC) testsuite on aarch64-unknown-linux-gnu

2024-05-21 Thread ci_notify--- via Gcc-testresults
bitint-abi-align16.c check-function-bodies 
g16p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g1p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g8
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align16.c check-function-bodies g8p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g1
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g16
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g16p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g1p
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g8
FAIL: gcc.target/aarch64/bitfield-bitint-abi-align8.c check-function-bodies g8p
FAIL: gcc.target/aarch64/ccmp_3.c scan-assembler-not \\tcbnz\\t
XPASS: gcc.target/aarch64/pr100056.c scan-assembler-not 
t[us]bfiztw[0-9]+, w[0-9]+, 11
FAIL: gcc.target/aarch64/pr100056.c scan-assembler-times 
t[us]bfiztw[0-9]+, w[0-9]+, 11 2
FAIL: gcc.target/aarch64/pr100056.c scan-assembler-times taddtw[0-9]+, 
w[0-9]+, w[0-9]+, uxtbn 2
FAIL: gcc.target/aarch64/pr108840.c scan-assembler-not andtw[0-9]+, 
w[0-9]+, 31
FAIL: gcc.target/aarch64/pr112105.c scan-assembler-not tdupt
FAIL: gcc.target/aarch64/pr112105.c scan-assembler-times 
(?n)tfmult.*v[0-9]+.s[0]n 2
FAIL: gcc.target/aarch64/rev16_2.c scan-assembler-times rev16tx[0-9]+ 2
FAIL: gcc.target/aarch64/vaddX_high_cost.c scan-assembler-not dupt
FAIL: gcc.target/aarch64/vmul_element_cost.c scan-assembler-not dupt
FAIL: gcc.target/aarch64/vmul_high_cost.c scan-assembler-not dupt
FAIL: gcc.target/aarch64/vsubX_high_cost.c scan-assembler-not dupt
FAIL: gcc.target/aarch64/sve/mask_struct_load_3_run.c execution test
FAIL: gcc.target/aarch64/sve/pr96357.c scan-assembler 
tfsubrtz[0-9]+.d, p[0-7]/m, z[0-9]+.d, #1.0
FAIL: gcc.target/aarch64/sve/pr96357.c scan-assembler tmovprfxtz[0-9]+, 
z[0-9]+
FAIL: gcc.target/aarch64/sve/pr98119.c scan-assembler tandtx[0-9]+, 
x[0-9]+, #?-31n
FAIL: gcc.target/aarch64/sve/pre_cond_share_1.c scan-tree-dump-times optimized 
".COND_MUL" 1
XPASS: gcc.target/aarch64/sve/pre_cond_share_1.c scan-tree-dump-times optimized 
".VCOND" 1
FAIL: gcc.target/aarch64/sve/pred-not-gen-1.c scan-assembler-not tbict
FAIL: gcc.target/aarch64/sve/pred-not-gen-1.c scan-assembler-times 
tnottp[0-9]+.b, p[0-9]+/z, p[0-9]+.bn 1
FAIL: gcc.target/aarch64/sve/pred-not-gen-4.c scan-assembler-not tbict
FAIL: gcc.target/aarch64/sve/pred-not-gen-4.c scan-assembler-times 
tnottp[0-9]+.b, p[0-9]+/z, p[0-9]+.bn 1
FAIL: gcc.target/aarch64/sve/var_stride_2.c scan-assembler-times 
tubfiztx[0-9]+, x2, 10, 16n 1
FAIL: gcc.target/aarch64/sve/var_stride_2.c scan-assembler-times 
tubfiztx[0-9]+, x3, 10, 16n 1
FAIL: gcc.target/aarch64/sve/var_stride_4.c scan-assembler-times 
tsbfiztx[0-9]+, x2, 10, 32n 1
FAIL: gcc.target/aarch64/sve/var_stride_4.c scan-assembler-times 
tsbfiztx[0-9]+, x3, 10, 32n 1

=== gcc Summary ===

# of expected passes339558
# of unexpected failures313
# of unexpected successes   2
# of expected failures  1763
# of unsupported tests  4195
/home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/bin/aarch64-linux-gnu-gcc
  version 15.0.0 20240521 (experimental) [master revision 
gcc-15-760-g826a7d3d19d] (GCC) 

Host   is x86_64-pc-linux-gnu

=== gfortran tests ===


Running target qemu
FAIL: gfortran.dg/asan/pointer_assign_16.f90 -fsanitize=address  -O0  execution 
test
FAIL: gfortran.dg/asan/pointer_assign_16.f90 -fsanitize=address  -O1  execution 
test
FAIL: gfortran.dg/asan/pointer_assign_16.f90 -fsanitize=address  -O2  execution 
test
FAIL: gfortran.dg/asan/pointer_assign_16.f90 -fsanitize=address  -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
execution test
FAIL: gfortran.dg/asan/pointer_assign_16.f90 -fsanitize=address  -O3 -g  
execution test
FAIL: gfortran.dg/asan/pointer_assign_16.f90 -fsanitize=address  -Os  execution 
test
FAIL: gfortran.dg/asan/pr110415-2.f90 -fsanitize=address  -O0  execution test
FAIL: gfortran.dg/asan/pr110415-2.f90 -fsanitize=address  -O1  execution test
FAIL: gfortran.dg/asan/pr110415-2.f90 -fsanitize=address  -O2  execution test
FAIL: gfortran.dg/asan/pr110415-2.f90 -fsanitize=address  -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
execution test
FAIL: gfortran.dg/asan/pr110415-2.f90 -fsanitize=address  -O3 -g  execution test
FAIL: gfortran.dg/asan/pr110415-2.f90 -fsanitize=address  -Os  execution test
FAIL: gfortran.dg/asan/pr110415-3.f90 -fsanitize=address  -O0  execution test
FAIL: gfortran.dg/asan/pr110415-3.f90 -fsanitize=address  -O1  executi

Re: [PATCH 6/13] rs6000, add overloaded vec_sel with int128 arguments

2024-05-21 Thread Carl Love
Kewen:

On 5/13/24 19:54, Kewen.Lin wrote:
> Hi,
> 
> on 2024/4/20 05:17, Carl Love wrote:
>> rs6000, add overloaded vec_sel with int128 arguments
>>
>> Extend the vec_sel built-in to take three signed/unsigned int128 arguments
>> and return a signed/unsigned int128 result.
>>
>> Extending the vec_sel built-in makes the existing buit-ins
>> __builtin_vsx_xxsel_1ti and __builtin_vsx_xxsel_1ti_uns obsolete.  The
>> patch removes these built-ins.
>>
>> The patch adds documentation and test cases for the new overloaded vec_sel
>> built-ins.
>>
>> gcc/ChangeLog:
>>  * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxsel_1ti,
>>  __builtin_vsx_xxsel_1ti_uns): Remove built-in definitions.
>>  * config/rs6000/rs6000-overload.def (vec_sel): Add new overloaded
>>  definitions.
>>  * doc/extend.texi: Add documentation for new vec_sel arguments.
>>
>> gcc/testsuite/ChangeLog:
>>  * gcc.target/powerpc/vec_sel_runnable-int128.c: New test file.
>> ---
>>  gcc/config/rs6000/rs6000-builtins.def |  6 --
>>  gcc/config/rs6000/rs6000-overload.def |  4 +
>>  gcc/doc/extend.texi   | 14 
>>  .../powerpc/vec-sel-runnable-i128.c   | 84 +++
>>  4 files changed, 102 insertions(+), 6 deletions(-)
>>  create mode 100644 gcc/testsuite/gcc.target/powerpc/vec-sel-runnable-i128.c
>>
>> diff --git a/gcc/config/rs6000/rs6000-builtins.def 
>> b/gcc/config/rs6000/rs6000-builtins.def
>> index d09e21a9151..46d2ae7b7cb 100644
>> --- a/gcc/config/rs6000/rs6000-builtins.def
>> +++ b/gcc/config/rs6000/rs6000-builtins.def
>> @@ -1931,12 +1931,6 @@
>>const vuc __builtin_vsx_xxsel_16qi_uns (vuc, vuc, vuc);
>>  XXSEL_16QI_UNS vector_select_v16qi_uns {}
>>  
>> -  const vsq __builtin_vsx_xxsel_1ti (vsq, vsq, vsq);
>> -XXSEL_1TI vector_select_v1ti {}
>> -
>> -  const vsq __builtin_vsx_xxsel_1ti_uns (vsq, vsq, vsq);
>> -XXSEL_1TI_UNS vector_select_v1ti_uns {}
>> -
>>const vd __builtin_vsx_xxsel_2df (vd, vd, vd);
>>  XXSEL_2DF vector_select_v2df {}
>>  
>> diff --git a/gcc/config/rs6000/rs6000-overload.def 
>> b/gcc/config/rs6000/rs6000-overload.def
>> index 68501c05289..5912c9452f4 100644
>> --- a/gcc/config/rs6000/rs6000-overload.def
>> +++ b/gcc/config/rs6000/rs6000-overload.def
>> @@ -3274,6 +3274,10 @@
>>  VSEL_2DF  VSEL_2DF_B
>>vd __builtin_vec_sel (vd, vd, vull);
>>  VSEL_2DF  VSEL_2DF_U
>> +  vsq __builtin_vec_sel (vsq, vsq, vsq);
>> +VSEL_1TI  VSEL_1TI_S
>> +  vuq __builtin_vec_sel (vuq, vuq, vuq);
>> +VSEL_1TI_UNS  VSEL_1TI_U
>>  ; The following variants are deprecated.
>>vsll __builtin_vec_sel (vsll, vsll, vsll);
>>  VSEL_2DI_B  VSEL_2DI_S
>> diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
>> index 64a43b55e2d..86b8e536dbe 100644
>> --- a/gcc/doc/extend.texi
>> +++ b/gcc/doc/extend.texi
>> @@ -23358,6 +23358,20 @@ The programmer is responsible for understanding the 
>> endianness issues involved
>>  with the first argument and the result.
>>  @findex vec_replace_unaligned
>>  
>> +Vector select
>> +
>> +@smallexample
>> +vector signed __int128 vec_sel (vector signed __int128,
>> +   vector signed __int128, vector signed __int128);
>> +vector unsigned __int128 vec_sel (vector unsigned __int128,
>> +   vector unsigned __int128, vector unsigned __int128);
>> +@end smallexample
>> +
>> +The overloaded built-in @code{vec_sel} with vector signed/unsigned __int128
>> +arguments and returns a vector selecting bits from the two source vectors 
>> based
>> +on the values of the third input vector.  This built-in is an extension of 
>> the
>> +@code{vec_sel} built-in documented in the PVIPR.
>> +
> 
> Why did you place this in a section for ISA 3.1 (Power10)?  It doesn't really
> require this support.  The used instance VSEL_1TI and VSEL_1TI_UNS are placed
> in altivec stanza, so it looks that we should put it under the section
> "PowerPC AltiVec Built-in Functions on ISA 2.05".  And since it's an extension
> of @code{vec_sel} documented in the PVIPR, I prefer to just mention it's "an
> extension of the @code{vec_sel} built-in documented in the PVIPR" and omitting
> the description to avoid possible slightly different wording.

Honestly, at this point in time I don't remember why I put it there.  It has 
been too long since I created the patch.  That said, the test case requires 
Power 10 do to the comparison check using built-in vec_all_eq but that is 
another issue.  The built-in generates the xxsel instruction that is an ISA 
2.06 instruction.  So, I would say it should to into the ISA 2.06 section.  I 
moved it to the ISA 2.06 section.

For consistency with the previous patches/feedback, the descriptions are being 
dropped and replaced with the instance being a new extension of the built-in 
that is documented in the PVIPR.
> 
>>  Vector Shift Left Double Bit Immediate
>>  @smallexample
>>  @exdent vector signed char vec_sldb (vector signed char, vector signed char,
>> diff 

[Bug target/99531] [11 Regression] Performance regression since gcc 9 (argument passing / register allocation)

2024-05-21 Thread olegendo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99531

--- Comment #12 from Oleg Endo  ---
(In reply to Oleg Endo from comment #11)
> 
> This caused PR 115148

I absolutely lack the imagination to see the connection of the change in #c6
and PR 115148.  This is the change in the output code that results in the
problem on SH:

.LVL108:
bt/s.L178   !
mov #-1,r0  !, 
@@ -1832,36 +1830,39 @@
.byte   .L215-.L190
.byte   .L181-.L190
 .LVL109:
-   .align 1
-.L192:
 .LBE111:
 .LBE110:
.loc 1 234 9
.loc 1 234 14
+   .align 1
+.L287:
+   .align 1
+.L288:

Any ideas or suggestions are appreciated.

Results for 13.3.1 20240521 [releases/gcc-13 r13-8789-g9433e308e0] (GCC) testsuite on powerpc64-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER9 BE) via Gcc-testresults


git commit g:9433e308e0ca48822aa5e3a9875aac1f86cbac72
gcc-descr r13-8789-g9433e308e0ca48

power9 BE
Linux 6.7.12-powerpc64 ppc64
GNU Make 4.3

DejaGnu:
DejaGnu version 1.6.3
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Tue May 21 22:48:07 UTC 2024 (revision r13-8789-g9433e308e0)

Native configuration is powerpc64-unknown-linux-gnu

=== g++ tests ===


Running target unix/-m32
FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++2b (test for excess errors)

=== g++ Summary for unix/-m32 ===

# of expected passes226116
# of unexpected failures2
# of expected failures  1929
# of unsupported tests  10898

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes235076
# of expected failures  1937
# of unsupported tests  11086

=== g++ Summary ===

# of expected passes461192
# of unexpected failures2
# of expected failures  3866
# of unsupported tests  21984
/home/gccbuild/build/nightly/build-gcc-13/gcc/xg++  version 13.3.1 20240521 
[releases/gcc-13 r13-8789-g9433e308e0] (GCC) 

=== gcc tests ===


Running target unix/-m32
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/ipa-sra-1.c   -O0  line 15 k == 3
XPASS: gcc.dg/guality/ipa-sra-1.c   -O1  -DPREVENT_OPTIMIZATION  line 15 k == 3
XPASS: gcc.dg/guality/ipa-sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 15 k == 3
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg

Results for 15.0.0 20240521 (experimental) [remotes/origin/HEAD r15-760-g826a7d3d19] (GCC) testsuite on powerpc64le-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER8) via Gcc-testresults
-partition=none  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/pr68860-1.c   -Os  -DPREVENT_OPTIMIZATION  line 16 y == 2
FAIL: gcc.dg/guality/pr68860-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/sra-1.c   -O2  -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 a.i == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 32 a[0] == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 32 a[1] == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 43 a.i == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -Os  -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 21 a.i == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 21 a.j == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 32 a[0] == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 32 a[1] == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 43 a.i == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/vla-1.c   -O2  -DPREVENT_OPTIMIZATION  line 17 sizeof (a) 
== 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 17 sizeof (a) == 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 17 sizeof (a) == 6
FAIL: gcc.dg/guality/vla-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 17 sizeof 
(a) == 6
FAIL: gcc.dg/guality/vla-1.c   -Os  -DPREVENT_OPTIMIZATION  line 17 sizeof (a) 
== 6
FAIL: gcc.dg/torture/pr52451.c   -O0  execution test
FAIL: gcc.dg/torture/pr52451.c   -O1  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.dg/torture/pr52451.c   -O3 -g  execution test
FAIL: gcc.dg/torture/pr52451.c   -Os  execution test
XPASS: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;"
FAIL: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times optimized 
"Invalid sum" 0
FAIL: gcc.dg/vect/vect-117.c -flto -ffat-lto-objects  scan-tree-dump-not 
optimized "Invalid sum"
FAIL: gcc.dg/vect/vect-117.c scan-tree-dump-not optimized "Invalid sum"
FAIL: gcc.target/powerpc/rlwimi-2.c scan-assembler-times (?n)^s+[a-z] 20217
XPASS: gcc.target/powerpc/ppc-fortran/ieee128-math.f90   -O  (test for excess 
errors)

=== gcc Summary ===

# of expected passes178680
# of unexpected failures125
# of unexpected successes   13
# of expected failures  1602
# of unsupported tests  5041
/home/gccbuild/build/nightly/build-gcc-trunk/gcc/xgcc  version 15.0.0 20240521 
(experimental) [remotes/origin/HEAD r15-760-g826a7d3d19] (GCC) 

=== gfortran tests ===


Running target unix
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O0  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O1  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O2  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O3 -g  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -Os  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O0  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O1  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O2  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O3 -g  execution test
FAIL: 

Results for 15.0.0 20240521 (experimental) [master revision gcc-15-760-g826a7d3d19d] (GCC) testsuite on arm-unknown-eabi

2024-05-21 Thread ci_notify--- via Gcc-testresults
-function-bodies enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -O3 -g   
check-function-bodies shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -O3 -g   
check-function-bodies shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -O3 -g   
check-function-bodies signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -O3 -g   
check-function-bodies unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c   -O3 -g  (internal compiler error: 
in extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c   -O3 -g  (test for excess errors)
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -Os   check-function-bodies 
boolNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -Os   check-function-bodies 
enumNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -Os   check-function-bodies 
shortSignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -Os   check-function-bodies 
shortUnsignNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -Os   check-function-bodies 
signNonsecure0
UNRESOLVED: gcc.target/arm/cmse/extend-return.c   -Os   check-function-bodies 
unsignNonsecure0
FAIL: gcc.target/arm/cmse/extend-return.c   -Os  (internal compiler error: in 
extract_insn, at recog.cc:2812)
FAIL: gcc.target/arm/cmse/extend-return.c   -Os  (test for excess errors)
FAIL: gcc.target/arm/mve/intrinsics/pr97327.c (test for excess errors)

=== gcc Summary ===

# of expected passes154370
# of unexpected failures178
# of unexpected successes   3
# of expected failures  901
# of unresolved testcases   58
# of unsupported tests  5215
/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/destdir/x86_64-pc-linux-gnu/bin/arm-eabi-gcc
  version 15.0.0 20240521 (experimental) [master revision 
gcc-15-760-g826a7d3d19d] (GCC) 

Host   is x86_64-pc-linux-gnu

=== g++ tests ===


Running target 
qemu/-mthumb/-march=armv8-m.base/-mtune=cortex-m23/-mfloat-abi=soft/-mfpu=auto
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98 (test for 
excess errors)
FAIL: g++.dg/cpp2a/decomp2.C  -std=gnu++14 (test for excess errors)
UNRESOLVED: g++.dg/cpp2a/decomp2.C  -std=gnu++14 compilation failed to produce 
executable
FAIL: g++.dg/cpp2a/decomp2.C  -std=gnu++17 (test for excess errors)
UNRESOLVED: g++.dg/cpp2a/decomp2.C  -std=gnu++17 compilation failed to produce 
executable
FAIL: g++.dg/cpp2a/decomp2.C  -std=gnu++20 (test for excess errors)
UNRESOLVED: g++.dg/cpp2a/decomp2.C  -std=gnu++20 compilation failed to produce 
executable
FAIL: g++.dg/opt/pr97315-1.C  -std=gnu++14 (test for excess errors)
FAIL: g++.dg/opt/pr97315-1.C  -st

Results for 13.3.1 20240521 [releases/gcc-13 r13-8789-g9433e308e0c] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
s  (test for excess errors)
FAIL: gcc.dg/pr96573.c scan-tree-dump optimized 
"__builtin_bswap|VEC_PERM_EXPR[^\\n\\r]*7, 6, 5, 4, 3, 2, 1, 0"
FAIL: c-c++-common/goacc/kernels-loop-g.c (test for excess errors)
XPASS: gcc.dg/plugin/infoleak-vfio_iommu_type1.c 
-fplugin=./analyzer_kernel_plugin.so  (test for bogus messages, line 42)
FAIL: gcc.dg/tree-ssa/pr64910-2.c scan-assembler-times and|test 20
FAIL: gcc.dg/tree-ssa/scev-3.c scan-tree-dump-times ivopts "" 1
FAIL: gcc.dg/tree-ssa/scev-4.c scan-tree-dump-times ivopts "" 1
FAIL: gcc.dg/tree-ssa/scev-5.c scan-tree-dump-times ivopts "" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr78794.c scan-assembler pandn
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
pand[^\\n]*%xmm 3
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
psllw[^\\n]*%xmm 1

=== gcc Summary for unix/-m32 ===

# of expected passes182158
# of unexpected failures37
# of unexpected successes   14
# of expected failures  1438
# of unsupported tests  3283

=== gcc Summary ===

# of expected passes368837
# of unexpected failures80
# of unexpected successes   19
# of expected failures  2869
# of unsupported tests  5729
/export/home/haochenj/src/gcc-13-regression/bld/gcc/xgcc  version 13.3.1 
20240521 [releases/gcc-13 r13-8789-g9433e308e0c] (GCC) 

=== gfortran tests ===


Running target unix

=== gfortran Summary for unix ===

# of expected passes68531
# of expected failures  259
# of unsupported tests  78

Running target unix/-m32

=== gfortran Summary for unix/-m32 ===

# of expected passes68209
# of expected failures  261
# of unsupported tests  230

=== gfortran Summary ===

# of expected passes136740
# of expected failures  520
# of unsupported tests  308
/export/home/haochenj/src/gcc-13-regression/bld/gcc/gfortran  version 13.3.1 
20240521 [releases/gcc-13 r13-

Regressions on native/releases/gcc-13 at commit r13-8786 vs commit r13-8784 on Linux/x86_64

2024-05-21 Thread Haochen Jiang via Gcc-regression
Regressions on releases/gcc-13 at commit r13-8786 vs commit r13-8784 on 
Linux/x86_64
New failures:

New passes:
FAIL: gcc-dg-lto-pr113359-2-01.exe scan-wpa-ipa-dump icf "Semantic equality 
hit:geta/.*getb/"
FAIL: gcc.dg/lto/pr113359-2 c_lto_pr113359-2_0.o assemble, -O2 -flto 
-fno-strict-aliasing -fno-ipa-cp  --disable-tree-esra -fdump-ipa-icf-details 
FAIL: gcc.dg/lto/pr113359-2 c_lto_pr113359-2_0.o-c_lto_pr113359-2_1.o execute 
-O2 -flto -fno-strict-aliasing -fno-ipa-cp  --disable-tree-esra 
-fdump-ipa-icf-details 
FAIL: libgomp.c/../libgomp.c-c++-common/for-11.c execution test


Results for 13.3.1 20240521 [releases/gcc-13 r13-8786-g5ed32d00a7b] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
FAIL: gcc.target/i386/pr103144-shift-1.c scan-tree-dump-times vect "vectorized 
1 loops" 6
FAIL: gcc.target/i386/pr71321.c scan-assembler-not lea.*0
FAIL: gcc.target/i386/pr78794.c scan-assembler pandn
FAIL: gcc.target/i386/pr79690.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr79723.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr82699-1.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-2.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-3.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-5.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-6.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr90356.c scan-assembler pxor
FAIL: gcc.target/i386/pr93492-2.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-3.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-4.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-5.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr95126-m32-1.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr95126-m32-2.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr95126-m32-3.c scan-assembler pushl[ t]*\$2
FAIL: gcc.target/i386/pr95126-m32-3.c scan-assembler-not movzwl
FAIL: gcc.target/i386/pr95126-m32-4.c scan-assembler pushl[ t]*\$131073
FAIL: gcc.target/i386/pr97032.c (internal compiler error: output_operand: 
invalid use of register 'frame')
FAIL: gcc.target/i386/pr97032.c (test for excess errors)
UNRESOLVED: gcc.target/i386/pr97032.c scan-assembler call[ 
\\t]*_?__errno_location
FAIL: gcc.target/i386/sse2-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 5
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
pand[^\\n]*%xmm 3
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
psllw[^\\n]*%xmm 1
FAIL: gcc.target/i386/sse4-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 6
FAIL: gcc.target/i386/vect-float16-11.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-12.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-2.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-3.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-5.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-6.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-8.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-float16-9.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-pr67800.c scan-tree-dump vect "vectorized 1 loops"
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times padd 5
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times psrl 2

=== gcc Summary ===

# of expected passes184989
# of unexpected failures209
# of unexpected successes   31
# of expected failures  1464
# of unresolved testcases   114
# of unsupported tests  3582
/home/haochenj/src/gcc-13-regression/bld/gcc/xgcc  version 13.3.1 20240521 
[releases/gcc-13 r13-8786-g5ed32d00a7b] (GCC) 

=== gfortran tests ===


Running target unix
UNRESOLVED: gfortran.dg/weak-1.f90   -O 
UNRESOLVED: gfortran.dg/weak-2.f90   -O 
UNRESOLVED: gfortran.dg/weak-3.f90   -O 

=== gfortran Summary ===

# of expected passes68210
# of expected failures  261
# of unresolved testcases   3
# of unsupported tests  219
/home/haochenj/src/gcc-13-regression/bld/gcc/gfortran  version 13.3.1 20240521 
[releases/gcc-13 r13-8786-g5ed32d00a7b] (GCC) 

=== g++ tests ===


Running target unix
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array + 3, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array - 1, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 0) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtolOOBTest 
Strtol(array, NULL, 36) execution test
FAIL: g++.dg/asan/asan_test.C   -O2  AddressSanitizer_StrtollOOBTest 
Strtol(array + 3, NULL, 0)

Results for 15.0.0 20240521 (experimental) [master r15-756-g20e6f36771d] (GCC) testsuite on s390x-ibm-linux-gnu default

2024-05-21 Thread stefansf--- via Gcc-testresults
e-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions   (test for bogus messages, line 17)
FAIL: gcc.dg/torture/pr113026-2.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions   (test for bogus messages, line 9)
FAIL: gcc.dg/torture/pr113026-2.c   -O3 -g   (test for bogus messages, line 17)
FAIL: gcc.dg/torture/pr113026-2.c   -O3 -g   (test for bogus messages, line 9)
FAIL: gcc.dg/tree-ssa/abs-4.c scan-tree-dump-times optimized "= .COPYSIGN" 3
FAIL: gcc.dg/tree-ssa/backprop-6.c scan-tree-dump-times backprop 
"Deleting[^n]* = .COPYSIGN" 3
FAIL: gcc.dg/tree-ssa/copy-sign-2.c scan-tree-dump-times optimized ".COPYSIGN" 1
FAIL: gcc.dg/tree-ssa/copy-sign-2.c scan-tree-dump-times optimized "ABS" 1
FAIL: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times optimized 
"Invalid sum" 0
FAIL: c-c++-common/tsan/tls_race.c   -O0  output pattern test
FAIL: c-c++-common/tsan/tls_race.c   -O2  output pattern test
FAIL: gcc.dg/vect/vect-117.c -flto -ffat-lto-objects  scan-tree-dump-not 
optimized "Invalid sum"
FAIL: gcc.dg/vect/vect-117.c scan-tree-dump-not optimized "Invalid sum"
FAIL: gcc.target/s390/arch13/sel-1.c scan-assembler-times \\tselgr(?:h|le)\\t 1
FAIL: gcc.target/s390/arch13/sel-1.c scan-assembler-times \\tselr(?:h|le)\\t 1
FAIL: gcc.target/s390/ifcvt-one-insn-bool.c scan-assembler lochinh\\t%r.?,1
FAIL: gcc.target/s390/ifcvt-one-insn-char.c scan-assembler locrnh\\t%r.?,%r.?
FAIL: gcc.target/s390/loc-1.c scan-assembler \\tlocghine\\t%r2,-1
FAIL: gcc.target/s390/loc-1.c scan-assembler \\tlocgrne\\t%r2,%r4
FAIL: gcc.target/s390/nobp-table-jump-inline-z10.c scan-assembler 
section\\t.s390_indirect_jump
FAIL: gcc.target/s390/nobp-table-jump-inline-z10.c scan-assembler-times exrl 1
FAIL: gcc.target/s390/nobp-table-jump-inline-z900.c scan-assembler 
section\\t.s390_indirect_jump
FAIL: gcc.target/s390/nobp-table-jump-inline-z900.c scan-assembler-times 
\\tex\\t 1
FAIL: gcc.target/s390/nobp-table-jump-z10.c scan-assembler 
section\\t.s390_indirect_jump
FAIL: gcc.target/s390/nobp-table-jump-z10.c scan-assembler-times exrl 1
FAIL: gcc.target/s390/nobp-table-jump-z900.c scan-assembler 
section\\t.s390_indirect_jump
FAIL: gcc.target/s390/nobp-table-jump-z900.c scan-assembler-times ex\\t 1
FAIL: gcc.target/s390/risbg-ll-1.c scan-assembler 
f42:\\n\\tsllg\\t%r2,%r2,63\\n\\tsrag\\t%r2,%r2,63\\n\\tllgcr\\t%r2,%r2
FAIL: gcc.target/s390/vector/align-1.c scan-assembler-times 
vl\\t%v[0-9]*,[0-9]*(%r[0-9]*),3\\n 1
FAIL: gcc.target/s390/vector/align-1.c scan-assembler-times 
vst\\t%v[0-9]*,[0-9]*(%r[0-9]*),3\\n 1
FAIL: gcc.target/s390/vector/vec-abi-vararg-1.c scan-assembler 
ld\\t%v[0-9]*,368(%r15)
FAIL: gcc.target/s390/vector/vec-abi-vararg-1.c scan-assembler 
ld\\t%v[0-9]*,392(%r15)
FAIL: gcc.target/s390/vector/vec-abi-vararg-1.c scan-assembler 
vl\\t%v[0-9]*,352(%r15)
FAIL: gcc.target/s390/vector/vec-abi-vararg-1.c scan-assembler 
vl\\t%v[0-9]*,376(%r15)
FAIL: gcc.target/s390/vector/vec-scalar-cmp-1.c scan-assembler 
eq:\\n[^:]*\\twfcdb\\t%v[0-9]*,%v[0-9]*\\n\\t[^:]+\\tlocghie\\t%r2,1
FAIL: gcc.target/s390/vector/vec-scalar-cmp-1.c scan-assembler 
ge:\\n[^:]*\\twfkdb\\t%v[0-9]*,%v[0-9]*\\n\\t[^:]+\\tlocghihe\\t%r2,1
FAIL: gcc.target/s390/vector/vec-scalar-cmp-1.c scan-assembler 
gt:\\n[^:]*\\twfkdb\\t%v[0-9]*,%v[0-9]*\\n\\t[^:]+\\tlocghih\\t%r2,1
FAIL: gcc.target/s390/vector/vec-scalar-cmp-1.c scan-assembler 
le:\\n[^:]*\\twfkdb\\t%v[0-9]*,%v[0-9]*\\n\\t[^:]+\\tlocghile\\t%r2,1
FAIL: gcc.target/s390/vector/vec-scalar-cmp-1.c scan-assembler 
lt:\\n[^:]*\\twfkdb\\t%v[0-9]*,%v[0-9]*\\n\\t[^:]+\\tlocghil\\t%r2,1
FAIL: gcc.target/s390/vector/vec-scalar-cmp-1.c scan-assembler 
ne:\\n[^:]*\\twfcdb\\t%v[0-9]*,%v[0-9]*\\n\\t[^:]+\\tlocghine\\t%r2,1

=== gcc Summary for unix/-m64 ===

# of expected passes181146
# of unexpected failures160
# of unexpected successes   17
# of expected failures  1468
# of unsupported tests  4321

=== gcc Summary ===

# of expected passes359194
# of unexpected failures340
# of unexpected successes   31
# of expected failures  2937
# of unsupported tests  9260
-default/gcc/xgcc  version 15.0.0 20240521 (experimental) [master 
r15-756-g20e6f36771d] (GCC) 

=== gdc tests ===


Running target unix/-m31
FAIL: gdc.test/runnable/sdtor.d -O2   execution test
FAIL: gdc.test/runnable/sdtor.d -O2 -finline-functions   execution test
FAIL: gdc.test/runnable/sdtor.d -O2 -finline-functions -frelease -funittest   
execution test
FAIL: gdc.test/runnable/sdtor.d -O2 -finline-functions -frelease -funittest -g  
 execution test
FAIL: gdc.test/runnable/sdtor.d -O2 -finline-functions -frelease -funittest -g 
-shared-libphobos   execution test
FAIL: gdc.test/runnable/sdtor.d -O2 -finline-functions -frelease -funittest 
-shared-libphobo

Results for 14.1.1 20240521 [releases/gcc-14 r14-10225-gedde60a53c7] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
86/avx512vl-broadcast-pr87767-1.c scan-assembler-times 
vpbroadcastd[t ]+%(?:r|e)[^\\n]*, %xmm[0-9]+ 3
FAIL: gcc.target/i386/avx512vl-broadcast-pr87767-1.c scan-assembler-times 
vpbroadcastd[t ]+%(?:r|e)[^\\n]*, %ymm[0-9]+ 3
FAIL: gcc.target/i386/cleanup-1.c (test for excess errors)
UNRESOLVED: gcc.target/i386/cleanup-1.c compilation failed to produce executable
FAIL: gcc.target/i386/interrupt-12.c scan-assembler-times leave 1
FAIL: gcc.target/i386/interrupt-13.c scan-assembler-times leave 1
FAIL: gcc.target/i386/interrupt-14.c scan-assembler-times leave 2
FAIL: gcc.target/i386/interrupt-15.c scan-assembler-times leave 2
FAIL: gcc.target/i386/ipa-stack-alignment-2.c scan-assembler sub.*%.sp
FAIL: gcc.target/i386/ipa-stack-alignment.c scan-assembler sub.*%.sp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pr100704-3.c scan-assembler push[lq]\\tf+
FAIL: gcc.target/i386/pr103144-mul-1.c scan-tree-dump-times vect "vectorized 1 
loops" 4
FAIL: gcc.target/i386/pr103144-neg-1.c scan-tree-dump-times vect "vectorized 1 
loops" 4
FAIL: gcc.target/i386/pr103144-shift-1.c scan-tree-dump-times vect "vectorized 
1 loops" 6
FAIL: gcc.target/i386/pr106245-3.c scan-assembler cltd
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
XPASS: gcc.target/i386/pr54855-9.c scan-assembler-not movaps
FAIL: gcc.target/i386/pr79690.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr79723.c scan-assembler mov[au]p.[ \\t][^,]+, %gs:
FAIL: gcc.target/i386/pr82699-1.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-2.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-3.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-5.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr82699-6.c scan-assembler-times 
t.cfi_startprocntendbr 1
FAIL: gcc.target/i386/pr90356.c scan-assembler pxor
FAIL: gcc.target/i386/pr93492-2.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-3.c scan-assembler 
\\t.cfi_startproc\\n\\tendbr(32|64)\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-4.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n\\tret\\n
FAIL: gcc.target/i386/pr93492-5.c scan-assembler 
\\t.cfi_startproc\\n.*.LPFE0:\\n\\tnop\\n1:\\tcall\\t[^\\n]*__fentry__[^\\n]*\\n\\tret\\n
FAIL: gcc.target/i386/pr95126-m32-1.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr95126-m32-2.c scan-assembler movl[ t]*\$
FAIL: gcc.target/i386/pr97032.c (internal compiler error: output_operand: 
invalid use of register 'frame')
FAIL: gcc.target/i386/pr97032.c (test for excess errors)
UNRESOLVED: gcc.target/i386/pr97032.c scan-assembler call[ 
\\t]*_?__errno_location
FAIL: gcc.target/i386/sse2-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 5
FAIL: gcc.target/i386/sse4-pr39821.c scan-tree-dump-times vect "vectorized 1 
loops in function" 6
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvtdq2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvtph2ps 2
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvtps2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-1.c scan-assembler-times vcvttph2dq 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvtdq2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvtph2ps 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvtps2ph 2
FAIL: gcc.target/i386/vec_pack_fp16-2.c scan-assembler-times vcvttph2dq 2
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/vect-float16-11.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-12.c scan-assembler-times vdivph 16
FAIL: gcc.target/i386/vect-float16-2.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-3.c scan-assembler-times vaddph 16
FAIL: gcc.target/i386/vect-float16-5.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-6.c scan-assembler-times vsubph 16
FAIL: gcc.target/i386/vect-float16-8.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-float16-9.c scan-assembler-times vmulph 16
FAIL: gcc.target/i386/vect-pr113078.c scan-assembler-times vpsub[^\\r\\n]*%k 2
FAIL: gcc.target/i386/vect-pr67800.c scan-tree-dump vect "vectorized 1 loops"
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times padd 5
FAIL: gcc.target/i386/vect-reduc-1.c scan-assembler-times psrl 2
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary ===

# of expected passes    196326
# of unexpected failures229
# of u

Regressions on releases/gcc-14 at commit r14-10226 vs commit r14-10225 on Linux/x86_64

2024-05-21 Thread Haochen Jiang via Gcc-regression
Regressions on releases/gcc-14 at commit r14-10226 vs commit r14-10225 on 
Linux/x86_64
New failures:

New passes:
FAIL: gcc.dg/lto/save-temps c_lto_save-temps_0.o-c_lto_save-temps_0.o link,  -O 
-flto -save-temps


Results for 14.1.1 20240521 [releases/gcc-14 r14-10226-gcaf43cc9e5c] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
es and|test 20
FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorizing stmts using SLP" 1
FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 1
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-6.c scan-assembler-times (?:vinserti128|vmovdqu)[ 
t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ t]+#) 2
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary for unix/-m32 ===

# of expected passes197707
# of unexpected failures159
# of unexpected successes   30
# of expected failures  1552
# of unsupported tests  4078

=== gcc Summary ===

# of expected passes401742
# of unexpected failures318
# of unexpected successes   50
# of expected failures  3098
# of unsupported tests  7370
/export/home/haochenj/src/gcc-14-regression/bld/gcc/xgcc  version 14.1.1 
20240521 [releases/gcc-14 r14-10226-gcaf43cc9e5c] (GCC) 

=== gfortran tests ===


Running target unix

=== gfortran Summary for unix ===

# of expected passes70087
# of expected failures  273
# of unsupported tests 

[Bug libstdc++/79384] Clang doesn't like variant's std::visit

2024-05-21 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79384

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|--- |WORKSFORME
 Status|NEW |RESOLVED

--- Comment #1 from Jonathan Wakely  ---
I can't reproduce this now. It might have been the same as Bug 90397 which was
fixed for 9.2, or it might have been related to
https://bugs.llvm.org/show_bug.cgi?id=31852

The test case compiles fine with clang 17 and libstdc++ headers from GCC 7.5,
8.x, 9.2, or later.

Results for 15.0.0 20240521 (experimental) [master r15-760-g826a7d3d19] (GCC) testsuite on powerpc64-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER9 BE) via Gcc-testresults


git commit g:826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1
gcc-descr r15-760-g826a7d3d19d3eb

power9 BE
Linux 6.7.12-powerpc64 ppc64
GNU Make 4.3

DejaGnu:
DejaGnu version 1.6.3
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Tue May 21 20:59:59 UTC 2024 (revision r15-760-g826a7d3d19)

Native configuration is powerpc64-unknown-linux-gnu

=== g++ tests ===


Running target unix/-m32
FAIL: c-c++-common/torture/strub-run3.c   -O0  execution test

=== g++ Summary for unix/-m32 ===

# of expected passes251799
# of unexpected failures1
# of expected failures  2615
# of unsupported tests  11551

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes260821
# of expected failures  2620
# of unsupported tests  11724

=== g++ Summary ===

# of expected passes512620
# of unexpected failures1
# of expected failures  5235
# of unsupported tests  23275
/home/gccbuild/build/nightly/build-gcc-trunk/gcc/xg++  version 15.0.0 20240521 
(experimental) [master r15-760-g826a7d3d19] (GCC) 

=== gcc tests ===


Running target unix/-m32
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker

[Bug c++/107800] confusing message with to_address in C++17

2024-05-21 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107800

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #12 from Jonathan Wakely  ---
Fixed for 13.4 and 14.2

[gcc r13-8789] libstdc++: testsuite: Enhance codecvt_unicode with tests for length()

2024-05-21 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:9433e308e0ca48822aa5e3a9875aac1f86cbac72

commit r13-8789-g9433e308e0ca48822aa5e3a9875aac1f86cbac72
Author: Dimitrij Mijoski 
Date:   Wed Oct 18 12:52:20 2023 +0200

libstdc++: testsuite: Enhance codecvt_unicode with tests for length()

We can test codecvt::length() with the same data that we test
codecvt::in(). For each call of in() we add another call to length().
Some additional small cosmentic changes are applied.

libstdc++-v3/ChangeLog:

* testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()

(cherry picked from commit 59a7d38997ec4d8a606c97b00e1a8b697edd1316)

Diff:
---
 .../testsuite/22_locale/codecvt/codecvt_unicode.h  | 123 ++---
 1 file changed, 110 insertions(+), 13 deletions(-)

diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_unicode.h 
b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_unicode.h
index d3ae42fac13..42270c50f14 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_unicode.h
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_unicode.h
@@ -17,7 +17,6 @@
 
 #include 
 #include 
-#include 
 #include 
 
 struct test_offsets_ok
@@ -79,6 +78,11 @@ utf8_to_utf32_in_ok (const std::codecvt )
   VERIFY (char_traits::compare (out, exp, t.out_size) == 0);
   if (t.out_size < array_size (out))
VERIFY (out[t.out_size] == 0);
+
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, t.out_size);
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.in_size);
 }
 
   for (auto t : offsets)
@@ -99,6 +103,11 @@ utf8_to_utf32_in_ok (const std::codecvt )
   VERIFY (char_traits::compare (out, exp, t.out_size) == 0);
   if (t.out_size < array_size (out))
VERIFY (out[t.out_size] == 0);
+
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, array_size (out));
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.in_size);
 }
 }
 
@@ -163,6 +172,11 @@ utf8_to_utf32_in_partial (const std::codecvt )
  == 0);
   if (t.expected_out_next < array_size (out))
VERIFY (out[t.expected_out_next] == 0);
+
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, t.out_size);
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.expected_in_next);
 }
 }
 
@@ -303,6 +317,11 @@ utf8_to_utf32_in_error (const std::codecvt )
   if (t.expected_out_next < array_size (out))
VERIFY (out[t.expected_out_next] == 0);
 
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, t.out_size);
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.expected_in_next);
+
   in[t.replace_pos] = old_char;
 }
 }
@@ -334,7 +353,7 @@ utf32_to_utf8_out_ok (const std::codecvt )
   VERIFY (char_traits::length (in) == 4);
   VERIFY (char_traits::length (exp) == 10);
 
-  const test_offsets_ok offsets[] = {{0, 0}, {1, 1}, {2, 3}, {3, 6}, {4, 10}};
+  test_offsets_ok offsets[] = {{0, 0}, {1, 1}, {2, 3}, {3, 6}, {4, 10}};
   for (auto t : offsets)
 {
   ExternT out[array_size (exp) - 1] = {};
@@ -374,7 +393,7 @@ utf32_to_utf8_out_partial (const std::codecvt )
   VERIFY (char_traits::length (in) == 4);
   VERIFY (char_traits::length (exp) == 10);
 
-  const test_offsets_partial offsets[] = {
+  test_offsets_partial offsets[] = {
 {1, 0, 0, 0}, // no space for first CP
 
 {2, 1, 1, 1}, // no space for second CP
@@ -528,6 +547,11 @@ utf8_to_utf16_in_ok (const std::codecvt )
   VERIFY (char_traits::compare (out, exp, t.out_size) == 0);
   if (t.out_size < array_size (out))
VERIFY (out[t.out_size] == 0);
+
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, t.out_size);
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.in_size);
 }
 
   for (auto t : offsets)
@@ -548,6 +572,11 @@ utf8_to_utf16_in_ok (const std::codecvt )
   VERIFY (char_traits::compare (out, exp, t.out_size) == 0);
   if (t.out_size < array_size (out))
VERIFY (out[t.out_size] == 0);
+
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, array_size (out));
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.in_size);
 }
 }
 
@@ -617,6 +646,11 @@ utf8_to_utf16_in_partial (const std::codecvt )
  == 0);
   if (t.expected_out_next < array_size (out))
VERIFY (out[t.expected_out_next] == 0);
+
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, t.out_size);
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.expected_in_next);
 }
 }
 
@@ -757,6 +791,11 @@ utf8_to_utf16_in_error (const std::codecvt )
   if (t.expected_out_next < array_size (out))
VERIFY (out[t.expected_out_next] == 0);
 
+  state = {};
+  auto len = cvt.length (state, in, in + t.in_size, t.out_size);
+  VERIFY (len >= 0);
+  VERIFY (static_cast (len) == t.expected_in_next);
+
   

[Bug libstdc++/108976] codecvt for Unicode allows surrogate code points

2024-05-21 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108976

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #15 from Jonathan Wakely  ---
Fixed for 13.4 and 14.1

[gcc r13-8788] libstdc++: Fix handling of surrogate CP in codecvt [PR108976]

2024-05-21 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:bd5e672303f5f777e8927a746d3ee42db21d871b

commit r13-8788-gbd5e672303f5f777e8927a746d3ee42db21d871b
Author: Dimitrij Mijoski 
Date:   Thu Sep 28 21:38:11 2023 +0200

libstdc++: Fix handling of surrogate CP in codecvt [PR108976]

This patch fixes the handling of surrogate code points in all standard
facets for transcoding Unicode that are based on std::codecvt. Surrogate
code points should always be treated as error. On the other hand
surrogate code units can only appear in UTF-16 and only when they come
in a proper pair.

Additionally, it fixes a bug in std::codecvt_utf16::in() when odd number
of bytes were given in the range [from, from_end), error was returned
always. The last byte in such range does not form a full UTF-16 code
unit and we can not make any decisions for error, instead partial should
be returned.

The testsuite for testing these facets was updated in the following
order:

1. All functions that test codecvts that work with UTF-8 were refactored
   and made more generic so they accept codecvt that works with the char
   type char8_t.
2. The same functions were updated with new test cases for transcoding
   errors and now additionally test for surrogates, overlong UTF-8
   sequences, code points out of the Unicode range, and more tests for
   missing leading and trailing code units.
3. New tests were added to test codecvt_utf16 in both of its variants,
   UTF-16 <-> UTF-32/UCS-4 and UTF-16 <-> UCS-2.

libstdc++-v3/ChangeLog:

PR libstdc++/108976
* src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
surrogates in UTF-8.
(ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
(ucs4_in): Fix handling of range with odd number of bytes.
(ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
(ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
(ucs2_in): Fix handling of range with odd number of bytes.
(__codecvt_utf16_base::do_in): Likewise.
(__codecvt_utf16_base::do_in): Likewise.
(__codecvt_utf16_base::do_in): Likewise.
* testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
tests for codecvt_utf16 and codecvt_utf16.
* testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
testing functions for char8_t, add more test cases for errors,
add testing functions for codecvt_utf16.
* testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
Renames, add tests for codecvt_utf16.
* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
Fix test.
* testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
test.

(cherry picked from commit a8b9c32da787ea0bfbfc9118ac816fa7be4b1bc8)

Diff:
---
 libstdc++-v3/src/c++11/codecvt.cc  |   18 +-
 .../testsuite/22_locale/codecvt/codecvt_unicode.cc |   38 +-
 .../testsuite/22_locale/codecvt/codecvt_unicode.h  | 1799 +++-
 .../22_locale/codecvt/codecvt_unicode_char8_t.cc   |   53 +
 .../22_locale/codecvt/codecvt_unicode_wchar_t.cc   |   32 +-
 .../22_locale/codecvt/codecvt_utf16/79980.cc   |2 +-
 6 files changed, 1493 insertions(+), 449 deletions(-)

diff --git a/libstdc++-v3/src/c++11/codecvt.cc 
b/libstdc++-v3/src/c++11/codecvt.cc
index 02f05752de8..2cc812cfc34 100644
--- a/libstdc++-v3/src/c++11/codecvt.cc
+++ b/libstdc++-v3/src/c++11/codecvt.cc
@@ -284,6 +284,8 @@ namespace
return invalid_mb_sequence;
   if (c1 == 0xE0 && c2 < 0xA0) [[unlikely]] // overlong
return invalid_mb_sequence;
+  if (c1 == 0xED && c2 >= 0xA0) [[unlikely]] // surrogate
+   return invalid_mb_sequence;
   if (avail < 3) [[unlikely]]
return incomplete_mb_character;
   char32_t c3 = (unsigned char) from[2];
@@ -484,6 +486,8 @@ namespace
 while (from.size())
   {
const char32_t c = from[0];
+   if (0xD800 <= c && c <= 0xDFFF) [[unlikely]]
+ return codecvt_base::error;
if (c > maxcode) [[unlikely]]
  return codecvt_base::error;
if (!write_utf8_code_point(to, c)) [[unlikely]]
@@ -508,7 +512,7 @@ namespace
  return codecvt_base::error;
to = codepoint;
   }
-return from.size() ? codecvt_base::partial : codecvt_base::ok;
+return from.nbytes() ? codecvt_base::partial : codecvt_base::ok;
   }
 
   // ucs4 -> utf16
@@ -521,6 +525,8 @@ namespace
 while (from.size())
   {
const char32_t c = from[0];
+   if (0xD800 <= c && c <= 0xDFFF) [[unlikely]]
+ return codecvt_base::error;
if (c > maxcode) [[unlikely]]
  return codecvt_base::error;
if (!write_utf16_code_point(to, c, mode)) [[unlikely]]
@@ -653,7 +659,7 @@ namespace
 while (from.size() && 

[gcc r13-8787] c++: Fix std dialect hint for std::to_address [PR107800]

2024-05-21 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:0a9df2c711f40e067cd57707d8e623136ae4efbe

commit r13-8787-g0a9df2c711f40e067cd57707d8e623136ae4efbe
Author: Jonathan Wakely 
Date:   Tue May 21 13:16:33 2024 +0100

c++: Fix std dialect hint for std::to_address [PR107800]

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.

(cherry picked from commit 826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1)

Diff:
---
 gcc/cp/cxxapi-data.csv | 2 +-
 gcc/cp/std-name-hint.gperf | 2 +-
 gcc/cp/std-name-hint.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/cp/cxxapi-data.csv b/gcc/cp/cxxapi-data.csv
index eb6dbcd6057..aecad73a7e8 100644
--- a/gcc/cp/cxxapi-data.csv
+++ b/gcc/cp/cxxapi-data.csv
@@ -460,7 +460,7 @@
 # unimplemented ,default_accessor,1,no
 # unimplemented ,mdspan,1,cxx23
 ,pointer_traits,1,cxx11
-,to_address,1,cxx11
+,to_address,1,cxx20
 ,align,1,cxx11
 ,assume_aligned,1,cxx20
 ,allocator_arg_t,1,cxx11
diff --git a/gcc/cp/std-name-hint.gperf b/gcc/cp/std-name-hint.gperf
index 758e74f77d6..a46c7f3e68f 100644
--- a/gcc/cp/std-name-hint.gperf
+++ b/gcc/cp/std-name-hint.gperf
@@ -220,7 +220,7 @@ pointer_traits, "", cxx11
 reinterpret_pointer_cast, "", cxx17
 shared_ptr, "", cxx11
 static_pointer_cast, "", cxx11
-to_address, "", cxx11
+to_address, "", cxx20
 uninitialized_construct_using_allocator, "", cxx20
 unique_ptr, "", cxx11
 uses_allocator, "", cxx11
diff --git a/gcc/cp/std-name-hint.h b/gcc/cp/std-name-hint.h
index 5848fca6f0e..8503d195145 100644
--- a/gcc/cp/std-name-hint.h
+++ b/gcc/cp/std-name-hint.h
@@ -291,7 +291,7 @@ std_name_hint_lookup::find (const char *str, size_t len)
 #line 472 "std-name-hint.gperf"
   {"variant_npos", "", cxx17},
 #line 223 "std-name-hint.gperf"
-  {"to_address", "", cxx11},
+  {"to_address", "", cxx20},
 #line 460 "std-name-hint.gperf"
   {"pair", "", cxx98},
 #line 269 "std-name-hint.gperf"


[Bug libstdc++/108976] codecvt for Unicode allows surrogate code points

2024-05-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108976

--- Comment #14 from GCC Commits  ---
The releases/gcc-13 branch has been updated by Jonathan Wakely
:

https://gcc.gnu.org/g:bd5e672303f5f777e8927a746d3ee42db21d871b

commit r13-8788-gbd5e672303f5f777e8927a746d3ee42db21d871b
Author: Dimitrij Mijoski 
Date:   Thu Sep 28 21:38:11 2023 +0200

libstdc++: Fix handling of surrogate CP in codecvt [PR108976]

This patch fixes the handling of surrogate code points in all standard
facets for transcoding Unicode that are based on std::codecvt. Surrogate
code points should always be treated as error. On the other hand
surrogate code units can only appear in UTF-16 and only when they come
in a proper pair.

Additionally, it fixes a bug in std::codecvt_utf16::in() when odd number
of bytes were given in the range [from, from_end), error was returned
always. The last byte in such range does not form a full UTF-16 code
unit and we can not make any decisions for error, instead partial should
be returned.

The testsuite for testing these facets was updated in the following
order:

1. All functions that test codecvts that work with UTF-8 were refactored
   and made more generic so they accept codecvt that works with the char
   type char8_t.
2. The same functions were updated with new test cases for transcoding
   errors and now additionally test for surrogates, overlong UTF-8
   sequences, code points out of the Unicode range, and more tests for
   missing leading and trailing code units.
3. New tests were added to test codecvt_utf16 in both of its variants,
   UTF-16 <-> UTF-32/UCS-4 and UTF-16 <-> UCS-2.

libstdc++-v3/ChangeLog:

PR libstdc++/108976
* src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
surrogates in UTF-8.
(ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
(ucs4_in): Fix handling of range with odd number of bytes.
(ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
(ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
(ucs2_in): Fix handling of range with odd number of bytes.
(__codecvt_utf16_base::do_in): Likewise.
(__codecvt_utf16_base::do_in): Likewise.
(__codecvt_utf16_base::do_in): Likewise.
* testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
tests for codecvt_utf16 and codecvt_utf16.
* testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
testing functions for char8_t, add more test cases for errors,
add testing functions for codecvt_utf16.
* testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
Renames, add tests for codecvt_utf16.
* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
Fix test.
* testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
test.

(cherry picked from commit a8b9c32da787ea0bfbfc9118ac816fa7be4b1bc8)

[Bug c++/107800] confusing message with to_address in C++17

2024-05-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107800

--- Comment #11 from GCC Commits  ---
The releases/gcc-13 branch has been updated by Jonathan Wakely
:

https://gcc.gnu.org/g:0a9df2c711f40e067cd57707d8e623136ae4efbe

commit r13-8787-g0a9df2c711f40e067cd57707d8e623136ae4efbe
Author: Jonathan Wakely 
Date:   Tue May 21 13:16:33 2024 +0100

c++: Fix std dialect hint for std::to_address [PR107800]

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.

(cherry picked from commit 826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1)

Results for 15.0.0 20240521 (experimental) [master r15-759-gf0c0bced62b] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
o-fat-lto-objects  -DPREVENT_OPTIMIZATION line 24 sizeof (a) == 17 * sizeof 
(short)
XPASS: gcc.dg/plugin/infoleak-vfio_iommu_type1.c 
-fplugin=./analyzer_kernel_plugin.so  (test for bogus messages, line 42)
FAIL: gcc.dg/tree-ssa/pr64910-2.c scan-assembler-times and|test 20
FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorizing stmts using SLP" 1
FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 1
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-6.c scan-assembler-times (?:vinserti128|vmovdqu)[ 
t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ t]+#) 2
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/vect-shiftv4qi.c scan-assembler-times psrlw 5
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary for unix/-m32 ===

# of expected passes197675
# of unexpected failures160
# of unexpected successes   30
# of expected failures  1552
# of unsupported tests  4076

=== gcc Summary ===

# of expected passes401707
# of unexpected failures322
# of unexpected successes   50
# of expected failures  3098
# of unsupported tests  7351
/export/home/haochenj/src/gcc-reg

[gcc r14-10227] c++: Fix std dialect hint for std::to_address [PR107800]

2024-05-21 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:5b96d547ce71b8f03ddbc2318c64618110839e20

commit r14-10227-g5b96d547ce71b8f03ddbc2318c64618110839e20
Author: Jonathan Wakely 
Date:   Tue May 21 13:16:33 2024 +0100

c++: Fix std dialect hint for std::to_address [PR107800]

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.

(cherry picked from commit 826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1)

Diff:
---
 gcc/cp/cxxapi-data.csv | 2 +-
 gcc/cp/std-name-hint.gperf | 2 +-
 gcc/cp/std-name-hint.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/cp/cxxapi-data.csv b/gcc/cp/cxxapi-data.csv
index 75ee1b3ac92..1cbf774acd7 100644
--- a/gcc/cp/cxxapi-data.csv
+++ b/gcc/cp/cxxapi-data.csv
@@ -460,7 +460,7 @@
 # unimplemented ,default_accessor,1,no
 # unimplemented ,mdspan,1,cxx23
 ,pointer_traits,1,cxx11
-,to_address,1,cxx11
+,to_address,1,cxx20
 ,align,1,cxx11
 ,assume_aligned,1,cxx20
 ,allocator_arg_t,1,cxx11
diff --git a/gcc/cp/std-name-hint.gperf b/gcc/cp/std-name-hint.gperf
index b26bc6949ba..4fb23da40a6 100644
--- a/gcc/cp/std-name-hint.gperf
+++ b/gcc/cp/std-name-hint.gperf
@@ -220,7 +220,7 @@ pointer_traits, "", cxx11
 reinterpret_pointer_cast, "", cxx17
 shared_ptr, "", cxx11
 static_pointer_cast, "", cxx11
-to_address, "", cxx11
+to_address, "", cxx20
 uninitialized_construct_using_allocator, "", cxx20
 unique_ptr, "", cxx11
 uses_allocator, "", cxx11
diff --git a/gcc/cp/std-name-hint.h b/gcc/cp/std-name-hint.h
index e37d769c1ce..231689355d1 100644
--- a/gcc/cp/std-name-hint.h
+++ b/gcc/cp/std-name-hint.h
@@ -291,7 +291,7 @@ std_name_hint_lookup::find (const char *str, size_t len)
 #line 472 "std-name-hint.gperf"
   {"variant_npos", "", cxx17},
 #line 223 "std-name-hint.gperf"
-  {"to_address", "", cxx11},
+  {"to_address", "", cxx20},
 #line 460 "std-name-hint.gperf"
   {"pair", "", cxx98},
 #line 269 "std-name-hint.gperf"


[Bug c++/107800] confusing message with to_address in C++17

2024-05-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107800

--- Comment #10 from GCC Commits  ---
The releases/gcc-14 branch has been updated by Jonathan Wakely
:

https://gcc.gnu.org/g:5b96d547ce71b8f03ddbc2318c64618110839e20

commit r14-10227-g5b96d547ce71b8f03ddbc2318c64618110839e20
Author: Jonathan Wakely 
Date:   Tue May 21 13:16:33 2024 +0100

c++: Fix std dialect hint for std::to_address [PR107800]

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.

(cherry picked from commit 826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1)

Re: [PATCH v5 1/5] Improve must tail in RTL backend

2024-05-21 Thread Andi Kleen
> I see.  I do wonder how we should deal with the inherent
> dependence on optimization for [[musttail]] to work then?  "Solve"
> the problem with good documentation?

For now that's good enough I think. If it's a significant problem
it can always be improved later.

> Offer a -fignore-musttail
> option to allow a -O0 build to at least succeed?  But then [[musttail]]
> would rather be [[shouldtail]] and can no longer be for correctness?

I don't think ignore-musttail is a good idea because an interpreter
relying on this would almost certainly die very quickly after overflowing
its stack. The feature is only useful when it can be relied on.

> How does clang solve this?

clang++ 17 seems to handle both cases (large struct in memory or struct
fitting into registers) without optimization.
I haven't checked the LLVM source on the exact details.

-Andi


Results for 15.0.0 20240521 (experimental) [remotes/origin/HEAD r15-758-g9926c40a90] (GCC) testsuite on powerpc64le-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER8) via Gcc-testresults
-partition=none  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/pr68860-1.c   -Os  -DPREVENT_OPTIMIZATION  line 16 y == 2
FAIL: gcc.dg/guality/pr68860-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
FAIL: gcc.dg/guality/pr68860-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 
2
FAIL: gcc.dg/guality/sra-1.c   -O2  -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 a.i == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 32 a[0] == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 32 a[1] == 14
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 43 a.i == 4
FAIL: gcc.dg/guality/sra-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c   -Os  -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 21 a.i == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 21 a.j == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 32 a[0] == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 32 a[1] == 14
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 43 a.i == 4
FAIL: gcc.dg/guality/sra-1.c  -Og -DPREVENT_OPTIMIZATION  line 43 a.j == 14
FAIL: gcc.dg/guality/vla-1.c   -O2  -DPREVENT_OPTIMIZATION  line 17 sizeof (a) 
== 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 17 sizeof (a) == 6
FAIL: gcc.dg/guality/vla-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 17 sizeof (a) == 6
FAIL: gcc.dg/guality/vla-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 17 sizeof 
(a) == 6
FAIL: gcc.dg/guality/vla-1.c   -Os  -DPREVENT_OPTIMIZATION  line 17 sizeof (a) 
== 6
FAIL: gcc.dg/torture/pr52451.c   -O0  execution test
FAIL: gcc.dg/torture/pr52451.c   -O1  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
FAIL: gcc.dg/torture/pr52451.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test
FAIL: gcc.dg/torture/pr52451.c   -O3 -g  execution test
FAIL: gcc.dg/torture/pr52451.c   -Os  execution test
XPASS: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;"
FAIL: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times optimized 
"Invalid sum" 0
FAIL: gcc.dg/vect/vect-117.c -flto -ffat-lto-objects  scan-tree-dump-not 
optimized "Invalid sum"
FAIL: gcc.dg/vect/vect-117.c scan-tree-dump-not optimized "Invalid sum"
FAIL: gcc.target/powerpc/rlwimi-2.c scan-assembler-times (?n)^s+[a-z] 20217
XPASS: gcc.target/powerpc/ppc-fortran/ieee128-math.f90   -O  (test for excess 
errors)

=== gcc Summary ===

# of expected passes178680
# of unexpected failures125
# of unexpected successes   13
# of expected failures  1602
# of unsupported tests  5041
/home/gccbuild/build/nightly/build-gcc-trunk/gcc/xgcc  version 15.0.0 20240521 
(experimental) [remotes/origin/HEAD r15-758-g9926c40a90] (GCC) 

=== gfortran tests ===


Running target unix
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O0  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O1  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O2  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -O3 -g  execution test
XPASS: gfortran.dg/large_real_kind_form_io_2.f90   -Os  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O0  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O1  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O2  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
FAIL: gfortran.dg/ieee/comparisons_3.F90   -O3 -g  execution test
FAIL: 

Results for 15.0.0 20240521 (experimental) [master r15-758-g9926c40a902] (GCC) testsuite on i686-pc-linux-gnu

2024-05-21 Thread haochenj via Gcc-testresults
asses    196294
# of unexpected failures230
# of unexpected successes   27
# of expected failures  1502
# of unresolved testcases   114
# of unsupported tests  4196
/home/haochenj/src/gcc-regression/bld/gcc/xgcc  version 15.0.0 20240521 
(experimental) [master r15-758-g9926c40a902] (GCC) 

=== gfortran tests ===


Running target unix
UNRESOLVED: gfortran.dg/weak-1.f90   -O 
UNRESOLVED: gfortran.dg/weak-2.f90   -O 
UNRESOLVED: gfortran.dg/weak-3.f90   -O 

    === gfortran Summary ===

# of expected passes69835
# of expected failures  275
# of unresolved testcases   3
# of unsupported tests  233
/home/haochenj/src/gcc-regression/bld/gcc/gfortran  version 15.0.0 20240521 
(experimental) [master r15-758-g9926c40a902] (GCC) 

=== g++ tests ===


Running target unix
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++14
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++17
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++20
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-1.C  -std=gnu++98
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++14
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++17
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++20
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-2.C  -std=gnu++98
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++14
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++17
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++20
UNRESOLVED: g++.dg/debug/dwarf2/inline-var-3.C  -std=gnu++98
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++14
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++17
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++20
UNRESOLVED: c-c++-common/Waddress-5.c  -std=gnu++98
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++14
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++17
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++20
UNRESOLVED: g++.dg/abi/anon2.C  -std=c++98
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++14
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++17
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++20
UNRESOLVED: g++.dg/abi/anon3.C  -std=c++98
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++14
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++17
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++20
UNRESOLVED: g++.dg/abi/mangle40.C  -std=gnu++98
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++14
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++17
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++20
UNRESOLVED: g++.dg/abi/rtti3.C  -std=c++98
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++14
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++17
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++20
UNRESOLVED: g++.dg/abi/thunk3.C  -std=c++98
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++14
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++17
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++20
UNRESOLVED: g++.dg/abi/thunk4.C  -std=c++98
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++14
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++17
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++20
UNRESOLVED: g++.dg/abi/thunk5.C  -std=c++98
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp0x/lambda/lambda-mangle6.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++14
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++17
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++20
UNRESOLVED: g++.dg/cpp0x/pr84497.C  -std=c++98
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp1z/decomp41.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp1z/inline-var1.C  -std=gnu++98
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++14
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++17
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++20
UNRESOLVED: g++.dg/cpp2a/lambda-mangle.C  -std=gnu++98
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++14
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++17
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++20
UNRESOLVED: g++.dg/eh/ia64-2.C  -std=gnu++98
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++14
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++17
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++20
UNRESOLVED: g++.dg/eh/weak1.C  -std=gnu++98
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++14
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++17
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++20
UNRESOLVED: g++.dg/ext/attr-copy.C  -std=gnu++98
UNRESOLVED: g++.dg/ext/tmplattr9.C  -std=gnu++14
UNRESOLVED: g++.dg

Re: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

2024-05-21 Thread Jason Merrill

On 5/21/24 17:27, Patrick Palka wrote:

On Tue, 21 May 2024, Jason Merrill wrote:


On 5/21/24 15:36, Patrick Palka wrote:

Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look
OK for trunk?

Alternatively, I considered fixing this by incrementing
comparing_specializations around the call to comp_except_specs in
cp_check_qualified_type, but generally for types whose identity
depends on whether comparing_specializations is set we need to
use structural equality anyway IIUC.


Why not both?


I figured the latter change isn't necessary/observable since
comparing_specializations would only make a difference for complex
exception specifications, and with this patch we won't even call
cp_check_qualified_type on a complex eh spec.


My concern is that if we're building a function type multiple times with 
the same noexcept-spec, this patch would mean creating multiple 
equivalent function types instead of reusing one already created for the 
same function.



+  bool complex_p = (cr && cr != noexcept_true_spec
+   && !UNPARSED_NOEXCEPT_SPEC_P (cr));


Why treat unparsed specs differently from parsed ones?


Unparsed specs are unique according to cp_tree_equal, so in turn
function types with unparsed specs are unique, so it should be safe to
treat such types as canonical.  I'm not sure if this optimization
matters though; I'm happy to remove this case.


The idea that this optimization could make a difference raised the 
concern above.


Jason



Re: [RFC][PATCH] PR tree-optimization/109071 - -Warray-bounds false positive warnings due to code duplication from jump threading

2024-05-21 Thread David Malcolm
On Tue, 2024-05-21 at 15:13 +, Qing Zhao wrote:
> Thanks for the comments and suggestions.
> 
> > On May 15, 2024, at 10:00, David Malcolm 
> > wrote:
> > 
> > On Tue, 2024-05-14 at 15:08 +0200, Richard Biener wrote:
> > > On Mon, 13 May 2024, Qing Zhao wrote:
> > > 
> > > > -Warray-bounds is an important option to enable linux kernal to
> > > > keep
> > > > the array out-of-bound errors out of the source tree.
> > > > 
> > > > However, due to the false positive warnings reported in
> > > > PR109071
> > > > (-Warray-bounds false positive warnings due to code duplication
> > > > from
> > > > jump threading), -Warray-bounds=1 cannot be added on by
> > > > default.
> > > > 
> > > > Although it's impossible to elinimate all the false positive
> > > > warnings
> > > > from -Warray-bounds=1 (See PR104355 Misleading -Warray-bounds
> > > > documentation says "always out of bounds"), we should minimize
> > > > the
> > > > false positive warnings in -Warray-bounds=1.
> > > > 
> > > > The root reason for the false positive warnings reported in
> > > > PR109071 is:
> > > > 
> > > > When the thread jump optimization tries to reduce the # of
> > > > branches
> > > > inside the routine, sometimes it needs to duplicate the code
> > > > and
> > > > split into two conditional pathes. for example:
> > > > 
> > > > The original code:
> > > > 
> > > > void sparx5_set (int * ptr, struct nums * sg, int index)
> > > > {
> > > >   if (index >= 4)
> > > >     warn ();
> > > >   *ptr = 0;
> > > >   *val = sg->vals[index];
> > > >   if (index >= 4)
> > > >     warn ();
> > > >   *ptr = *val;
> > > > 
> > > >   return;
> > > > }
> > > > 
> > > > With the thread jump, the above becomes:
> > > > 
> > > > void sparx5_set (int * ptr, struct nums * sg, int index)
> > > > {
> > > >   if (index >= 4)
> > > >     {
> > > >   warn ();
> > > >   *ptr = 0; // Code duplications since "warn" does
> > > > return;
> > > >   *val = sg->vals[index];   // same this line.
> > > >     // In this path, since it's
> > > > under
> > > > the condition
> > > >     // "index >= 4", the compiler
> > > > knows
> > > > the value
> > > >     // of "index" is larger then 4,
> > > > therefore the
> > > >     // out-of-bound warning.
> > > >   warn ();
> > > >     }
> > > >   else
> > > >     {
> > > >   *ptr = 0;
> > > >   *val = sg->vals[index];
> > > >     }
> > > >   *ptr = *val;
> > > >   return;
> > > > }
> > > > 
> > > > We can see, after the thread jump optimization, the # of
> > > > branches
> > > > inside
> > > > the routine "sparx5_set" is reduced from 2 to 1, however,  due
> > > > to
> > > > the
> > > > code duplication (which is needed for the correctness of the
> > > > code),
> > > > we
> > > > got a false positive out-of-bound warning.
> > > > 
> > > > In order to eliminate such false positive out-of-bound warning,
> > > > 
> > > > A. Add one more flag for GIMPLE: is_splitted.
> > > > B. During the thread jump optimization, when the basic blocks
> > > > are
> > > >    duplicated, mark all the STMTs inside the original and
> > > > duplicated
> > > >    basic blocks as "is_splitted";
> > > > C. Inside the array bound checker, add the following new
> > > > heuristic:
> > > > 
> > > > If
> > > >    1. the stmt is duplicated and splitted into two conditional
> > > > paths;
> > > > +  2. the warning level < 2;
> > > > +  3. the current block is not dominating the exit block
> > > > Then not report the warning.
> > > > 
> > > > The false positive warnings are moved from -Warray-bounds=1 to
> > > >  -Warray-bounds=2 now.
> > > > 
> > > > Bootstrapped and regression tested on both x86 and aarch64.
> > > > adjusted
> > > >  -Warray-bounds-61.c due to the false positive warnings.
> > > > 
> > > > Let me know if you have any comments and suggestions.
> > > 
> > > At the last Cauldron I talked with David Malcolm about these kind
> > > of
> > > issues and thought of instead of suppressing diagnostics to
> > > record
> > > how a block was duplicated.  For jump threading my idea was to
> > > record
> > > the condition that was proved true when entering the path and do
> > > this
> > > by recording the corresponding locations
> 
> Is only recording the location for the TRUE path  enough?
> We might need to record the corresponding locations for both TRUE and
> FALSE paths since the VRP might be more accurate on both paths. 
> Is only recording the location is enough? 
> Do we need to record the pointer to the original condition stmt?

Just to be clear: I don't plan to work on this myself (I have far too
much already to work on...); I'm assuming Richard Biener is
hoping/planning to implement this himself.

But feel free to ask me any questions about the diagnostic_path
machinery within the diagnostics subsystem.

[...snip...]

Regards
Dave



Re: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

2024-05-21 Thread Patrick Palka
On Tue, 21 May 2024, Patrick Palka wrote:

> On Tue, 21 May 2024, Jason Merrill wrote:
> 
> > On 5/21/24 15:36, Patrick Palka wrote:
> > > Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look
> > > OK for trunk?
> > > 
> > > Alternatively, I considered fixing this by incrementing
> > > comparing_specializations around the call to comp_except_specs in
> > > cp_check_qualified_type, but generally for types whose identity
> > > depends on whether comparing_specializations is set we need to
> > > use structural equality anyway IIUC.
> > 
> > Why not both?
> 
> I figured the latter change isn't necessary/observable since
> comparing_specializations would only make a difference for complex
> exception specifications, and with this patch we won't even call
> cp_check_qualified_type on a complex eh spec.
> 
> > 
> > > +  bool complex_p = (cr && cr != noexcept_true_spec
> > > + && !UNPARSED_NOEXCEPT_SPEC_P (cr));
> > 
> > Why treat unparsed specs differently from parsed ones?
> 
> Unparsed specs are unique according to cp_tree_equal, so in turn
> function types with unparsed specs are unique, so it should be safe to
> treat such types as canonical.  I'm not sure if this optimization
> matters though; I'm happy to remove this case.

FWIW if we do get rid of this case then I think in
fixup_deferred_exception_variants we can assert TYPE_STRUCTURAL_EQUALITY_P
is already set instead of having to set it.

> 
> > 
> > Jason
> > 
> > 
> 



Re: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

2024-05-21 Thread Patrick Palka
On Tue, 21 May 2024, Jason Merrill wrote:

> On 5/21/24 15:36, Patrick Palka wrote:
> > Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look
> > OK for trunk?
> > 
> > Alternatively, I considered fixing this by incrementing
> > comparing_specializations around the call to comp_except_specs in
> > cp_check_qualified_type, but generally for types whose identity
> > depends on whether comparing_specializations is set we need to
> > use structural equality anyway IIUC.
> 
> Why not both?

I figured the latter change isn't necessary/observable since
comparing_specializations would only make a difference for complex
exception specifications, and with this patch we won't even call
cp_check_qualified_type on a complex eh spec.

> 
> > +  bool complex_p = (cr && cr != noexcept_true_spec
> > +   && !UNPARSED_NOEXCEPT_SPEC_P (cr));
> 
> Why treat unparsed specs differently from parsed ones?

Unparsed specs are unique according to cp_tree_equal, so in turn
function types with unparsed specs are unique, so it should be safe to
treat such types as canonical.  I'm not sure if this optimization
matters though; I'm happy to remove this case.

> 
> Jason
> 
> 



Results for 15.0.0 20240521 (experimental) [master revision gcc-15-751-g7b215c86762] (GCC) testsuite on arm-unknown-eabi

2024-05-21 Thread ci_notify--- via Gcc-testresults
 -g   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/soft/cmse-5.c  -march=armv8-m.main+fp 
-mthumb -mfloat-abi=soft  -Os   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c  
-march=armv8-m.main+fp -mthumb  -O0   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c  
-march=armv8-m.main+fp -mthumb  -O1   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c  
-march=armv8-m.main+fp -mthumb  -O2   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c  
-march=armv8-m.main+fp -mthumb  -O3 -g   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c  
-march=armv8-m.main+fp -mthumb  -Os   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c  -march=armv8-m.main+fp 
-mthumb  -O0   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c  -march=armv8-m.main+fp 
-mthumb  -O1   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c  -march=armv8-m.main+fp 
-mthumb  -O2   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c  -march=armv8-m.main+fp 
-mthumb  -O3 -g   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c  -march=armv8-m.main+fp 
-mthumb  -Os   scan-assembler msr\\tAPSR_nzcvqg, lr
FAIL: gcc.target/arm/simd/mve-vabs.c scan-assembler-times memmove 3
FAIL: gcc.target/arm/simd/mve-vshr.c scan-assembler-times 
vneg.s[0-9]+tq[0-9]+, q[0-9]+ 6
FAIL: gcc.target/arm/simd/mve-vshr.c scan-assembler-times 
vshl.s[0-9]+tq[0-9]+, q[0-9]+ 3
FAIL: gcc.target/arm/simd/mve-vshr.c scan-assembler-times 
vshl.u[0-9]+tq[0-9]+, q[0-9]+ 3

=== gcc Summary ===

# of expected passes166348
# of unexpected failures283
# of expected failures  1016
# of unresolved testcases   1
# of unsupported tests  9470
/home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/bin/arm-eabi-gcc
  version 15.0.0 20240521 (experimental) [master revision 
gcc-15-751-g7b215c86762] (GCC) 

Host   is x86_64-pc-linux-gnu

=== g++ tests ===


Running target 
qemu/-mthumb/-march=armv8-m.main+dsp+fp/-mtune=cortex-m33/-mfloat-abi=hard/-mfpu=auto
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++14 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++17 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++20 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98  expected 
multiline pattern lines 49-64
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c  -std=c++98 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++14 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++17 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++20 (test for 
excess errors)
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98  2 blank 
line(s) in output
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98  expected 
multiline pattern lines 19-34
FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c  -std=c++98 (test for 
excess errors)
FAIL: g++.dg/cpp2a/decomp2.C  -std=gnu++14 (test for excess errors)
UNRESOLVED: g++.dg/cpp2a/decomp2.C  -std=gnu++14 compilation failed to produce 
executable
FAIL: g++.dg/cpp2a/decomp2.C  -

Re: [PATCH] c++: canonicity of fn types w/ complex eh specs [PR115159]

2024-05-21 Thread Jason Merrill

On 5/21/24 15:36, Patrick Palka wrote:

Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look
OK for trunk?

Alternatively, I considered fixing this by incrementing
comparing_specializations around the call to comp_except_specs in
cp_check_qualified_type, but generally for types whose identity
depends on whether comparing_specializations is set we need to
use structural equality anyway IIUC.


Why not both?


+  bool complex_p = (cr && cr != noexcept_true_spec
+   && !UNPARSED_NOEXCEPT_SPEC_P (cr));


Why treat unparsed specs differently from parsed ones?

Jason



[Bug sanitizer/115172] Invalid -fsanitize=bool sanitization of variable from named address space

2024-05-21 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115172

--- Comment #7 from Jakub Jelinek  ---
(In reply to Fedor Pchelkin from comment #6)
> (In reply to Uroš Bizjak from comment #5)
> > (In reply to Jakub Jelinek from comment #4)
> > > Created attachment 58261 [details]
> > > gcc15-pr115172.patch
> > > 
> > > Full untested patch.
> > 
> > I can confirm that this patch fixes boot for the kernel config from
> > PR115172#43.
> 
> Yep. I may confirm, too. Thanks for the prompt fix!
> 
> If all goes well, is it expected to land in 14.2 and 13.4?

If it is approved yes.  14.2 is expected likely in July this year, but 13.4
roughly in a year from now, as it just missed 13.3 (released today).

[PATCH] strlen: Fix up !si->full_string_p handling in count_nonzero_bytes_addr [PR115152]

2024-05-21 Thread Jakub Jelinek
Hi!

The following testcase is miscompiled because
strlen_pass::count_nonzero_bytes_addr doesn't handle correctly
the !si->full_string_p case.
If si->full_string_p, it correctly computes minlen and maxlen as
minimum and maximum length of the '\0' terminated stgring and
clears *nulterm (ie. makes sure !full_string_p in the ultimate
caller) if minlen is equal or larger than nbytes and so
'\0' isn't guaranteed to be among those bytes.
But in the !si->full_string_p case, all we know is that there
are [minlen,maxlen] non-zero bytes followed by unknown bytes,
so effectively the maxlen is infinite (but caller cares about only
the first nbytes bytes) and furthermore, we never know if there is
any '\0' char among those, so *nulterm needs to be always cleared.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
ok for trunk and affected release branches?

2024-05-21  Jakub Jelinek  

PR tree-optimization/115152
* tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes_addr): If
!si->full_string_p, clear *nulterm and set maxlen to nbytes.

* gcc.dg/pr115152.c: New test.

--- gcc/tree-ssa-strlen.cc.jj   2024-04-29 11:00:45.0 +0200
+++ gcc/tree-ssa-strlen.cc  2024-05-21 13:43:31.031208000 +0200
@@ -4829,7 +4829,7 @@ strlen_pass::count_nonzero_bytes_addr (t
   if (maxlen + 1 < nbytes)
return false;
 
-  if (nbytes <= minlen)
+  if (nbytes <= minlen || !si->full_string_p)
*nulterm = false;
 
   if (nbytes < minlen)
@@ -4839,6 +4839,9 @@ strlen_pass::count_nonzero_bytes_addr (t
maxlen = nbytes;
}
 
+  if (!si->full_string_p)
+   maxlen = nbytes;
+
   if (minlen < lenrange[0])
lenrange[0] = minlen;
   if (lenrange[1] < maxlen)
--- gcc/testsuite/gcc.dg/pr115152.c.jj  2024-05-21 13:46:02.793214348 +0200
+++ gcc/testsuite/gcc.dg/pr115152.c 2024-05-21 12:49:38.791626073 +0200
@@ -0,0 +1,17 @@
+/* PR tree-optimization/115152 */
+/* { dg-do run } */
+/* { dg-options "-O3 -fno-tree-fre -fno-tree-dominator-opts -fno-tree-loop-im" 
} */
+
+int a, b, c, d;
+signed char e[1] = { 1 };
+
+int
+main ()
+{
+  for (a = 0; a < 3; a++)
+for (b = 0; b < 2; b++)
+  c = e[0] = e[0] ^ d;
+  if (!c)
+__builtin_abort ();
+  return 0;
+}

Jakub



[committed] c++: Fix std dialect hint for std::to_address [PR107800]

2024-05-21 Thread Jonathan Wakely
Tested x86_64-linux. Committed as obvious.

I'll backport it too.

-- >8 --

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.
---
 gcc/cp/cxxapi-data.csv | 2 +-
 gcc/cp/std-name-hint.gperf | 2 +-
 gcc/cp/std-name-hint.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/cp/cxxapi-data.csv b/gcc/cp/cxxapi-data.csv
index 75ee1b3ac92..1cbf774acd7 100644
--- a/gcc/cp/cxxapi-data.csv
+++ b/gcc/cp/cxxapi-data.csv
@@ -460,7 +460,7 @@
 # unimplemented ,default_accessor,1,no
 # unimplemented ,mdspan,1,cxx23
 ,pointer_traits,1,cxx11
-,to_address,1,cxx11
+,to_address,1,cxx20
 ,align,1,cxx11
 ,assume_aligned,1,cxx20
 ,allocator_arg_t,1,cxx11
diff --git a/gcc/cp/std-name-hint.gperf b/gcc/cp/std-name-hint.gperf
index b26bc6949ba..4fb23da40a6 100644
--- a/gcc/cp/std-name-hint.gperf
+++ b/gcc/cp/std-name-hint.gperf
@@ -220,7 +220,7 @@ pointer_traits, "", cxx11
 reinterpret_pointer_cast, "", cxx17
 shared_ptr, "", cxx11
 static_pointer_cast, "", cxx11
-to_address, "", cxx11
+to_address, "", cxx20
 uninitialized_construct_using_allocator, "", cxx20
 unique_ptr, "", cxx11
 uses_allocator, "", cxx11
diff --git a/gcc/cp/std-name-hint.h b/gcc/cp/std-name-hint.h
index e37d769c1ce..231689355d1 100644
--- a/gcc/cp/std-name-hint.h
+++ b/gcc/cp/std-name-hint.h
@@ -291,7 +291,7 @@ std_name_hint_lookup::find (const char *str, size_t len)
 #line 472 "std-name-hint.gperf"
   {"variant_npos", "", cxx17},
 #line 223 "std-name-hint.gperf"
-  {"to_address", "", cxx11},
+  {"to_address", "", cxx20},
 #line 460 "std-name-hint.gperf"
   {"pair", "", cxx98},
 #line 269 "std-name-hint.gperf"
-- 
2.45.1



[gcc r15-760] c++: Fix std dialect hint for std::to_address [PR107800]

2024-05-21 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1

commit r15-760-g826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1
Author: Jonathan Wakely 
Date:   Tue May 21 13:16:33 2024 +0100

c++: Fix std dialect hint for std::to_address [PR107800]

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.

Diff:
---
 gcc/cp/cxxapi-data.csv | 2 +-
 gcc/cp/std-name-hint.gperf | 2 +-
 gcc/cp/std-name-hint.h | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/cp/cxxapi-data.csv b/gcc/cp/cxxapi-data.csv
index 75ee1b3ac92..1cbf774acd7 100644
--- a/gcc/cp/cxxapi-data.csv
+++ b/gcc/cp/cxxapi-data.csv
@@ -460,7 +460,7 @@
 # unimplemented ,default_accessor,1,no
 # unimplemented ,mdspan,1,cxx23
 ,pointer_traits,1,cxx11
-,to_address,1,cxx11
+,to_address,1,cxx20
 ,align,1,cxx11
 ,assume_aligned,1,cxx20
 ,allocator_arg_t,1,cxx11
diff --git a/gcc/cp/std-name-hint.gperf b/gcc/cp/std-name-hint.gperf
index b26bc6949ba..4fb23da40a6 100644
--- a/gcc/cp/std-name-hint.gperf
+++ b/gcc/cp/std-name-hint.gperf
@@ -220,7 +220,7 @@ pointer_traits, "", cxx11
 reinterpret_pointer_cast, "", cxx17
 shared_ptr, "", cxx11
 static_pointer_cast, "", cxx11
-to_address, "", cxx11
+to_address, "", cxx20
 uninitialized_construct_using_allocator, "", cxx20
 unique_ptr, "", cxx11
 uses_allocator, "", cxx11
diff --git a/gcc/cp/std-name-hint.h b/gcc/cp/std-name-hint.h
index e37d769c1ce..231689355d1 100644
--- a/gcc/cp/std-name-hint.h
+++ b/gcc/cp/std-name-hint.h
@@ -291,7 +291,7 @@ std_name_hint_lookup::find (const char *str, size_t len)
 #line 472 "std-name-hint.gperf"
   {"variant_npos", "", cxx17},
 #line 223 "std-name-hint.gperf"
-  {"to_address", "", cxx11},
+  {"to_address", "", cxx20},
 #line 460 "std-name-hint.gperf"
   {"pair", "", cxx98},
 #line 269 "std-name-hint.gperf"


[Bug c++/107800] confusing message with to_address in C++17

2024-05-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107800

--- Comment #9 from GCC Commits  ---
The master branch has been updated by Jonathan Wakely :

https://gcc.gnu.org/g:826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1

commit r15-760-g826a7d3d19d3ebf04e21d6f1c89eb341a36fb5d1
Author: Jonathan Wakely 
Date:   Tue May 21 13:16:33 2024 +0100

c++: Fix std dialect hint for std::to_address [PR107800]

The correct dialect for std::to_address is cxx20 not cxx11.

gcc/cp/ChangeLog:

PR libstdc++/107800
* cxxapi-data.csv : Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.

[PATCH] ubsan: Use right address space for MEM_REF created for bool/enum sanitization [PR115172]

2024-05-21 Thread Jakub Jelinek
Hi!

The following testcase is miscompiled, because -fsanitize=bool,enum
creates a MEM_REF without propagating there address space qualifiers,
so what should be normally loaded using say %gs:/%fs: segment prefix
isn't.  Together with asan it then causes that load to be sanitized.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
ok for trunk and release branches?

2024-05-21  Jakub Jelinek  

PR sanitizer/115172
* ubsan.cc (instrument_bool_enum_load): If rhs is not in generic
address space, use qualified version of utype with the right
address space.  Formatting fix.

* gcc.dg/asan/pr115172.c: New test.

--- gcc/ubsan.cc.jj 2024-03-22 09:23:37.695296775 +0100
+++ gcc/ubsan.cc2024-05-21 12:10:24.261454107 +0200
@@ -1776,13 +1776,17 @@ instrument_bool_enum_load (gimple_stmt_i
   || TREE_CODE (gimple_assign_lhs (stmt)) != SSA_NAME)
 return;
 
+  addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (rhs));
+  if (as != TYPE_ADDR_SPACE (utype))
+utype = build_qualified_type (utype, TYPE_QUALS (utype)
+| ENCODE_QUAL_ADDR_SPACE (as));
   bool ends_bb = stmt_ends_bb_p (stmt);
   location_t loc = gimple_location (stmt);
   tree lhs = gimple_assign_lhs (stmt);
   tree ptype = build_pointer_type (TREE_TYPE (rhs));
   tree atype = reference_alias_ptr_type (rhs);
   gimple *g = gimple_build_assign (make_ssa_name (ptype),
- build_fold_addr_expr (rhs));
+  build_fold_addr_expr (rhs));
   gimple_set_location (g, loc);
   gsi_insert_before (gsi, g, GSI_SAME_STMT);
   tree mem = build2 (MEM_REF, utype, gimple_assign_lhs (g),
--- gcc/testsuite/gcc.dg/asan/pr115172.c.jj 2024-05-21 17:28:18.302815400 
+0200
+++ gcc/testsuite/gcc.dg/asan/pr115172.c2024-05-21 22:50:43.272753785 
+0200
@@ -0,0 +1,20 @@
+/* PR sanitizer/115172 */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O2 -fsanitize=address,bool -ffat-lto-objects 
-fdump-tree-asan1" } */
+/* { dg-final { scan-tree-dump-not "\.ASAN_CHECK " "asan1" } } */
+
+#ifdef __x86_64__
+#define SEG __seg_gs
+#else
+#define SEG __seg_fs
+#endif
+
+extern struct S { _Bool b; } s;
+void bar (void);
+
+void
+foo (void)
+{
+  if (*(volatile _Bool SEG *) (__UINTPTR_TYPE__) )
+bar ();
+}

Jakub



Results for 13.3.1 20240521 [releases/gcc-13 r13-8786-g5ed32d00a7b] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
s  (test for excess errors)
FAIL: gcc.dg/pr96573.c scan-tree-dump optimized 
"__builtin_bswap|VEC_PERM_EXPR[^\\n\\r]*7, 6, 5, 4, 3, 2, 1, 0"
FAIL: c-c++-common/goacc/kernels-loop-g.c (test for excess errors)
XPASS: gcc.dg/plugin/infoleak-vfio_iommu_type1.c 
-fplugin=./analyzer_kernel_plugin.so  (test for bogus messages, line 42)
FAIL: gcc.dg/tree-ssa/pr64910-2.c scan-assembler-times and|test 20
FAIL: gcc.dg/tree-ssa/scev-3.c scan-tree-dump-times ivopts "" 1
FAIL: gcc.dg/tree-ssa/scev-4.c scan-tree-dump-times ivopts "" 1
FAIL: gcc.dg/tree-ssa/scev-5.c scan-tree-dump-times ivopts "" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr78794.c scan-assembler pandn
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
pand[^\\n]*%xmm 3
XPASS: gcc.target/i386/sse2-shiftqihi-constant-1.c scan-assembler-times 
psllw[^\\n]*%xmm 1

=== gcc Summary for unix/-m32 ===

# of expected passes182158
# of unexpected failures37
# of unexpected successes   14
# of expected failures  1438
# of unsupported tests  3283

=== gcc Summary ===

# of expected passes368837
# of unexpected failures80
# of unexpected successes   19
# of expected failures  2869
# of unsupported tests  5729
/export/home/haochenj/src/gcc-13-regression/bld/gcc/xgcc  version 13.3.1 
20240521 [releases/gcc-13 r13-8786-g5ed32d00a7b] (GCC) 

=== gfortran tests ===


Running target unix

=== gfortran Summary for unix ===

# of expected passes68531
# of expected failures  259
# of unsupported tests  78

Running target unix/-m32

=== gfortran Summary for unix/-m32 ===

# of expected passes68209
# of expected failures  261
# of unsupported tests  230

=== gfortran Summary ===

# of expected passes136740
# of expected failures  520
# of unsupported tests  308
/export/home/haochenj/src/gcc-13-regression/bld/gcc/gfortran  version 13.3.1 
20240521 [releases/gcc-13 r13-

Regressions on releases/gcc-14 at commit r14-10225 vs commit r14-10224 on Linux/x86_64

2024-05-21 Thread Haochen Jiang via Gcc-regression
Regressions on releases/gcc-14 at commit r14-10225 vs commit r14-10224 on 
Linux/x86_64
New failures:
FAIL: gcc.dg/lto/save-temps c_lto_save-temps_0.o-c_lto_save-temps_0.o link,  -O 
-flto -save-temps

New passes:


Results for 14.1.1 20240521 [releases/gcc-14 r14-10225-gedde60a53c7] (GCC) testsuite on x86_64-pc-linux-gnu

2024-05-21 Thread haochenj--- via Gcc-testresults
ernel_plugin.so  (test for bogus messages, line 42)
FAIL: gcc.dg/tree-ssa/pr64910-2.c scan-assembler-times and|test 20
FAIL: gcc.dg/tree-ssa/slsr-31.c scan-tree-dump-times optimized " * 2" 1
FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 2
FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorizing stmts using SLP" 1
FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 1
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-1.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-2.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-3.c execution test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c -flto -ffat-lto-objects execution 
test
XPASS: gcc.dg/vect/vect-reduc-in-order-4.c execution test
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512bw-vmovdqu16-1.c scan-assembler-times 
(?:vmovdqu16|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/avx512dq-pr88465.c scan-assembler-times kxnorb[ \\t] 1
FAIL: gcc.target/i386/avx512f-pr88465.c scan-assembler-times kxnorw[ \\t] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%xmm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^,]*,[^{\\n]*%ymm[0-9] 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%xmm[0-9], *[^,]* 1
FAIL: gcc.target/i386/avx512fp16-13.c scan-assembler-times vmovdqu16[ 
t]*[^{\\n]*%ymm[0-9], *[^,]* 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kmovb[\\t ] 4
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times korb[\\t ] 1
XPASS: gcc.target/i386/bitwise_mask_op-3.c scan-assembler-times kxorb[\\t ] 1
FAIL: gcc.target/i386/minmax-10.c scan-assembler-not cmp
FAIL: gcc.target/i386/minmax-10.c scan-assembler-times test 6
FAIL: gcc.target/i386/pieces-memset-11.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-14.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-2.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-20.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-23.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-29.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-30.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-33.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-34.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-37.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memset-44.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pieces-memset-5.c scan-assembler-times vmovdqu[ 
t]+[^\\n]*%ymm 1
FAIL: gcc.target/i386/pr31985.c scan-assembler-times movl 4
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vextracti128)[ t]+[^{\\n]*%ymm[0-9]+[^\\n]*)(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-5.c scan-assembler-times 
(?:vmovdqu8|vinserti128)[ t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ 
t]+#) 1
FAIL: gcc.target/i386/pr95483-6.c scan-assembler-times (?:vinserti128|vmovdqu)[ 
t]+[^{\\n]*)[^\\n]*%ymm[0-9]+(?:\\n|[ t]+#) 2
FAIL: gcc.target/i386/pr97873-1.c scan-assembler pabsq
FAIL: gcc.target/i386/vect-double-2.c scan-tree-dump-times vect "Vectorized 
loops: 1" 1
FAIL: gcc.target/i386/xorsign.c scan-tree-dump-times vect "vectorized 2 loops" 1

=== gcc Summary for unix/-m32 ===

# of expected passes197707
# of unexpected failures159
# of unexpected successes   30
# of expected failures  1552
# of unsupported tests  4078

=== gcc Summary ===

# of expected passes401741
# of unexpected failures319
# of unexpected successes   50
# of expected failures  3098
# of unsupported tests  7370
/export/home/haochenj/src/gcc-14-regression/bld/gcc/xgcc  version 14.1.1 
20240521 [releases/gcc-14 r14-10225-gedde60a53c7] (GCC) 

=== gfortran tests ===


Running target unix

=== gfortran Summary for unix ===

# of expected passes 

Results for 15.0.0 20240521 (experimental) [master r15-758-g9926c40a90] (GCC) testsuite on powerpc64-unknown-linux-gnu

2024-05-21 Thread Bill Seurer (POWER9 BE) via Gcc-testresults


git commit g:9926c40a902edbc665919d508ef0c36f362f9c41
gcc-descr r15-758-g9926c40a902edb

power9 BE
Linux 6.7.12-powerpc64 ppc64
GNU Make 4.3

DejaGnu:
DejaGnu version 1.6.3
Expect version  5.45.4
Tcl version 8.6

64-bit

LAST_UPDATED: Tue May 21 19:04:28 UTC 2024 (revision r15-758-g9926c40a90)

Native configuration is powerpc64-unknown-linux-gnu

=== g++ tests ===


Running target unix/-m32
FAIL: c-c++-common/torture/strub-run3.c   -O0  execution test

=== g++ Summary for unix/-m32 ===

# of expected passes251796
# of unexpected failures1
# of expected failures  2615
# of unsupported tests  11550

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes260818
# of expected failures  2620
# of unsupported tests  11723

=== g++ Summary ===

# of expected passes512614
# of unexpected failures1
# of expected failures  5235
# of unsupported tests  23273
/home/gccbuild/build/nightly/build-gcc-trunk/gcc/xg++  version 15.0.0 20240521 
(experimental) [master r15-758-g9926c40a90] (GCC) 

=== gcc tests ===


Running target unix/-m32
XPASS: gcc.dg/guality/example.c   -O0  execution test
XPASS: gcc.dg/guality/example.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/example.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O0  execution test
XPASS: gcc.dg/guality/guality.c   -O1  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/guality.c   -O3 -g  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c   -Os  -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/guality.c  -Og -DPREVENT_OPTIMIZATION  execution test
XPASS: gcc.dg/guality/inline-params.c   -O2  -DPREVENT_OPTIMIZATION  execution 
test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION execution test
XPASS: gcc.dg/guality/inline-params.c   -O3 -g  -DPREVENT_OPTIMIZATION  
execution test
XPASS: gcc.dg/guality/inline-params.c   -Os  -DPREVENT_OPTIMIZATION  execution 
test
FAIL: gcc.dg/guality/loop-1.c   -O2  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -fomit-frame-pointer -funroll-loops 
-fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/loop-1.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 20 i == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker

[Bug c++/115139] [14 Regression] Enum inside variadic template class can't define one of self with usage another value from this enum

2024-05-21 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115139

Patrick Palka  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Patrick Palka  ---
Fixed for GCC 14.2, thanks for the bug report.

[gcc r14-10226] c++: folding non-dep enumerator from current inst [PR115139]

2024-05-21 Thread Patrick Palka via Gcc-cvs
https://gcc.gnu.org/g:caf43cc9e5c0b3265b55e5a0dc77fc55e9618c77

commit r14-10226-gcaf43cc9e5c0b3265b55e5a0dc77fc55e9618c77
Author: Patrick Palka 
Date:   Tue May 21 15:54:10 2024 -0400

c++: folding non-dep enumerator from current inst [PR115139]

After the tsubst_copy removal r14-4796-g3e3d73ed5e85e7 GCC 14 ICEs during
fold_non_dependent_expr for 'e1 | e2' below ultimately because we no
longer exit early when substituting the CONST_DECLs for e1 and e2 with
args=NULL_TREE and instead proceed to substitute the class context A
(also with args=NULL_TREE) which ends up ICEing from tsubst_pack_expansion
(due to processing_template_decl being cleared).

Incidentally, the ICE went away on trunk ever since the tsubst_aggr_type
removal r15-123-gf04dc89a991ddc since it changed the CONST_DECL case of
tsubst_expr to use tsubst to substitute the context, which short circuits
for empty args and so avoids the ICE.

This patch fixes this ICE for GCC 14 by narrowly restoring the early exit
for empty args that would've happened in tsubst_copy when substituting an
enumerator CONST_DECL.  We might as well apply this to trunk too, as a
small optimization.

PR c++/115139

gcc/cp/ChangeLog:

* pt.cc (tsubst_expr) : Exit early if args
is empty.

gcc/testsuite/ChangeLog:

* g++.dg/template/non-dependent33.C: New test.

Reviewed-by: Marek Polacek 
Reviewed-by: Jason Merrill 
(cherry picked from commit f0c0bced62b9c728ed1e672747aa234d918da22c)

Diff:
---
 gcc/cp/pt.cc|  2 +-
 gcc/testsuite/g++.dg/template/non-dependent33.C | 13 +
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index e9882f2a3e0..ba47620ec59 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -21524,7 +21524,7 @@ tsubst_expr (tree t, tree args, tsubst_flags_t 
complain, tree in_decl)
 
if (DECL_TEMPLATE_PARM_P (t))
  RETURN (RECUR (DECL_INITIAL (t)));
-   if (!uses_template_parms (DECL_CONTEXT (t)))
+   if (!args || !uses_template_parms (DECL_CONTEXT (t)))
  RETURN (t);
 
/* Unfortunately, we cannot just call lookup_name here.
diff --git a/gcc/testsuite/g++.dg/template/non-dependent33.C 
b/gcc/testsuite/g++.dg/template/non-dependent33.C
new file mode 100644
index 000..ea5b41fba93
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/non-dependent33.C
@@ -0,0 +1,13 @@
+// PR c++/115139
+// { dg-do compile { target c++11 } }
+
+template
+class A {
+  enum E {
+e1 = 1,
+e2 = 2,
+e3 = e1 | e2,
+  };
+};
+
+template class A;


  1   2   3   4   5   6   7   >