[Bug target/97323] [10/11 Regression] ICE 'verify_type' failed on arm-linux-gnueabihf

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97323

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |10.3

--- Comment #1 from Richard Biener  ---
works on x86_64-linux

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

Richard Biener  changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #1 from Richard Biener  ---
it works for me with GCC 11

[Bug rtl-optimization/97326] [11 Regression] s390: ICE in do_store_flag after 10843f830350

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97326

Richard Biener  changed:

   What|Removed |Added

 Target||s390
   Target Milestone|--- |11.0

[Bug middle-end/97326] [11 Regression] s390: ICE in do_store_flag after 10843f830350

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97326

Richard Biener  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
   Keywords||ice-on-valid-code
  Component|rtl-optimization|middle-end

--- Comment #1 from Richard Biener  ---
More fallout.

[Bug target/97327] -mcpu=cortex-m55 warns without -mfloat-abi=hard or -march=armv8.1-m.main

2020-10-08 Thread jgreenhalgh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97327

James Greenhalgh  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 CC||jgreenhalgh at gcc dot gnu.org
   Last reconfirmed||2020-10-08
 Status|UNCONFIRMED |NEW

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2016 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread hubicka at ucw dot cz via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #6 from Jan Hubicka  ---
Hi,
the following patch should let us to pinpoint the wrong disambiguation.
With -fdump-tree-all-details we should also see the difference in dump
file.

Honza

diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index cf8775b2b66..07946a85ecc 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -171,6 +171,7 @@ DEBUG_COUNTER (if_after_reload)
 DEBUG_COUNTER (if_conversion)
 DEBUG_COUNTER (if_conversion_tree)
 DEBUG_COUNTER (ipa_cp_bits)
+DEBUG_COUNTER (ipa_mod_ref)
 DEBUG_COUNTER (ipa_sra_params)
 DEBUG_COUNTER (ipa_sra_retvalues)
 DEBUG_COUNTER (ira_move)
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 97dc4ac8814..ba208604c30 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -2470,6 +2470,9 @@ modref_may_conflict (const gimple *stmt,
   if (tt->every_base)
 return true;

+  if (!dbg_cnt (ipa_mod_ref))
+return true;
+
   base_set = ao_ref_base_alias_set (ref);

   ref_set = ao_ref_alias_set (ref);

Re: [Bug ipa/97292] [11 Regression] dealII from SPECCPU 2016 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread Jan Hubicka
Hi,
the following patch should let us to pinpoint the wrong disambiguation.
With -fdump-tree-all-details we should also see the difference in dump
file.

Honza

diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index cf8775b2b66..07946a85ecc 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -171,6 +171,7 @@ DEBUG_COUNTER (if_after_reload)
 DEBUG_COUNTER (if_conversion)
 DEBUG_COUNTER (if_conversion_tree)
 DEBUG_COUNTER (ipa_cp_bits)
+DEBUG_COUNTER (ipa_mod_ref)
 DEBUG_COUNTER (ipa_sra_params)
 DEBUG_COUNTER (ipa_sra_retvalues)
 DEBUG_COUNTER (ira_move)
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 97dc4ac8814..ba208604c30 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -2470,6 +2470,9 @@ modref_may_conflict (const gimple *stmt,
   if (tt->every_base)
 return true;
 
+  if (!dbg_cnt (ipa_mod_ref))
+return true;
+
   base_set = ao_ref_base_alias_set (ref);
 
   ref_set = ao_ref_alias_set (ref);


[Bug c/97330] New: ice for stmt with wrong VUSE

2020-10-08 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

Bug ID: 97330
   Summary: ice for stmt with wrong VUSE
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

Created attachment 49328
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49328&action=edit
C source code

Sometime between 20201007 and 20201008, the attached code
has broken.

$ /home/dcb/gcc/results/bin/gcc -c -O2 -w /home/dcb/gcc/foundBugs/bug647.c 
auprocess.c: In function ‘rcm_1’:
auprocess.c:1275:17: error: stmt with wrong VUSE
# VUSE <.MEM_34(D)>
n_39 = el_35(D)->nextSample;
expected .MEM_33
during GIMPLE pass: sink
auprocess.c:1275:17: internal compiler error: verify_ssa failed
0xf02e86 verify_ssa(bool, bool)
../../trunk.git/gcc/tree-ssa.c:1208
0xbcd9c1 execute_function_todo(function*, void*)
../../trunk.git/gcc/passes.c:1999
0xbcc211 execute_todo(unsigned int)
../../trunk.git/gcc/passes.c:2046

I'll have a go at reducing the code.

[Bug libgomp/97331] New: [nvptx] Provide GCN_NUM_TEAMS/GCN_NUM_THREADS equivalent

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97331

Bug ID: 97331
   Summary: [nvptx] Provide GCN_NUM_TEAMS/GCN_NUM_THREADS
equivalent
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vries at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
  Target Milestone: ---

When looking at the gcn plugin, there are a number of environment variables
that set/limit launch dimensions:
...
$ grep getenv libgomp/plugin/plugin-gcn.c | grep NUM
  const char *x = secure_getenv ("GCN_NUM_TEAMS");
x = secure_getenv ("GCN_NUM_GANGS");
  const char *z = secure_getenv ("GCN_NUM_THREADS");
z = secure_getenv ("GCN_NUM_WORKERS");
...

It would be nice to have similar ones for nvptx.

[Bug libgomp/97331] [nvptx] Provide GCN_NUM_TEAMS/GCN_NUM_THREADS equivalent

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97331

--- Comment #1 from Jakub Jelinek  ---
The OpenMP 5.1 way is OMP_{NUM_THREADS,...}_DEV_{0,1,2,...} etc., but we aren't
there yet.

[Bug c/97330] ice for stmt with wrong VUSE

2020-10-08 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

--- Comment #1 from David Binderman  ---

Reduced code is:

typedef int a;
typedef char b;
int c;
void d(e, f, dst, g, avail, h) int e;
b *f, *dst;
a g, avail;
int h;
{
  b i = *f;
  if (e)
goto j;
  while (avail) {
*dst = i;
  j:
avail -= c;
  }
}

[Bug libgomp/97332] New: [gcn] GCN_NUM_GANGS/GCN_NUM_WORKERS override compile-time constants

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97332

Bug ID: 97332
   Summary: [gcn] GCN_NUM_GANGS/GCN_NUM_WORKERS override
compile-time constants
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vries at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
  Target Milestone: ---

In openacc programs, dimensions are either dynamic or hardcoded.

If the dimensions are hardcoded, and there are builtins returning the size of
these dimensions, the builtins are folded in fold_internal_goacc_dim.

Changing the dimensions in the plugin then invalidates the folding.

I'm guessing this should be fixed, or at least documented in the plugin (with
perhaps even a warning).

[Bug libgomp/81802] Report cuLaunchKernel launch dimensions in GOMP_OFFLOAD_run

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81802

--- Comment #1 from CVS Commits  ---
The master branch has been updated by Tom de Vries :

https://gcc.gnu.org/g:7345ef6c2a197d0a2581c67838b7ba1650dfad30

commit r11-3715-g7345ef6c2a197d0a2581c67838b7ba1650dfad30
Author: Tom de Vries 
Date:   Thu Oct 8 08:22:39 2020 +0200

[libgomp, nvptx] Report launch dimensions in GOMP_OFFLOAD_run

Using this patch, when using GOMP_DEBUG=1 and launching a kernel in
GOMP_OFFLOAD_run (used by the omp implementation), we see the kernel launch
dimensions:
...
  GOMP_OFFLOAD_run: kernel main$_omp_fn$0: \
launch [(teams: 1), 1, 1] [(lanes: 32), (threads: 1), 1]
...

Build on x86_64-linux with nvptx accelerator, tested libgomp.

libgomp/ChangeLog:

2020-10-08  Tom de Vries  

PR libgomp/81802
* plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
dimensions.

[Bug c/97330] ice for stmt with wrong VUSE

2020-10-08 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

--- Comment #2 from David Binderman  ---
Flags -Werror=implicit-int and -Werror=old-style-definition seem useful.

Here is another reduced test case:

int a, b, d;
char c, e;
void f(void) {
  char g = c;
  if (b)
goto h;
  while (d) {
e = c;
  h:
d -= a;
  }
}

[Bug libgomp/81802] Report cuLaunchKernel launch dimensions in GOMP_OFFLOAD_run

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81802

Tom de Vries  changed:

   What|Removed |Added

 Resolution|--- |FIXED
   Target Milestone|--- |11.0
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Tom de Vries  ---
Marking resolved-fixed.

[Bug sanitizer/97294] ASAN "dynamic-stack-buffer-overflow" false positive with OpenMP reduction to std::vector

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97294

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:273b30c8e93f043f65a04e0ff2ec305b311e98fa

commit r11-3716-g273b30c8e93f043f65a04e0ff2ec305b311e98fa
Author: Jakub Jelinek 
Date:   Thu Oct 8 11:10:34 2020 +0200

openmp: Set cfun->calls_alloca when needed in OpenMP outlined regions
[PR97294]

The following testcase FAILs, because we don't mark the child OpenMP
function
as cfun->calls_alloca when it does call alloca.  When optimizing, during
DCE we
reset those flags and recompute them again, but with -O0 DCE is not
performed.

Fixed by calling notice_special_calls when moving insns to the child
function.

cfun->calls_alloca is normally set during gimplification and most of the
alloca calls omp-low.c does go through the gimplifier, but one spot didn't
and built the gcall directly, so that one needs to set calls_alloca too.

2020-10-08  Jakub Jelinek  

PR sanitizer/97294
* tree-cfg.c (move_block_to_fn): Call notice_special_calls on
call stmts being moved into dest_cfun.
* omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when
adding __builtin_alloca_with_align call without gimplification.

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

[Bug tree-optimization/97315] [11 Regression] ICE in choose_value, at gimple-ssa-evrp.c:282 since r11-3690-gebc77ce3a4c70730b4e38d68f88693eadbdc8712

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97315

--- Comment #11 from CVS Commits  ---
The master branch has been updated by Aldy Hernandez :

https://gcc.gnu.org/g:214d514fafcd78cd54e4a4aa9ae08c89abf9cc57

commit r11-3717-g214d514fafcd78cd54e4a4aa9ae08c89abf9cc57
Author: Aldy Hernandez 
Date:   Thu Oct 8 11:15:23 2020 +0200

Fix PR97315 (part 1 of 2)

gcc/ChangeLog:

PR tree-optimization/97315
* gimple-ssa-evrp.c (hybrid_folder::choose_value): Removes the
trap and instead annotates the listing.

gcc/testsuite/ChangeLog:

* gcc.dg/pr97315-1.c: New test.

[Bug tree-optimization/97333] New: [gimple_can_duplicate_bb_p == false, tree-ssa-threadupdate] ICE in duplicate_block, at cfghooks.c:1093

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97333

Bug ID: 97333
   Summary: [gimple_can_duplicate_bb_p == false,
tree-ssa-threadupdate] ICE in duplicate_block, at
cfghooks.c:1093
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

With this patch:
...
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 406441751a9..b9168755155 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -6213,7 +6213,7 @@ gimple_split_block_before_cond_jump (basic_block bb)
 static bool
 gimple_can_duplicate_bb_p (const_basic_block bb ATTRIBUTE_UNUSED)
 {
-  return true;
+  return false;
 }

 /* Create a duplicate of the basic block BB.  NOTE: This does not
...
we run into:
...
spawn -ignore SIGHUP
/dev/shm/tdevries/data/master/2020-10-07T08-04-46-02-00-c475cfa435b/build/gcc/xgcc
-B/dev/shm/tdevries/data/master/2020-10-07T08-04-46-02-00-c475cfa435b/build/gcc/
-fdiagnostics-plain-output -O1 -w -c -o 20041018-1.o
/labs/tdevries/gcc/src/gcc/testsuite/gcc.c-torture/compile/20041018-1.c^M
during GIMPLE pass: dom^M
/labs/tdevries/gcc/src/gcc/testsuite/gcc.c-torture/compile/20041018-1.c: In
function 'foo':^M
/labs/tdevries/gcc/src/gcc/testsuite/gcc.c-torture/compile/20041018-1.c:2:1:
internal compiler error: in duplicate_block, at cfghooks.c:1093^M
0xbfebaf duplicate_block(basic_block_def*, edge_def*, basic_block_def*,
copy_bb_data*)^M
/labs/tdevries/gcc/src/gcc/cfghooks.c:1093^M
0x16d794b create_block_for_threading^M
/labs/tdevries/gcc/src/gcc/tree-ssa-threadupdate.c:342^M
0x16d90e7 ssa_create_duplicates(redirection_data**, ssa_local_info_t*)^M
/labs/tdevries/gcc/src/gcc/tree-ssa-threadupdate.c:1130^M
0x16dfe86 void hash_table::traverse_noresize(ssa_local_info_t*)^M
/labs/tdevries/gcc/src/gcc/hash-table.h:1081^M
0x16df31a void hash_table::traverse(ssa_local_info_t*)^M
/labs/tdevries/gcc/src/gcc/hash-table.h:1102^M
0x16d9dff thread_block_1^M
/labs/tdevries/gcc/src/gcc/tree-ssa-threadupdate.c:1495^M
0x16d9ee5 thread_block^M
/labs/tdevries/gcc/src/gcc/tree-ssa-threadupdate.c:1539^M
0x16da3d7 thread_through_loop_header^M
/labs/tdevries/gcc/src/gcc/tree-ssa-threadupdate.c:1781^M
0x16dc767 thread_through_all_blocks(bool)^M
/labs/tdevries/gcc/src/gcc/tree-ssa-threadupdate.c:2667^M
0x15522d2 execute^M
/labs/tdevries/gcc/src/gcc/tree-ssa-dom.c:776^M
...

[Bug tree-optimization/97315] [11 Regression] ICE in choose_value, at gimple-ssa-evrp.c:282 since r11-3690-gebc77ce3a4c70730b4e38d68f88693eadbdc8712

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97315

--- Comment #12 from CVS Commits  ---
The master branch has been updated by Aldy Hernandez :

https://gcc.gnu.org/g:91ae6930ed4a87d7b8e25e10378388b3f0dc1729

commit r11-3718-g91ae6930ed4a87d7b8e25e10378388b3f0dc1729
Author: Aldy Hernandez 
Date:   Thu Oct 8 11:33:30 2020 +0200

Fix PR97315 (part 2 of 2)

gcc/ChangeLog:

PR tree-optimization/97315
* range-op.cc (value_range_with_overflow): Change any
non-overflow calculation in which both bounds are
overflow/underflow to be undefined.

gcc/testsuite/ChangeLog:

* gcc.dg/pr97315-2.c: New test.

[Bug tree-optimization/97333] [gimple_can_duplicate_bb_p == false, tree-ssa-threadupdate] ICE in duplicate_block, at cfghooks.c:1093

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97333

Richard Biener  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org

--- Comment #1 from Richard Biener  ---
Looks like the jump threading code fails to check can_duplicate_block_p ()
(because well, on GIMPLE we can duplicate all blocks).

[Bug tree-optimization/97315] [11 Regression] ICE in choose_value, at gimple-ssa-evrp.c:282 since r11-3690-gebc77ce3a4c70730b4e38d68f88693eadbdc8712

2020-10-08 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97315

Aldy Hernandez  changed:

   What|Removed |Added

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

--- Comment #13 from Aldy Hernandez  ---
Fixed.

[Bug tree-optimization/97325] [11 Regression] wrong code with __builtin_ffs() at -O2

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97325

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Aldy Hernandez :

https://gcc.gnu.org/g:9489806fa258b90b02b55804e61e9eb748724ce7

commit r11-3719-g9489806fa258b90b02b55804e61e9eb748724ce7
Author: Aldy Hernandez 
Date:   Thu Oct 8 11:41:00 2020 +0200

Fix PR97325.

gcc/ChangeLog:

PR tree-optimization/97325
* gimple-range.cc (gimple_ranger::range_of_builtin_call): Handle
negative numbers in __builtin_ffs and __builtin_popcount.

[Bug tree-optimization/97325] [11 Regression] wrong code with __builtin_ffs() at -O2

2020-10-08 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97325

Aldy Hernandez  changed:

   What|Removed |Added

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

--- Comment #6 from Aldy Hernandez  ---
Fixed.

[Bug tree-optimization/97334] New: inefficient vectorization of gcc.dg/vect/bb-slp-pr65935.c

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97334

Bug ID: 97334
   Summary: inefficient vectorization of
gcc.dg/vect/bb-slp-pr65935.c
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

For

void rephase (void)
{
  int i,j,k,dir;
  struct site *s;
  for(i=0,s=lattice;ilink[dir].e[j][k].real *= s->phase[dir];
  s->link[dir].e[j][k].imag *= s->phase[dir];
}

where SLP faces unrolled j and k loops we fail to vectorize the
loads of { s->link[dir].e[j][k].real, s->link[dir].e[j][k].imag }
because SLP discovery rejects the s->phase[dir] load:

/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   Build SLP for _59 = s_8->phase[dir_80];
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
missed:   Build SLP failed: unvectorizable statement _59 = s_8->phase[dir_80];
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   Building vector operands from scalars
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   Build SLP for _59 = s_8->phase[dir_80];
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
missed:   Build SLP failed: unvectorizable statement _59 = s_8->phase[dir_80];
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   Building vector operands from scalars

and then ends up building the multiplication operands from scalars:

/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   node 0x4a36cb0 (max_nunits=2, refcnt=2)
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:stmt 0 _60 = _58 * _59;
..
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:children 0x4931310 0x4a6e690
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   node (external) 0x4931310 (max_nunits=1, refcnt=1)
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:{ _58, _59, _59, _59, _59, _59, _59, _59, _59, _59, _59, _59, _59,
_59, _59, _59, _59, _59 }
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:   node (external) 0x4a6e690 (max_nunits=1, refcnt=1)
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c:28:30:
note:{ _59, _62, _65, _68, _71, _74, _82, _86, _89, _92, _95, _98,
_106, _110, _113, _116, _119, _122 }

[Bug tree-optimization/97334] inefficient vectorization of gcc.dg/vect/bb-slp-pr65935.c

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97334

Richard Biener  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-10-08
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Blocks||53947
   Keywords||missed-optimization

--- Comment #1 from Richard Biener  ---
I will look into this


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations

[Bug target/97203] [nvptx] 'illegal memory access was encountered' with 'omp simd'/SIMT and cexpf call

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97203

--- Comment #2 from Tom de Vries  ---
Minimal version (without inlining sinf code from newlib):
...
/* { dg-additional-options "-lm -foffload=-lm" } */

#define N 1

int
main (void) {
  float k[N];
  float res;

  for (int i = 0; i < N; i++)
k[i] = 300;

#pragma omp target map(to:k) map(from:res)
  {
float sum = 0.0;
#pragma omp simd reduction(+:sum)
for (int i = 0; i < N; i++)
  sum += __builtin_sinf (k[i]);

res = sum;
  }

  return 0;
}
...

[Bug target/97322] [11 regression] ICE in int_mode_for_mode, at stor-layout.c:404 on arm

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97322

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

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

commit r11-3720-gf18eeb6b958acd5e1590ca4a73231486b749be9b
Author: Jakub Jelinek 
Date:   Thu Oct 8 11:56:15 2020 +0200

arm: Fix ICE on glibc compilation after my DIVMOD optimization [PR97322]

The arm target hook for divmod wasn't prepared to handle constants passed
to
the function.

2020-10-08  Jakub Jelinek  

PR target/97322
* config/arm/arm.c (arm_expand_divmod_libfunc): Pass mode instead
of
GET_MODE (op0) or GET_MODE (op1) to emit_library_call_value.

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

[Bug target/97322] [11 regression] ICE in int_mode_for_mode, at stor-layout.c:404 on arm

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97322

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek  ---
Fixed.

[Bug sanitizer/97294] ASAN "dynamic-stack-buffer-overflow" false positive with OpenMP reduction to std::vector

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97294

--- Comment #5 from Jakub Jelinek  ---
Fixed for 11+ so far.

[Bug target/97323] [10/11 Regression] ICE 'verify_type' failed on arm-linux-gnueabihf

2020-10-08 Thread ktkachov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97323

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 CC|kyrylo.tkachov at arm dot com  |
   Last reconfirmed||2020-10-08
 Ever confirmed|0   |1

--- Comment #2 from ktkachov at gcc dot gnu.org ---
confirmed on trunk with the extra checking enabled

[Bug middle-end/97326] [11 Regression] s390: ICE in do_store_flag after 10843f830350

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97326

Martin Liška  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Last reconfirmed||2020-10-08
 Status|UNCONFIRMED |NEW

[Bug tree-optimization/97330] [11 Regression] ice for stmt with wrong VUSE

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |11.0
  Component|c   |tree-optimization
 Ever confirmed|0   |1
   Last reconfirmed||2020-10-08
 Status|UNCONFIRMED |ASSIGNED
Summary|ice for stmt with wrong |[11 Regression] ice for
   |VUSE|stmt with wrong VUSE
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #3 from Richard Biener  ---
Mine.

[Bug target/96914] missing MVE intrinsics

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96914

--- Comment #7 from CVS Commits  ---
The master branch has been updated by Christophe Lyon :

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

commit r11-3721-gafb198ee3729c29c8e681aedc656f55f4afe4053
Author: Christophe Lyon 
Date:   Mon Oct 5 13:11:07 2020 +

arm: [MVE[ Add vqdmlashq intrinsics (PR target/96914)

This patch adds:
vqdmlashq_m_n_s16
vqdmlashq_m_n_s32
vqdmlashq_m_n_s8
vqdmlashq_n_s16
vqdmlashq_n_s32
vqdmlashq_n_s8

2020-10-08  Christophe Lyon  

gcc/
PR target/96914
* config/arm/arm_mve.h (vqdmlashq, vqdmlashq_m): Define.
* config/arm/arm_mve_builtins.def (vqdmlashq_n_s)
(vqdmlashq_m_n_s,): New.
* config/arm/unspecs.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New
unspecs.
* config/arm/iterators.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New
attributes.
(VQDMLASHQ_N): New iterator.
* config/arm/mve.md (mve_vqdmlashq_n_, mve_vqdmlashq_m_n_s): New
patterns.

gcc/testsuite/
PR target/96914
* gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s16.c: New test.
* gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: New test.
* gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: New test.
* gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: New test.
* gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: New test.
* gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.c: New test.

[Bug libgomp/97332] [gcn] GCN_NUM_GANGS/GCN_NUM_WORKERS override compile-time constants

2020-10-08 Thread ams at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97332

Andrew Stubbs  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Last reconfirmed||2020-10-08
 Status|UNCONFIRMED |NEW

--- Comment #1 from Andrew Stubbs  ---
At the point the overrides are applied (run_kernel) the code only knows what
dimensions were selected at runtime, not how those figures were arrived at. It
then prints (with GCN_DEBUG set) the "launch attributes" and "launch actuals".

To fix this the overrides will have to applied much earlier, and independently
for OpenACC (gcn_exec) and OpenMP (parse_target_attributes). That or the
automatic balancing be applied later. Or perhaps the original attributes be
stored for later inspection (but GOMP_kernel_launch_attributes is defined by
libgomp). The "attributes" and "actuals" will need to be overhauled. Probably
get_group_size can be removed.

It ought to be doable though.

[Bug target/96914] missing MVE intrinsics

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96914

--- Comment #8 from CVS Commits  ---
The master branch has been updated by Christophe Lyon :

https://gcc.gnu.org/g:237f12da4124b91503646b099a8282aa6b251ef9

commit r11-3722-g237f12da4124b91503646b099a8282aa6b251ef9
Author: Christophe Lyon 
Date:   Tue Oct 6 07:36:31 2020 +

arm: [MVE] Remove illegal intrinsics (PR target/96914)

A few MVE intrinsics had an unsigned variant implement while they are
supported by the hardware.  This patch removes them:
__arm_vqrdmlashq_n_u8
__arm_vqrdmlahq_n_u8
__arm_vqdmlahq_n_u8
__arm_vqrdmlashq_n_u16
__arm_vqrdmlahq_n_u16
__arm_vqdmlahq_n_u16
__arm_vqrdmlashq_n_u32
__arm_vqrdmlahq_n_u32
__arm_vqdmlahq_n_u32
__arm_vmlaldavaxq_p_u32
__arm_vmlaldavaxq_p_u16

2020-10-08  Christophe Lyon  

gcc/
PR target/96914
* config/arm/arm_mve.h (vqrdmlashq_n_u8, vqrdmlashq_n_u16)
(vqrdmlashq_n_u32, vqrdmlahq_n_u8, vqrdmlahq_n_u16)
(vqrdmlahq_n_u32, vqdmlahq_n_u8, vqdmlahq_n_u16, vqdmlahq_n_u32)
(vmlaldavaxq_p_u16, vmlaldavaxq_p_u32): Remove.
* config/arm/arm_mve_builtins.def (vqrdmlashq_n_u, vqrdmlahq_n_u)
(vqdmlahq_n_u, vmlaldavaxq_p_u): Remove.
* config/arm/unspecs.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U)
(VQRDMLASHQ_N_U)
(VMLALDAVAXQ_P_U): Remove unspecs.
* config/arm/iterators.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U)
(VQRDMLASHQ_N_U, VMLALDAVAXQ_P_U): Remove attributes.
(VQDMLAHQ_N, VQRDMLAHQ_N, VQRDMLASHQ_N, VMLALDAVAXQ_P): Remove
unsigned variants from iterators.
* config/arm/mve.md (mve_vqdmlahq_n_)
(mve_vqrdmlahq_n_)
(mve_vqrdmlashq_n_, mve_vmlaldavaxq_p_):
Update comment.

gcc/testsuite/
PR target/96914
* gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Remove.
* gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Remove.
* gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Remove.
* gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Remove.
* gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Remove.
* gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Remove.
* gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Remove.
* gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Remove.
* gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Remove.
* gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Remove.
* gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Remove.

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2016 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #7 from Martin Liška  ---
Ok, I've just installed the patch with the debug counter.

I can reproduce it with first bad value with --param=lto-partitions=1:
-fdbg-cnt=ipa_mod_ref:16848

and the difference comes from dealII.ltrans0.ltrans.137t.pre:

distribute_dofs (struct DoFHandler * const this, const struct FiniteElement &
ff, const unsigned int offset):

GOOD:
   [local count: 410235502]:
  # __n_981 = PHI <__n_979(163), __n_978(162)>
  # __tmp$_M_p_984 = PHI <_980(163), _977(162)>
  _982 = (unsigned int) __n_981;
  _983 = 1 << _982;
  _985 = *__tmp$_M_p_984;
  _986 = _983 | _985;
  *__tmp$_M_p_984 = _986;
  operator++ (&cell);
  _25 = BIT_FIELD_REF ;
  if (_25 != -1)
goto ; [89.00%]
  else
goto ; [11.00%]

   [local count: 365109597]:
  pretmp_2354 = MEM[(int *)&cell + 12B];
  goto ; [100.00%]

   [local count: 50703262]:
  # next_free_dof_577 = PHI 
  this_6(D)->used_dofs = next_free_dof_577;
  MEM[(struct _Bvector_impl_data *)&tmp] ={v} {CLOBBER};
  MEM[(struct __as_base  &)&tmp] ={v} {CLOBBER};

BAD:
   [local count: 410235502]:
  # __n_981 = PHI <__n_979(163), __n_978(162)>
  # __tmp$_M_p_984 = PHI <_980(163), _977(162)>
  _982 = (unsigned int) __n_981;
  _983 = 1 << _982;
  _985 = *__tmp$_M_p_984;
  _986 = _983 | _985;
  *__tmp$_M_p_984 = _986;
  operator++ (&cell);
  _25 = BIT_FIELD_REF ;
  if (_25 != -1)
goto ; [89.00%]
  else
goto ; [11.00%]

   [local count: 50703262]:
  # next_free_dof_577 = PHI 
  this_6(D)->used_dofs = next_free_dof_577;
  MEM[(struct _Bvector_impl_data *)&tmp] ={v} {CLOBBER};
  MEM[(struct __as_base  &)&tmp] ={v} {CLOBBER};

[Bug ipa/97335] [11 Regression] 525.x264_r fails with -Ofast -g -march=znver2 -flto=16 since r11-3641-gc34db4b6f8a5d803

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97335

Martin Liška  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=97292
 Status|UNCONFIRMED |NEW
  Known to work||10.2.0
 Blocks||26163
  Known to fail||11.0
   Last reconfirmed||2020-10-08
 Ever confirmed|0   |1
   Target Milestone|--- |11.0


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
[Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

[Bug ipa/97335] New: [11 Regression] 525.x264_r fails with -Ofast -g -march=znver2 -flto=16 since r11-3641-gc34db4b6f8a5d803

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97335

Bug ID: 97335
   Summary: [11 Regression] 525.x264_r fails with -Ofast -g
-march=znver2 -flto=16 since
r11-3641-gc34db4b6f8a5d803
   Product: gcc
   Version: 10.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marxin at gcc dot gnu.org
CC: hubicka at gcc dot gnu.org, marxin at gcc dot gnu.org
  Target Milestone: ---

[Bug middle-end/97336] New: False positive -Wstring-compare warning for strncmp()

2020-10-08 Thread franke at computer dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97336

Bug ID: 97336
   Summary: False positive -Wstring-compare warning for strncmp()
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: franke at computer dot org
  Target Milestone: ---

Testcase:

$ uname -srvmo
CYGWIN_NT-10.0 3.1.7(0.340/5/3) 2020-08-22 17:48 x86_64 Cygwin

$ cygcheck -f /usr/bin/gcc
gcc-core-10.2.0-1

$ gcc --version
gcc (GCC) 10.2.0
...

$ cat test.c
int f(const char * p, int n)
{
  char buf[10] = {0, };
  int i;
  for (i = 0; i < (int)sizeof(buf)-1 && i < n; i++)
buf[i] = p[i];
  if (!__builtin_strncmp(buf, "12345", 5)
  && (i == 5 || buf[5] == ' '))
return 1;
  return 0;
}

$ gcc -Wstring-compare -O2 -c test.c
test.c: In function ‘f’:
test.c:7:8: warning: ‘__builtin_strncmp’ of strings of length 0 and 5 and bound
of 5 evaluates to nonzero [-Wstring-compare]
7 |   if (!__builtin_strncmp(buf, "12345", 5)
  |^~


Apparently it is assumed that the copy loop is never executed.

Any of the following single line changes removes the warning:

 {
-  char buf[10] = {0, };
+  char buf[10]; __builtin_memset(buf, 0, sizeof(buf));
   int i;


   if (!__builtin_strncmp(buf, "12345", 5)
-  && (i == 5 || buf[5] == ' '))
+  && (buf[5] == ' ' || i == 5))
 return 1;


   if (!__builtin_strncmp(buf, "12345", 5)
-  && (i == 5 || buf[5] == ' '))
+  && (!buf[5] || buf[5] == ' '))
 return 1;

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

Martin Liška  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED
 CC||marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška  ---
Well for GCC 11 we provide:

gcc: warning: ‘-mcpu=’ is deprecated; use ‘-mtune=’ or ‘-march=’ instead
cc1: error: bad value (‘sdfdsf’) for ‘-mtune=’ switch
cc1: note: valid arguments to ‘-mtune=’ switch are: nocona core2 nehalem corei7
westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2
broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server
cascadelake tigerlake cooperlake sapphirerapids alderlake bonnell atom
silvermont slm goldmont goldmont-plus tremont knl knm intel x86-64 eden-x2 nano
nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron
opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2
bdver3 bdver4 znver1 znver2 btver1 btver2 generic native

So -mcpu is deprecated and we print valid values for -mtune argument.
Fixed on master with r11-2755-ga7bbb5b1b1eb09db.

[Bug c++/97328] [10/11 Regression] ICE in verify_ctor_sanity, at cp/constexpr.c:3995 since r10-7313-gb599bf9d6d1e180d

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97328

Martin Liška  changed:

   What|Removed |Added

   Target Milestone|--- |10.3
  Known to work||9.3.0
  Known to fail||10.2.0, 11.0

[Bug c++/97328] [10/11 Regression] ICE in verify_ctor_sanity, at cp/constexpr.c:3995 since r10-7313-gb599bf9d6d1e180d

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97328

Martin Liška  changed:

   What|Removed |Added

   Last reconfirmed||2020-10-08
 Status|UNCONFIRMED |NEW
Summary|[ICE] internal compiler |[10/11 Regression] ICE in
   |error: in   |verify_ctor_sanity, at
   |verify_ctor_sanity, at  |cp/constexpr.c:3995 since
   |cp/constexpr.c:3995 |r10-7313-gb599bf9d6d1e180d
 CC||marxin at gcc dot gnu.org,
   ||ppalka at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, started with r10-7313-gb599bf9d6d1e180d.

[Bug tree-optimization/97330] [11 Regression] ice for stmt with wrong VUSE

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org

--- Comment #4 from Martin Liška  ---
Just for the record, started with r11-3705-gdae673abd37d4004.

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2016 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #8 from Martin Liška  ---
Created attachment 49329
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49329&action=edit
Good PRE dump file

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2016 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #9 from Martin Liška  ---
Created attachment 49330
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49330&action=edit
Bad PRE dump file

[Bug tree-optimization/97330] [11 Regression] ice for stmt with wrong VUSE

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Richard Biener :

https://gcc.gnu.org/g:629e0547af33221a925f38757b52a9284148b68a

commit r11-3726-g629e0547af33221a925f38757b52a9284148b68a
Author: Richard Biener 
Date:   Thu Oct 8 13:18:57 2020 +0200

tree-optimization/97330 - fix bad load sinking

This fixes bad placement of sunk loads.

2020-10-08  Richard Biener  

PR tree-optimization/97330
* tree-ssa-sink.c (statement_sink_location): Avoid skipping
PHIs when they dominate the insert location.

* gcc.dg/torture/pr97330-1.c: New testcase.
* gcc.dg/torture/pr97330-2.c: Likewise.

[Bug tree-optimization/97330] [11 Regression] ice for stmt with wrong VUSE

2020-10-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #6 from Richard Biener  ---
Fixed.

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2016 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #10 from Martin Liška  ---
Good PRE dump file with details:
https://drive.google.com/file/d/114AAhbNKeiJ7w3FYOcumdpnnMCNvdjiy/view?usp=sharing

Bad PRE dump file with details:
https://drive.google.com/file/d/14_dV-FYSe1j0Sx-zIc8d_6ypuFcmPnZl/view?usp=sharing

[Bug gcov-profile/90439] [GCOV] multiple expression across different lines in if statement is inconsistent when the body is empty

2020-10-08 Thread sunil.kumar3 at ltts dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90439

Sunil Kumar  changed:

   What|Removed |Added

 CC||sunil.kumar3 at ltts dot com

--- Comment #1 from Sunil Kumar  ---
I have a query. Will this issue is applicable for GCC 7.4.0 ?

[Bug ipa/97335] [11 Regression] 525.x264_r fails with -Ofast -g -march=znver2 -flto=16 since r11-3641-gc34db4b6f8a5d803

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97335

--- Comment #1 from Martin Liška  ---
With -O3 -g -flto=16 --param=lto-partitions=1, the first bad binary is with
-fdbg-cnt=ipa_mod_ref:1046.

It seems a misc tool fails with:

./ldecod_r -i BuckBunny.264 -o BuckBunny.yuv
Setting Default Parameters...
Parsing Configfile decoder.cfg

- JM 17.1 (FRExt) -
--
 Input H.264 bitstream  : BuckBunny.264 
 Output decoded YUV : BuckBunny.yuv 
 Input reference file   : test_rec.yuv 
--
POC must = frame# or field# for SNRs to be correct
--
  Frame  POC  Pic#   QPSnrY SnrU SnrV   Y:U:V Time(ms)
--
 Input reference file   : test_rec.yuv does not exist 
  SNR values are not available
0(IDR)0 028 4:2:0   0
2( P )4 131 4:2:0   0
1( b )2 231 4:2:0   0
3( I )6 228 4:2:0   0
6( P )   12 428 4:2:0   0
mb_qp_delta is out of range

PRE dump files:
https://drive.google.com/file/d/1GzqkYP4PRtXVkVbvGGJUukz8-9ay-uMy/view?usp=sharing

[Bug target/97203] [nvptx] 'illegal memory access was encountered' with 'omp simd'/SIMT and cexpf call

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97203

--- Comment #3 from Tom de Vries  ---
[ Note, this is with GOMP_NVPTX_JIT=-O0. ]

In sinf, we have:
...
 45:return -__kernel_cosf(y[0],y[1]);
...
which translates to:
...
.loc 1 45 12
ld.f32 %r67,[%frame+4];
ld.f32 %r65,[%frame];
{
.param .f32 %value_in;
.param .f32 %out_arg1;
st.param.f32 [%out_arg1],%r65;
.param .f32 %out_arg2;
st.param.f32 [%out_arg2],%r67;
call (%value_in),__kernel_cosf,(%out_arg1,%out_arg2);
ld.param.f32 %r68,[%value_in];
}
.loc 1 45 11
neg.f32 %r37,%r68;
...

If I place (using GOMP_NVPTX_PTXRW) a trap before the first load:
...
 .loc 1 45 12
+trap
 ld.f32 %r67,[%frame+4];
...
I get:
...
libgomp: cuCtxSynchronize error: an illegal instruction was encountered
...

If I place it after the first load, I get:
...
libgomp: cuCtxSynchronize error: an illegal memory access was encountered
...

[Bug c++/97328] [10/11 Regression] ICE in verify_ctor_sanity, at cp/constexpr.c:3995 since r10-7313-gb599bf9d6d1e180d

2020-10-08 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97328

Patrick Palka  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |ppalka at gcc dot 
gnu.org

[Bug go/92564] libgo regression in runtime test resulting in SIGSEGV on ppc64le

2020-10-08 Thread boger at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92564

--- Comment #3 from boger at gcc dot gnu.org ---
Yes, I tried the value of 0x8 and the test passed. In the issue Ian
mentioned that 0x10 was the default on x86. If we want the same default on
x86 and ppc64 then 0x10 would work since the value I tested with is
smaller.

[Bug libstdc++/63332] problem with VERIFY in ext/random/k_distribution/operators/serialize.cc execution test

2020-10-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63332

Jonathan Wakely  changed:

   What|Removed |Added

 Target||i386-pc-solaris2.11
 CC||ro at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Last reconfirmed||2020-10-08

--- Comment #10 from Jonathan Wakely  ---
Looks like this is still failing for solaris 11:
https://gcc.gnu.org/pipermail/gcc-testresults/2020-October/610818.html

[Bug libstdc++/70358] Several 26_numerics/random/binomial_distribution/operators etc. tests FAIL

2020-10-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70358

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-10-08
   Target Milestone|5.5 |---
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely  ---
Rainer, what's the status of this one? Are those tests still UNSUPPORTED, or
now PASSing?

[Bug libstdc++/82584] div by zero in random distribution

2020-10-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82584

Jonathan Wakely  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Last reconfirmed||2020-10-08
 Status|UNCONFIRMED |NEW

[Bug libstdc++/86402] Several targets missing AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1) in crossconfig.m4

2020-10-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86402

Jonathan Wakely  changed:

   What|Removed |Added

   Last reconfirmed||2020-10-08
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

[Bug target/96914] missing MVE intrinsics

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96914

--- Comment #9 from CVS Commits  ---
The master branch has been updated by Christophe Lyon :

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

commit r11-3730-g5a448362da6133c3b16ffdb0c795b657af7fa5a4
Author: Christophe Lyon 
Date:   Mon Oct 5 09:52:59 2020 +

arm: [MVE] Add missing __arm_vcvtnq_u32_f32 intrinsic (PR 96914)

__arm_vcvtnq_u32_f32 was missing from arm_mve.h, although the s32_f32 and
[su]16_f16 versions were present.

This patch adds the missing version and testcase, which are
cut-and-paste from the other versions.

2020-10-08  Christophe Lyon  

gcc/
PR target/96914
* config/arm/arm_mve.h (__arm_vcvtnq_u32_f32): New.

gcc/testsuite/
PR target/96914
* gcc.target/arm/mve/intrinsics/vcvtnq_u32_f32.c: New test.

[Bug target/96914] missing MVE intrinsics

2020-10-08 Thread clyon at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96914

Christophe Lyon  changed:

   What|Removed |Added

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

--- Comment #10 from Christophe Lyon  ---
Fixed on trunk

[Bug libstdc++/82584] div by zero in random distribution

2020-10-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82584

Jonathan Wakely  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Status|NEW |ASSIGNED

--- Comment #2 from Jonathan Wakely  ---
This is user error. [rand.dist.samp.discrete] p2 says:

> Moreover, the following relation shall hold: 0 < S = w0 + · · · + wn−1 .

So there must be at least one non-zero weight.

I'll add an assertion.

[Bug gcov-profile/90439] [GCOV] multiple expression across different lines in if statement is inconsistent when the body is empty

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90439

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška  ---
Yes, it behaves the same also in GCC 7.x.

[Bug libstdc++/82584] div by zero in random distribution

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82584

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Jonathan Wakely :

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

commit r11-3731-gb2a96bf9dce41ee777b1669e4a8b4c6df3ff3613
Author: Jonathan Wakely 
Date:   Thu Oct 8 15:14:58 2020 +0100

libstdc++: Add assertions for preconditions in sampling distributions [PR
82584]

These three distributions all require 0 < S where S is the sum of the
weights. When the sum is zero there's an undefined FP division by zero.
Add assertions to help users diagnose the problem.

libstdc++-v3/ChangeLog:

PR libstdc++/82584
* include/bits/random.tcc
(discrete_distribution::param_type::_M_initialize)
(piecewise_constant_distribution::param_type::_M_initialize)
(piecewise_linear_distribution::param_type::_M_initialize):
Add assertions for positive sums..
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
line.

[Bug libstdc++/82584] div by zero in random distribution

2020-10-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82584

Jonathan Wakely  changed:

   What|Removed |Added

   Target Milestone|--- |11.0
 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Jonathan Wakely  ---
$ g++11  rando.cc   -D_GLIBCXX_ASSERTIONS
$ ./a.out
/home/jwakely/gcc/11/include/c++/11.0.0/bits/random.tcc:2633: void
std::discrete_distribution<_IntType>::param_type::_M_initialize() [with
_IntType = int]: Assertion '__sum > 0' failed.
Aborted (core dumped)

[Bug target/96313] [AArch64] vqmovun* return types should be unsigned

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96313

--- Comment #7 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Kyrylo Tkachov
:

https://gcc.gnu.org/g:7d177b142dcbe841124fe023cb592914d4200e57

commit r10-8868-g7d177b142dcbe841124fe023cb592914d4200e57
Author: Kyrylo Tkachov 
Date:   Wed Sep 30 12:00:20 2020 +0100

PR target/96313 AArch64: vqmovun* return types should be unsigned

In this PR we have the wrong return type for some intrinsics. It should
be unsigned, but we implement it as signed.
Fix this by adjusting the type qualifiers used when creating the
builtins and fixing the type in the arm_neon.h intrinsic.
With the adjustment in qualifiers we now don't need to cast the result
when returning.

Bootstrapped and tested on aarch64-none-linux-gnu.

gcc/
PR target/96313
* config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
qualifiers.
* config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
Remove unnecessary result cast.
(vqmovun_s32): Likewise.
(vqmovun_s64): Likewise.
(vqmovunh_s16): Likewise.  Fix return type.
(vqmovuns_s32): Likewise.
(vqmovund_s64): Likewise.

gcc/testsuite/
PR target/96313
* gcc.target/aarch64/pr96313.c: New test.
* gcc.target/aarch64/scalar_intrinsics.c (test_vqmovunh_s16):
Adjust return type.
(test_vqmovuns_s32): Likewise.
(test_vqmovund_s64): Likewise.

(cherry picked from commit 135b043196b5575c690ef1e07bcbb49bf037c3a2)

[Bug target/97150] [AArch64] 2nd parameter of unsigned Neon scalar shift intrinsics should be signed

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97150

--- Comment #5 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Kyrylo Tkachov
:

https://gcc.gnu.org/g:11af9c329ae528abb8c69ae8fae96a0f3fc6ed87

commit r10-8869-g11af9c329ae528abb8c69ae8fae96a0f3fc6ed87
Author: Kyrylo Tkachov 
Date:   Wed Sep 30 12:01:23 2020 +0100

PR target/97150 AArch64: 2nd parameter of unsigned Neon scalar shift
intrinsics should be signed

In this PR the second argument to the intrinsics should be signed but we
use an unsigned one erroneously.
The corresponding builtins are already using the correct types so it's
just a matter of correcting the signatures in arm_neon.h

gcc/
PR target/97150
* config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
signed.
(vqrshlh_u16): Likewise.
(vqrshls_u32): Likewise.
(vqrshld_u64): Likewise.
(vqshlb_u8): Likewise.
(vqshlh_u16): Likewise.
(vqshls_u32): Likewise.
(vqshld_u64): Likewise.
(vshld_u64): Likewise.

gcc/testsuite/
PR target/97150
* gcc.target/aarch64/pr97150.c: New test.

(cherry picked from commit 2d8fbebdb1eaca8de557ab3052535a8e4b8f8972)

[Bug other/97309] Improve documentation of -fallow-store-data-races

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97309

--- Comment #2 from CVS Commits  ---
The master branch has been updated by Qing Zhao :

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

commit r11-3732-gbaf4750feaa6a5fa502ae7bc0b90f31640af6f47
Author: qing zhao 
Date:   Thu Oct 8 17:01:07 2020 +0200

Improve documentation of -fallow-store-data-races

2020-10-08  John Henning  

gcc/

PR other/97309
* doc/invoke.texi: Improve documentation of
-fallow-store-data-races.

[Bug other/97309] Improve documentation of -fallow-store-data-races

2020-10-08 Thread qinzhao at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97309

qinzhao at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from qinzhao at gcc dot gnu.org ---
fixed.

[Bug target/97203] [nvptx] 'illegal memory access was encountered' with 'omp simd'/SIMT and cexpf call

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97203

--- Comment #4 from Tom de Vries  ---
So, I think calling functions from simd code is atm not supported for nvptx.

Stack variables in simd code are mapped on a per-thread stack rather than on
the
usual per-warp stack.

The functions are compiled with the usual per-warp stack, so calling those
functions from simd might mean the different lanes are gonna disagree about
what the value in a stack variable should be.

Having said that, for the example in comment 2, there only should be one thread
executing the call, so this doesn't explain the illegal memory access.

[Bug ipa/97335] [11 Regression] 525.x264_r fails with -Ofast -g -march=znver2 -flto=16 since r11-3641-gc34db4b6f8a5d803

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97335

--- Comment #2 from Martin Liška  ---
With the current master (g:3e1123e52f8eca2650efa0bc81768792d328961f) one needs
only one IPA modref transform to trigger the wrong code:

-fdbg-cnt=ipa_mod_ref:778-778

where one needs to copy the input file to
benchspec/CPU/525.x264_r/build/build_peak_gcc7-m64. folder:

cp ../../../525.x264_r/data/test/input/BuckBunny.264 .

One can see the difference in PRE dump file.

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2006 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #11 from Martin Liška  ---
(In reply to Tamar Christina from comment #0)
> With just -Ofast the benchmark doesn't seem to ever terminate until it is
> eventually killed.
> 

Can't reproduce the stuck without -flto.

[Bug ipa/97335] [11 Regression] 525.x264_r fails with -Ofast -g -march=znver2 -flto=16 since r11-3641-gc34db4b6f8a5d803

2020-10-08 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97335

--- Comment #3 from Martin Liška  ---
One needs -flto here.

[Bug tree-optimization/97317] [11 Regression] ICE in verify_range, at value-range.cc:369

2020-10-08 Thread amacleod at redhat dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97317

--- Comment #3 from Andrew Macleod  ---
Created attachment 49331
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49331&action=edit
patch to calculate negative side properly

This is actually due to not handling a cast very well when the precision of the
RHS is only 1 greater than the precision of the LHS.

lhs = (cast) RHS

we calculate the value of RHS by treating LHS as an unsigned, and
1) adding in all the ranges of LHS as positive ranges
2) adding in all the LHS values  as negative values
3) filling in all the other ranges in RHS between those negative and positive
values.   ie, all the various upper bits in RHS can be on or off... 

THe code breaks down when the precision of the RHS is off by one. when
calculating those negative values in 3), there wasn't a expectation that the
sign bit *is* basically the entire range, so when it was trying to calculate
the range o fthose bits, it was trying to create a nonsensical  range.

This patch fixes that particular problem, but further examination shows we
arent producing ranges as good as we could.. so I will continue delving into
it.

[Bug target/97203] [nvptx] 'illegal memory access was encountered' with 'omp simd'/SIMT and cexpf call

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97203

--- Comment #5 from Tom de Vries  ---
FWIW, another aspect here is convergence (as usual).

Looking at the SASS code for main$_omp_fn$0$impl, I don't find evidence for the
usual divergence/convergence ops (SSY/SYNC), which might mean that the
following shfl is executed in divergent mode, so, even if we would not get the
memory access error, we would not get correct results.

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2006 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread tnfchris at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #12 from Tamar Christina  ---
(In reply to Martin Liška from comment #11)
> (In reply to Tamar Christina from comment #0)
> > With just -Ofast the benchmark doesn't seem to ever terminate until it is
> > eventually killed.
> > 
> 
> Can't reproduce the stuck without -flto.

You're right, had the timeout set too low in the CI. it does work without lto.
Sorry about that.

[Bug testsuite/97337] New: new test case gcc.dg/pr97315-1.c fails with excess errors

2020-10-08 Thread seurer at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97337

Bug ID: 97337
   Summary: new test case gcc.dg/pr97315-1.c fails with excess
errors
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

g:214d514fafcd78cd54e4a4aa9ae08c89abf9cc57, r11-3717

make -k check-gcc RUNTESTFLAGS=dg.exp=gcc.dg/pr97315-1.c
FAIL: gcc.dg/pr97315-1.c (test for excess errors)
# of unexpected failures1

Excess errors:
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:6:23: error:
empty enum is invalid
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:8:3: error:
unknown type name 'tree_code'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:11:3: error:
unknown type name 'tree_base'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:13:8: error:
unknown type name 'tree_code_class'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:15:28: error:
unknown type name 'tree_code'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:15:44: error:
unknown type name 'tree_code'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:22:51: error:
request for member 'code' in something not a structure or union
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:23:38: error:
request for member 'code' in something not a structure or union
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/pr97315-1.c:25:12: warning:
implicit declaration of function 'tree_check3'
[-Wimplicit-function-declaration]

[Bug target/96313] [AArch64] vqmovun* return types should be unsigned

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96313

--- Comment #8 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Kyrylo Tkachov
:

https://gcc.gnu.org/g:18d980d94f8d7187ce30bf23ddd365fa54189c36

commit r9-8982-g18d980d94f8d7187ce30bf23ddd365fa54189c36
Author: Kyrylo Tkachov 
Date:   Wed Sep 30 12:00:20 2020 +0100

PR target/96313 AArch64: vqmovun* return types should be unsigned

In this PR we have the wrong return type for some intrinsics. It should
be unsigned, but we implement it as signed.
Fix this by adjusting the type qualifiers used when creating the
builtins and fixing the type in the arm_neon.h intrinsic.
With the adjustment in qualifiers we now don't need to cast the result
when returning.

Bootstrapped and tested on aarch64-none-linux-gnu.

gcc/
PR target/96313
* config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
qualifiers.
* config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
Remove unnecessary result cast.
(vqmovun_s32): Likewise.
(vqmovun_s64): Likewise.
(vqmovunh_s16): Likewise.  Fix return type.
(vqmovuns_s32): Likewise.
(vqmovund_s64): Likewise.

gcc/testsuite/
PR target/96313
* gcc.target/aarch64/pr96313.c: New test.
* gcc.target/aarch64/scalar_intrinsics.c (test_vqmovunh_s16):
Adjust return type.
(test_vqmovuns_s32): Likewise.
(test_vqmovund_s64): Likewise.

(cherry picked from commit 135b043196b5575c690ef1e07bcbb49bf037c3a2)
(cherry picked from commit 7d177b142dcbe841124fe023cb592914d4200e57)

[Bug target/97150] [AArch64] 2nd parameter of unsigned Neon scalar shift intrinsics should be signed

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97150

--- Comment #6 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Kyrylo Tkachov
:

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

commit r9-8983-gd5c6ea22fe6db1ee19a178941a8c7f8ff5d0538c
Author: Kyrylo Tkachov 
Date:   Wed Sep 30 12:01:23 2020 +0100

PR target/97150 AArch64: 2nd parameter of unsigned Neon scalar shift
intrinsics should be signed

In this PR the second argument to the intrinsics should be signed but we
use an unsigned one erroneously.
The corresponding builtins are already using the correct types so it's
just a matter of correcting the signatures in arm_neon.h

gcc/
PR target/97150
* config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
signed.
(vqrshlh_u16): Likewise.
(vqrshls_u32): Likewise.
(vqrshld_u64): Likewise.
(vqshlb_u8): Likewise.
(vqshlh_u16): Likewise.
(vqshls_u32): Likewise.
(vqshld_u64): Likewise.
(vshld_u64): Likewise.

gcc/testsuite/
PR target/97150
* gcc.target/aarch64/pr97150.c: New test.

(cherry picked from commit 2d8fbebdb1eaca8de557ab3052535a8e4b8f8972)
(cherry picked from commit 11af9c329ae528abb8c69ae8fae96a0f3fc6ed87)

[Bug target/97338] New: [nvptx] Convergence checking

2020-10-08 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97338

Bug ID: 97338
   Summary: [nvptx] Convergence checking
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

With ptx, we have insns that need to be executed in convergent mode, that is,
all threads in the warp active.

We can unfortunately not enforce this, but we could check it, which could help
pinpoint problems.

A ptx insn:
...
  vote.ballot.b32 %rbla, 1;
...
gives us the regmask of active threads, so we could check:
...
{
  .reg .u32 %rwarp_active_mask;
  vote.ballot.b32 %rwarp_active_mask, 1;
  .reg .pred %pconvergent;
  setp.eq.u32 %pconvergent,%rwarp_active_mask,-1;
  @ ! %pconvergent trap;
}
...

[Bug tree-optimization/97317] [11 Regression] ICE in verify_range, at value-range.cc:369

2020-10-08 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97317

David Binderman  changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com

--- Comment #4 from David Binderman  ---
I see this one also. I am reducing some C++ code from a build
of the qt3 package on x86_64 linux.

[Bug libstdc++/97339] New: std::async sometimes prevents std::current_exception from working properly in the terminate handler

2020-10-08 Thread m101010a at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97339

Bug ID: 97339
   Summary: std::async sometimes prevents std::current_exception
from working properly in the terminate handler
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: m101010a at gmail dot com
  Target Milestone: ---

If std::async is called with a noexcept function that throws an exception and
contains a catch block which catches exceptions of a different type,
std::current_exception returns an empty exception pointer when called from the
terminate handler.

$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --with-isl
--with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit
--enable-cet=auto --enable-checking=release --enable-clocale=gnu
--enable-default-pie --enable-default-ssp --enable-gnu-indirect-function
--enable-gnu-unique-object --enable-install-libiberty --enable-linker-build-id
--enable-lto --enable-multilib --enable-plugin --enable-shared
--enable-threads=posix --disable-libssp --disable-libstdcxx-pch
--disable-libunwind-exceptions --disable-werror
gdc_include_dir=/usr/include/dlang/gdc
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC) 
$ cat y.cpp
#include 
#include 

void term_handler() {
auto e = std::current_exception();
if (e)
std::cout << "Died with exception" << std::endl;
else
std::cout << "Died without exception" << std::endl;
std::abort();
}

void bar() noexcept {
try {
throw "";
}
catch (int) { }
}

int main() {
std::set_terminate(&term_handler);
std::async(std::launch::async, &bar).get();
}

$ g++ y.cpp -pthread
$ ./a.out
Died without exception
Aborted (core dumped)
$ 


This happens regardless of whether launch::async or launch::deferred is used,
but does not happen if the function is called directly or is run by a
std::thread.

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread kip at thevertigo dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

--- Comment #3 from Kip Warner  ---
Martin, is -mcpu deprecated for all architectures or just x86?

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek  ---
-m* options are target specific, so each target can and often does have its
own.
-mcpu= is deprecated just on x86, but many other targets don't even have -mcpu=
and never had, etc.  On the other side, some targets like powerpc do use -mcpu=
where other targets use -march= instead, or some have even more complicated
handling (arm/aarch64).

[Bug c++/97340] New: Spurious rejection of member variable template of reference type

2020-10-08 Thread herring at lanl dot gov via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97340

Bug ID: 97340
   Summary: Spurious rejection of member variable template of
reference type
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: herring at lanl dot gov
  Target Milestone: ---

In many recent versions of GCC, the following valid code

  struct A {
template
static constexpr const int &x=0;
  };
  template
  struct B {
static constexpr int y=A::template x;
  };
  template struct B<>;

produces

error: ''indirect_ref' not supported by dump_decl' is not a
template [-fpermissive]
7 |   static constexpr int y=A::template x;
  |  ^~

The 'template' after '::' here is unnecessary; removing it avoids the error,
but the error also appears if A is a class template (so that it's necessary to
write "A::template x").  Making A::x not be a reference also avoids the
error, as does referring to it from a non-templated context.

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread kip at thevertigo dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

--- Comment #5 from Kip Warner  ---
The reason I asked is because of that inconsistency in the -mcpu usage on
targets. Thanks for clarifying.

[Bug fortran/97272] Wrong answer from MAXLOC with character arg

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97272

--- Comment #7 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Harald Anlauf
:

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

commit r10-8870-gd4ec0a15afb7538247206aa9936071544fd860f8
Author: Harald Anlauf 
Date:   Sun Oct 4 20:24:29 2020 +0200

PR fortran/97272 - Wrong answer from MAXLOC with character arg

The optional KIND argument to the MINLOC/MAXLOC intrinsic must not be
passed to the library function, as the kind conversion of the result
is treated explicitly elsewhere.

gcc/fortran/ChangeLog:

PR fortran/97272
* trans-intrinsic.c (strip_kind_from_actual): Helper function for
removal of KIND argument.
(gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it
is treated elsewhere.

gcc/testsuite/ChangeLog:

PR fortran/97272
* gfortran.dg/pr97272.f90: New test.

(cherry picked from commit 35d2c6b6e8a7448a84abbf967feeb78a29117014)

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

--- Comment #6 from Jakub Jelinek  ---
There is no consistency.
Targets that have all of -march=, -mcpu= and -mtune=:
aarch64, arm, cris, i386 (-mcpu= deprecated and treated as -mtune=), m68k
Targets that have just -march= and -mtune=:
gcn, mips, riscv, s390
Targets that have just -march= and -mcpu=:
csky, iq2000, nds32
Targets that have just -mcpu= and -mtune=:
alpha, arc, rs6000, sparc, visium
Targets that have just -mcpu=:
bfin, frv, m32c, microblaze, msp430, rl78, rx, tilegx, tilepro
Targets that have just -mtune=:
ia64, mn10300
Targets that have just -march=:
c6x, nios2, pa

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread kip at thevertigo dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

--- Comment #7 from Kip Warner  ---
I understand what you mean from a maintainer's standpoint. But from a user's
standpoint, that's an inconsistency.

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

--- Comment #8 from Jakub Jelinek  ---
Except for native supported on a subset of the architectures, no values are the
same, so this is highly target specific anyway.  And yes, were it designed all
now, we'd use the same options, but some of these choices are 33 years old,
others 10, 20, 30 etc., so it is difficult to adjust it now without breaking
stuff too much.

[Bug target/97324] -mcpu= isn't validated on x86

2020-10-08 Thread kip at thevertigo dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97324

--- Comment #9 from Kip Warner  ---
Yup. Agreed.

[Bug c++/97340] Spurious rejection of member variable template of reference type

2020-10-08 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97340

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-10-08
 Ever confirmed|0   |1
 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug target/96313] [AArch64] vqmovun* return types should be unsigned

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96313

--- Comment #9 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Kyrylo Tkachov
:

https://gcc.gnu.org/g:7f8115b305f1a1a2ddec4f59bc08a3415359dda6

commit r8-10575-g7f8115b305f1a1a2ddec4f59bc08a3415359dda6
Author: Kyrylo Tkachov 
Date:   Wed Sep 30 12:00:20 2020 +0100

PR target/96313 AArch64: vqmovun* return types should be unsigned

In this PR we have the wrong return type for some intrinsics. It should
be unsigned, but we implement it as signed.
Fix this by adjusting the type qualifiers used when creating the
builtins and fixing the type in the arm_neon.h intrinsic.
With the adjustment in qualifiers we now don't need to cast the result
when returning.

Bootstrapped and tested on aarch64-none-linux-gnu.

gcc/
PR target/96313
* config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
qualifiers.
* config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
Remove unnecessary result cast.
(vqmovun_s32): Likewise.
(vqmovun_s64): Likewise.
(vqmovunh_s16): Likewise.  Fix return type.
(vqmovuns_s32): Likewise.
(vqmovund_s64): Likewise.

gcc/testsuite/
PR target/96313
* gcc.target/aarch64/pr96313.c: New test.
* gcc.target/aarch64/scalar_intrinsics.c (test_vqmovunh_s16):
Adjust return type.
(test_vqmovuns_s32): Likewise.
(test_vqmovund_s64): Likewise.

(cherry picked from commit 135b043196b5575c690ef1e07bcbb49bf037c3a2)
(cherry picked from commit 7d177b142dcbe841124fe023cb592914d4200e57)
(cherry picked from commit 18d980d94f8d7187ce30bf23ddd365fa54189c36)

[Bug target/97150] [AArch64] 2nd parameter of unsigned Neon scalar shift intrinsics should be signed

2020-10-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97150

--- Comment #7 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Kyrylo Tkachov
:

https://gcc.gnu.org/g:311183d74e4f3fd5a37749cfbb0960e655e715fb

commit r8-10576-g311183d74e4f3fd5a37749cfbb0960e655e715fb
Author: Kyrylo Tkachov 
Date:   Wed Sep 30 12:01:23 2020 +0100

PR target/97150 AArch64: 2nd parameter of unsigned Neon scalar shift
intrinsics should be signed

In this PR the second argument to the intrinsics should be signed but we
use an unsigned one erroneously.
The corresponding builtins are already using the correct types so it's
just a matter of correcting the signatures in arm_neon.h

gcc/
PR target/97150
* config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
signed.
(vqrshlh_u16): Likewise.
(vqrshls_u32): Likewise.
(vqrshld_u64): Likewise.
(vqshlb_u8): Likewise.
(vqshlh_u16): Likewise.
(vqshls_u32): Likewise.
(vqshld_u64): Likewise.
(vshld_u64): Likewise.

gcc/testsuite/
PR target/97150
* gcc.target/aarch64/pr97150.c: New test.

(cherry picked from commit 2d8fbebdb1eaca8de557ab3052535a8e4b8f8972)
(cherry picked from commit 11af9c329ae528abb8c69ae8fae96a0f3fc6ed87)
(cherry picked from commit d5c6ea22fe6db1ee19a178941a8c7f8ff5d0538c)

[Bug target/97150] [AArch64] 2nd parameter of unsigned Neon scalar shift intrinsics should be signed

2020-10-08 Thread ktkachov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97150

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #8 from ktkachov at gcc dot gnu.org ---
Fixed on GCC 8.5 onwards.

[Bug target/96313] [AArch64] vqmovun* return types should be unsigned

2020-10-08 Thread ktkachov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96313

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #10 from ktkachov at gcc dot gnu.org ---
Fixed on GCC 8.5 onwards.

[Bug middle-end/97336] False positive -Wstring-compare warning for strncmp()

2020-10-08 Thread msebor at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97336

Martin Sebor  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 CC||msebor at gcc dot gnu.org
 Status|UNCONFIRMED |RESOLVED

--- Comment #1 from Martin Sebor  ---
The warning works as intended: unless n > 4, the strncmp call will return
nonzero because the length of buf is less than 5.  GCC partially unrolls the
loop and the first iteration of it is what triggers the warning.  It disappears
when the buffer is cleared with memset only because GCC (as a limitation) loses
track of the length of the string in buf after that.  Handling the case when n
is zero or less (e.g., via if (n <= 0) return 0;) does as well.

The IL that leads up to the warning can be seen in the output of the
-fdump-tree-dom4 option (below).

f (const char * p, int n)
{
  sizetype ivtmp.6;
  int i;
  char buf[10];
  char _3;
  _Bool _4;
  _Bool _5;
  _Bool _6;
  int _7;
  int _10;
  char prephitmp_20;
  int _21;
  unsigned int _25;
  char pretmp_33;

   [local count: 118111600]:
  buf = ""; <<< strlen(buf) == 0
  if (n_15(D) > 0)
goto ; [89.00%]
  else
goto ; [11.00%]

  ...
   [local count: 12992276]:   <<< n == 0
  _21 = __builtin_strncmp (&buf, "12345", 5);   <<< warning here
  if (_21 == 0) <<< folded to false
goto ; [50.00%]
  else
goto ; [50.00%]

   [local count: 6496138]:
  # prephitmp_20 = PHI <0(4)>

   [local count: 95940523]:
  goto ; [100.00%]

   [local count: 105119324]:
  _7 = __builtin_strncmp (&buf, "12345", 5);<<< second strncmp call
  if (_7 == 0)
goto ; [50.00%]
  else
goto ; [50.00%]

   [local count: 52559662]:
  if (i_19 == 5)
goto ; [23.93%]
  else
goto ; [76.07%]

   [local count: 40175661]:
  pretmp_33 = buf[5];
  if (pretmp_33 == 32)
goto ; [25.01%]
  else
goto ; [74.99%]

   [local count: 118111600]:
  # _10 = PHI <1(9), 0(6), 1(8)>
  buf ={v} {CLOBBER};
  return _10;

}


Rewriting the code in a way that avoids the loop (e.g., by using memcpy
instead) also avoids the warning.

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2006 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #13 from Jan Hubicka  ---
OK, I can reproduce it even though the propagation happens in different
function in dom rather than pre.
The callee is again the operator++ so I start to suspect aliasing violation
there.

I get:
ipa-modref: in build_patches.constprop/375859, call to operator++/33005 does
not clobber MEM  [(struct DoFCellAccessor
*)&active_cell] 6->6

parameter of call is &active_cell so we disambiguate param0 with 

while the summary for ipa-modref

  stores:   
Limits: 32 bases, 16 refs   
  Base 0: alias set 11  
Ref 0: alias set 13 
  access: Parm 0 param offset:64 offset:32 size:32 max_size:32  
  access: Parm 0 param offset:64 offset:0 size:32 max_size:32   

So this really seems that the alias set 6 is not conflicting with  alias sets
11 or 13.

Honza

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2006 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #14 from Jan Hubicka  ---

So this really seems that the alias set 6 is not conflicting with  alias sets
11 or 13. active_cell is
struct active_cell_iterator active_cell;
and the code around seems SRA injected
  MEM[(struct TriaRawIterator *)&active_cell] ={v} {CLOBBER};   
  MEM  [(struct DoFCellAccessor *)&active_cell] =
cell$dof_handler_253;
  MEM  [(struct DoFCellAccessor *)&active_cell + 8B] =
cell$8$present_level_242;
  MEM  [(struct DoFCellAccessor *)&active_cell + 12B] =
cell$8$present_index_245;
  MEM  [(struct DoFCellAccessor *)&active_cell +
16B] = cell$8$tria_244;
  operator++ (&active_cell);
  MEM[(struct TriaRawIterator *)&D.17355].accessor = MEM[(const struct
TriaRawIterator &)&active_cell].accessor;

and we CSE is acrss the call

Honza

[Bug ipa/97292] [11 Regression] dealII from SPECCPU 2006 no longer terminates after g:c34db4b6f8a5d80367c709309f9b00cb32630054

2020-10-08 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #15 from Jan Hubicka  ---
So it seems that problem is that store in operator++ is TriaObjectAcessor while
read is DoFCellAccessor. I am however not sure where the type puning happens :(

[Bug libgomp/97212] [OpenMP] 'depend' clause with 'target nowait' (!) + 'task' does not work

2020-10-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97212

--- Comment #2 from Jakub Jelinek  ---
I believe the testcase is invalid.
As the explicit task doesn't have if(false) clause, the task isn't undeferred,
so it is up to the implementation whether it waits for its completion or just
continues (defers it).  And there is no task synchronization point before the
if (sum != N) __builtin_abort (); statement, so if the implementation decides
to defer it, then there is no guarantee it completes before that statement.
Without the target nowait task gcc wouldn't defer it because there is just an
implicit parallel region rather than explicit (e.g. if you add parallel
num_threads(1) around most of main and change target nowait to task, you'd get
the same behavior), but in order to support async target tasks we do create
intentionally a team and thus defer the task.
So, the testcase needs something like
#pragma omp taskwait
or taskwait with depend or add if(false) to the task.

[Bug c++/96805] [10/11 Regression] ICE: Segmentation fault in instantiate_template / pop_nested_class()

2020-10-08 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96805

Jason Merrill  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
 Status|NEW |ASSIGNED

  1   2   >