[Bug fortran/68227] ICE on using variable limit in forall header (gfc_do_allocate)

2015-11-26 Thread ismail at i10z dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68227

--- Comment #11 from İsmail Dönmez  ---
(In reply to Dominique d'Humieres from comment #10)
> > This test currently fails on Linux x86-64 machine. Is there a way to get a
> > better debug output for the failure. For now I see:
> >
> > FAIL: gfortran.dg/pr68227.f90   -O  (internal compiler error)
> > FAIL: gfortran.dg/pr68227.f90   -O  (test for excess errors)
> 
> It should be fixed after r230873.

Indeed it is, thanks!

[Bug bootstrap/67289] ICE in ipa-devirt.c

2015-11-26 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67289

Jan Hubicka  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
 CC||jason at redhat dot com,
   ||rguenther at suse dot de
 Ever confirmed|0   |1

--- Comment #2 from Jan Hubicka  ---
I reproduced the problem on firefox. What happens is that we call
DECL_ASSEMBER_NAME on TYPE_DECL before its visibility is finalized. This means
that the name "" is produced and we never revisit it to real assembler
name.
The DECL_ASSEMBLER_NAME on the TYPE_DECL is triggered by:

#0  contains_struct_check (__g=0x169b10a
 "mangle_decl", __l=3602, __f=0x1592b00
"../../gcc/cp/mangle.c", __s=TS_DECL_MINIMAL, __t=0x7fffe53e17b8)
at ../../gcc/tree.h:3105
#1  mangle_decl (decl=0x7fffe53e17b8) at ../../gcc/cp/mangle.c:3602
#2  0x00fb64f4 in decl_assembler_name (decl=0x7fffe53e17b8) at
../../gcc/tree.c:670
#3  0x009ca36e in add_linkage_attr (die=0x7fffe5393be0, decl=) at ../../gcc/dwarf2out.c:17255
#4  0x009edb45 in gen_typedef_die (context_die=0x7fffe5393b90,
decl=0x7fffe53e17b8) at ../../gcc/dwarf2out.c:20633
#5  gen_typedef_die (decl=0x7fffe53e17b8, context_die=0x7fffe5393b90) at
../../gcc/dwarf2out.c:20569
#6  0x009d4c76 in gen_decl_die (decl=0x7fffe53e17b8, origin=, context_die=0x7fffe5393b90) at ../../gcc/dwarf2out.c:21522
#7  0x009d87f7 in gen_type_die_with_usage (type=0x7fffe53e0b28,
context_die=0x7fffe5393b90, usage=DINFO_USAGE_DIR_USE) at
../../gcc/dwarf2out.c:20780
#8  0x009d9f47 in gen_type_die (type=0x7fffe53e0b28,
context_die=) at ../../gcc/dwarf2out.c:20932
#9  0x009d483e in gen_decl_die (decl=0x7fffe53e12f8, origin=, context_die=0x7fffe5393b90) at ../../gcc/dwarf2out.c:21519
#10 0x009d6d1b in gen_member_die (context_die=0x7fffe5393b90,
type=0x7fffe53e09d8) at ../../gcc/dwarf2out.c:20411
#11 gen_struct_or_union_type_die (usage=,
context_die=0x76b01000, type=0x7fffe53e09d8) at ../../gcc/dwarf2out.c:20516
#12 gen_tagged_type_die (usage=, context_die=0x76b01000,
type=0x7fffe53e09d8) at ../../gcc/dwarf2out.c:20717
#13 gen_tagged_type_die (type=0x7fffe53e09d8, context_die=,
usage=) at ../../gcc/dwarf2out.c:20658
#14 0x009d8d9a in gen_type_die_with_usage (type=0x7fffe53e09d8,
context_die=0x76b01000, usage=DINFO_USAGE_DIR_USE) at
../../gcc/dwarf2out.c:20877
#15 0x009d9f47 in gen_type_die (type=0x7fffe53e09d8,
context_die=) at ../../gcc/dwarf2out.c:20932
#16 0x009d483e in gen_decl_die (decl=0x7fffe5392390, origin=, context_die=0x76b01000) at ../../gcc/dwarf2out.c:21519
#17 0x009d5bbd in dwarf2out_decl (decl=0x7fffe5392390) at
../../gcc/dwarf2out.c:21978
#18 0x009d5eb3 in dwarf2out_type_decl (decl=,
local=) at ../../gcc/dwarf2out.c:21688
#19 dwarf2out_type_decl (decl=, local=) at
../../gcc/dwarf2out.c:21683
#20 0x00c582fc in rest_of_type_compilation (type=0x7fffe53e09d8,
toplev=1) at ../../gcc/passes.c:335
#21 0x006d161f in finish_struct_1 (t=0x7fffe53e09d8) at
../../gcc/cp/class.c:6776

This happens by:
  type = TREE_TYPE (decl);

  if (type == error_mark_node)
return;

  if (is_naming_typedef_decl (TYPE_NAME (type)))
{
  /* Here, we are in the case of decl being a typedef naming
 an anonymous type, e.g:
 typedef struct {...} foo;
 In that case TREE_TYPE (decl) is not a typedef variant
 type and TYPE_NAME of the anonymous type is set to the
 TYPE_DECL of the typedef. This construct is emitted by
 the C++ FE.

 TYPE is the anonymous struct named by the typedef
 DECL. As we need the DW_AT_type attribute of the
 DW_TAG_typedef to point to the DIE of TYPE, let's
 generate that DIE right away. add_type_attribute
 called below will then pick (via lookup_type_die) that
 anonymous struct DIE.  */
  if (!TREE_ASM_WRITTEN (type))
gen_tagged_type_die (type, context_die, DINFO_USAGE_DIR_USE);

  /* This is a GNU Extension.  We are adding a
 DW_AT_linkage_name attribute to the DIE of the
 anonymous struct TYPE.  The value of that attribute
 is the name of the typedef decl naming the anonymous
 struct.  This greatly eases the work of consumers of
 this debug info.  */
  add_linkage_attr (lookup_type_die (type), decl);
}

lookup_type_die does:

static void
add_linkage_attr (dw_die_ref die, tree decl)
{
  const char *name = IDENTIFIER_POINTER (DECL

[Bug lto/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

--- Comment #1 from Markus Trippelsdorf  ---
This will take a while: 8 input files required, 46MB preprocessed code...

[Bug bootstrap/67289] ICE in ipa-devirt.c

2015-11-26 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67289

--- Comment #3 from Jan Hubicka  ---
I am reducing testcase.  BTW it seems wasteful to build all the dwarfs we are
going to throw away for slim LTO -g. Can't we just disable the dwarf production
at slim LTO build time until early dwarf materializes?

[Bug lto/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

Jan Hubicka  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #2 from Jan Hubicka  ---
Interesting, I hit number of other ICEs before getting to final build.  I have
old firefox tree however.

[Bug tree-optimization/68453] [6 Regression] graphite ICE: segfault

2015-11-26 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68453

--- Comment #3 from Joost VandeVondele  
---
at r230923 this testcase seems not to fail anymore. Should this be closed as
fixed (maybe after adding the testcase ?)

I ran into a new ICE however, but I'll open a PR once  I have this reduced.

[Bug lto/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

--- Comment #3 from Markus Trippelsdorf  ---
My Firofox tree is quite old, too: Oct 15 2014
But it is good enough as a guinea pig for finding compiler bugs...

[Bug tree-optimization/68550] New: [6 Regression] ICE: verify_gimple failed Error: missing PHI def

2015-11-26 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68550

Bug ID: 68550
   Summary: [6 Regression] ICE: verify_gimple failed Error:
missing PHI def
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Joost.VandeVondele at mat dot ethz.ch
  Target Milestone: ---

graphite-triggered ICE in current trunk.

> cat bug.f90
  SUBROUTINE integrate_core_1(grid,coef_xyz,pol_x,pol_y,&
 pol_z,map,sphere_bounds,cmax,gridbounds)
INTEGER, PARAMETER :: dp=8
INTEGER, INTENT(IN):: sphere_bounds(*), cmax, &
  map(-cmax:cmax,1:3), &
  gridbounds(2,3)
REAL(dp), INTENT(IN) :: grid(gridbounds(1,1):gridbounds(2,1), &
 gridbounds(1,2):gridbounds(2,2),&
 gridbounds(1,3):gridbounds(2,3))
INTEGER, PARAMETER :: lp = 1
REAL(dp), INTENT(IN)   :: pol_x(0:lp,-cmax:cmax), &
  pol_y(1:2,0:lp,-cmax:0), &
  pol_z(1:2,0:lp,-cmax:0)
REAL(dp), INTENT(OUT) :: coef_xyz(((lp+1)*(lp+2)*(lp+3))/6)
INTEGER   :: i, ig, igmax, igmin, j, j2, &
 jg, jg2, jgmin, k, k2, kg, &
 kg2, kgmin, lxp, sci
REAL(dp)  :: coef_x(4,0:lp), &
 coef_xy(2,((lp+1)*(lp+2))/2), &
 s(4)
DO kg=kgmin,0
   DO jg=jgmin,0
  coef_x=0.0_dp
  DO ig=igmin,igmax
 DO lxp=0,lp
coef_x(:,lxp)=coef_x(:,lxp)+s(:)*pol_x(lxp,ig)
 ENDDO
  END DO
 coef_xy(:,3)=coef_xy(:,3)+coef_x(3:4,0)*pol_y(2,1,jg)
   END DO
coef_xyz(3)=coef_xyz(3)+coef_xy(1,3)*pol_z(1,0,kg)
END DO
  END SUBROUTINE integrate_core_1

> gfortran -c -O2 -floop-nest-optimize  bug.f90
bug.f90:1:0:

   SUBROUTINE integrate_core_1(grid,coef_xyz,pol_x,pol_y,&


Error: missing PHI def
bug.f90:1:0: Error: missing PHI def
prephitmp_133 = PHI <(8), (16)>
bug.f90:1:0: internal compiler error: verify_gimple failed
0xbab969 verify_gimple_in_cfg(function*, bool)
../../gcc/gcc/tree-cfg.c:5082
0xa92b8c execute_function_todo
../../gcc/gcc/passes.c:1958
0xa9361b execute_todo
../../gcc/gcc/passes.c:2010
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

> gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/data/vjoost/gnu/gcc_trunk/install/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/data/vjoost/gnu/gcc_trunk/install
--enable-languages=c,c++,fortran --disable-multilib --enable-plugins
--enable-lto --disable-bootstrap
Thread model: posix
gcc version 6.0.0 20151126 (experimental) [trunk revision 230923] (GCC)

[Bug bootstrap/67289] ICE in ipa-devirt.c

2015-11-26 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67289

--- Comment #4 from rguenther at suse dot de  ---
On Thu, 26 Nov 2015, hubicka at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67289
> 
> --- Comment #3 from Jan Hubicka  ---
> I am reducing testcase.  BTW it seems wasteful to build all the dwarfs we are
> going to throw away for slim LTO -g. Can't we just disable the dwarf 
> production
> at slim LTO build time until early dwarf materializes?

You could do that by adjusting debug hooks to the _none variants for
slim LTO.

[Bug target/63773] [meta-bug] Restoring darwin bootstrap for gcc 5.0

2015-11-26 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63773

--- Comment #30 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
With Xcode 6.4 as, 32-bit bootstrap is now well into running the testsuite.

I've filed bug

23669324 Xcode 7 as creates relocation ld cannot handle

Rainer

[Bug debug/68302] [5/6 Regression] ICE with debugging enabled on mips

2015-11-26 Thread aurelien at aurel32 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68302

--- Comment #3 from Aurelien Jarno  ---
I built GCC with the following options:

configure --enable-languages=c --prefix=/usr --target=mipsel-linux-gnu
--includedir=/usr/mipsel-linux-gnu/include 

Then I build the file with -O2  -g -o test.o -c test.c -march=mips32r2.

The ICE disappears when I don't use -g.

All that said, I am still able to reproduce the issue with the gcc-5-branch,
but not with trunk. I start to wonder if I correctly tested trunk or if the
problem has been fixed in the meantime. Anyway if it's not reproducible with
trunk, that's something that can be bisected. I'll do that.

[Bug tree-optimization/68550] [6 Regression] ICE: verify_gimple failed Error: missing PHI def

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68550

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.

[Bug tree-optimization/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

Richard Biener  changed:

   What|Removed |Added

   Keywords||lto
 CC||rguenth at gcc dot gnu.org
  Component|lto |tree-optimization
Version|lto |6.0
   Target Milestone|--- |6.0

--- Comment #4 from Richard Biener  ---
Heh, at least I hoped that the checking code would find sth...

[Bug target/63773] [meta-bug] Restoring darwin bootstrap for gcc 5.0

2015-11-26 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63773

--- Comment #31 from Iain Sandoe  ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #30)
> With Xcode 6.4 as, 32-bit bootstrap is now well into running the testsuite.
> 
> I've filed bug
> 
>   23669324 Xcode 7 as creates relocation ld cannot handle

Thanks!

The .s file in your attachment crashes TOT llvm/clang (clang -target
i686-apple-darwin12 .s -o t.o ) with an assertion "Value does not fit in
Fixup field".  Will try to investigate if I have any spare cycles today.

[Bug c++/68508] [5/6 Regression] Internal compiler error with parentheses around return value in C++14 with ASan enabled

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68508

--- Comment #5 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 09:52:48 2015
New Revision: 230928

URL: https://gcc.gnu.org/viewcvs?rev=230928&root=gcc&view=rev
Log:
PR c++/68508
* cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
* cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise.  Use
it instead of or in addition to TREE_TYPE (op).  Use
is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
TREE_TYPE (type) are the same type minus qualifiers.
* typeck.c (build_static_cast_1): Adjust callers.

* g++.dg/ubsan/pr68508.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ubsan/pr68508.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/cp-ubsan.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/67239] [6 Regression] FAIL: 23_containers/unordered_set/insert/hash_policy.cc execution test

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67239

Richard Biener  changed:

   What|Removed |Added

   Keywords||ABI
 Status|ASSIGNED|NEW
   Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot 
gnu.org

--- Comment #19 from Richard Biener  ---
Thus not mine.

[Bug rtl-optimization/67226] Incorrect code generated for tail call, where parameters are structs passed by value, -O2 is used, and target is ARM

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67226

--- Comment #6 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu Nov 26 09:58:28 2015
New Revision: 230929

URL: https://gcc.gnu.org/viewcvs?rev=230929&root=gcc&view=rev
Log:
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when
checking stack offsets for sibcall optimisation

2015-11-26  Kyrylo Tkachov  
Bernd Schmidt  

PR rtl-optimization/67226
* calls.c (store_one_arg): Take into account
crtl->args.pretend_args_size when checking for overlap between
arg->value and argblock + arg->locate.offset during sibcall
optimization.

* gcc.c-torture/execute/pr67226.c: New test.


Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr67226.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/67876] [6 Regression] ICE when compiling Firefox 38

2015-11-26 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67876

--- Comment #8 from Andreas Schwab  ---
FAIL: g++.dg/pr67876.C  -std=c++11 (test for excess errors)
Excess errors:
/usr/local/gcc/gcc-20151126/gcc/testsuite/g++.dg/pr67876.C:23:8: error:
redefinition of 'struct S'
/usr/local/gcc/gcc-20151126/gcc/testsuite/g++.dg/pr67876.C:7:8: error: previous
definition of 'struct S'
/usr/local/gcc/gcc-20151126/gcc/testsuite/g++.dg/pr67876.C:28:6: error:
redefinition of 'template void bar(S&)'
/usr/local/gcc/gcc-20151126/gcc/testsuite/g++.dg/pr67876.C:30:13: error:
redefinition of 'S s'
/usr/local/gcc/gcc-20151126/gcc/testsuite/g++.dg/pr67876.C:32:6: error:
redefinition of 'void foobar(S&)'

[Bug rtl-optimization/67226] Incorrect code generated for tail call, where parameters are structs passed by value, -O2 is used, and target is ARM

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67226

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|6.0 |4.9.5
  Known to fail||4.9.4

--- Comment #7 from ktkachov at gcc dot gnu.org ---
Fixed on trunk.
This occurs on 4.9 as well (and earlier too from what I can tell).
I'm testing the backports

[Bug tree-optimization/68128] A huge regression in Parboil v2.5 OpenMP CUTCP test (2.5 times lower performance)

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68128

--- Comment #8 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 10:18:50 2015
New Revision: 230932

URL: https://gcc.gnu.org/viewcvs?rev=230932&root=gcc&view=rev
Log:
PR tree-optimization/68128
* tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
* gimplify.c: Include gimple-walk.h.
(enum gimplify_omp_var_data): Add GOVD_WRITTEN.
(omp_notice_variable): Set flags to n->value if n already
exists in target region, but we need to jump to do_outer.
(omp_shared_to_firstprivate_optimizable_decl_p,
omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
functions.
(gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
not modified in the body.  Call omp_mark_stores for outer
contexts on OMP_CLAUSE_SHARED clauses if they could be written
in the body or on OMP_CLAUSE_LASTPRIVATE.
(gimplify_adjust_omp_clauses): Add body argument, call
omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
Set OMP_CLAUSE_SHARED_READONLY
on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
not modified in the body.  Call omp_mark_stores for outer
contexts on OMP_CLAUSE_SHARED clauses if they could be written
in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
(gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
non-local vars or local vars referenced from nested routines.
* omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE.  Even for
TREE_READONLY, don't call use_pointer_for_field with non-NULL
second argument until we are sure we are keeping OMP_CLAUSE_SHARED.

* gcc.dg/gomp/pr68128-1.c: New test.
* gcc.dg/gomp/pr68128-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/gomp/pr68128-1.c
trunk/gcc/testsuite/gcc.dg/gomp/pr68128-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/omp-low.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-nested.c
trunk/gcc/tree.h

[Bug tree-optimization/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

David Binderman  changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com

--- Comment #5 from David Binderman  ---
Created attachment 36843
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36843&action=edit
gzipped C source code

Might be a simpler test case.

Found on gcc trunk dated 20151126. Compiler flag -O3 required.

[Bug c++/68508] [5/6 Regression] Internal compiler error with parentheses around return value in C++14 with ASan enabled

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68508

--- Comment #6 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 10:21:42 2015
New Revision: 230933

URL: https://gcc.gnu.org/viewcvs?rev=230933&root=gcc&view=rev
Log:
PR c++/68508
* cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
* cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise.  Use
it instead of or in addition to TREE_TYPE (op).  Use
is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
TREE_TYPE (type) are the same type minus qualifiers.
* typeck.c (build_static_cast_1): Adjust callers.

* g++.dg/ubsan/pr68508.C: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/ubsan/pr68508.C
Modified:
branches/gcc-5-branch/gcc/cp/ChangeLog
branches/gcc-5-branch/gcc/cp/cp-tree.h
branches/gcc-5-branch/gcc/cp/cp-ubsan.c
branches/gcc-5-branch/gcc/cp/typeck.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug c/68551] New: GCC 5.2 build broken on arm/rasbian

2015-11-26 Thread tan.dejun.alvin at dhs dot sg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68551

Bug ID: 68551
   Summary: GCC 5.2 build broken on arm/rasbian
   Product: gcc
   Version: 5.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tan.dejun.alvin at dhs dot sg
  Target Milestone: ---

Compiling OpenWRT on my raspberry pi throws me this error:

http://pastebin.com/5aXUjKVR

[Bug c/68551] GCC 5.2 build broken on arm/rasbian

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68551

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktkachov at gcc dot gnu.org

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Can you please provide a preprocessed testcase and, the gcc configure options
and the compilation command line as per:
https://gcc.gnu.org/bugs/

[Bug c++/67313] [6 Regression] ICE: in vague_linkage_p, at cp/decl2.c:1878 with -fno-weak and variadic template

2015-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67313

--- Comment #2 from Paolo Carlini  ---
This is already fixed, I'm adding the testcase and closing the bug.

[Bug c++/68508] [5/6 Regression] Internal compiler error with parentheses around return value in C++14 with ASan enabled

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68508

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #7 from Jakub Jelinek  ---
Fixed for 5.3+.

[Bug c/68551] GCC 5.2 build broken on arm/rasbian

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68551

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-11-26
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
Note the error is from the installed host cross-compiler which we'd need
version
info for.  Not sure why you build a native GCC for raspi though.

[Bug c++/67313] [6 Regression] ICE: in vague_linkage_p, at cp/decl2.c:1878 with -fno-weak and variadic template

2015-11-26 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67313

--- Comment #3 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Thu Nov 26 10:37:33 2015
New Revision: 230934

URL: https://gcc.gnu.org/viewcvs?rev=230934&root=gcc&view=rev
Log:
2015-11-26  Paolo Carlini  

PR c++/67313
* g++.dg/cpp0x/no-weak1.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/no-weak1.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/67313] [6 Regression] ICE: in vague_linkage_p, at cp/decl2.c:1878 with -fno-weak and variadic template

2015-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67313

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #4 from Paolo Carlini  ---
Done.

[Bug tree-optimization/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
 CC||vries at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #6 from Richard Biener  ---
It's a different cause though as it is from rtl_loop_init checking for
the case LOOPS_NEED_FIXUP is not set.  Thus a pass preceeding isn't
updating loop->latch.

I think that was by design (LOOPS_MAY_HAVE_MULTIPLE_LATCHES was supposed
to be "->latch doesn't matter, only keep header correct" which is what
we require from passes not having initialized loops).

Of course that's a somewhat conflicting requirement and thus the cleanest
approach would be to split the latch flags even more.  LOOPS_HAVE_LATCHES
(otherwise ->latch cannot be relied on), LOOPS_MAY_HAVE_MULTIPLE_LATCHES
(->latch may be NULL and do not disambiguate such loops),
~LOOPS_MAY_HAVE_MULTIPLE_LATCHES (disambiguate, all loops have ->latch
non-NULL), LOOPS_HAVE_SIMPLE_LATCHES (latches are forwarders).

The current state is really broken though in case we have
LOOPS_MAY_HAVE_MULTIPLE_LATCHES users that rely on ->latch reflecting
reality.  The flag is not explicitely requested by any pass though
so a simple option would be to revert the checking bits for now
and revisit the whole issue in stage1.

[Bug tree-optimization/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

--- Comment #7 from Markus Trippelsdorf  ---
Rough reduction:

a;
fn1() {
  int b = 0;
  char *c;
  unsigned d, e = &d;
  for (; a; a++)
if (*c) {
  char **f = &c;
lbl72855FC2:
  c = b > (**f = c && b);
  d = 2;
lbl4BD212AD:
  for (; d; d++)
;
  goto lbl72855FC2;
}
  c = &b;
  goto lbl4BD212AD;
}

[Bug c++/67249] [concepts] ICE parsing f(pair)

2015-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67249

--- Comment #1 from Paolo Carlini  ---
This is already fixed. I'm adding the testcase and closing the bug.

[Bug tree-optimization/61034] Optimizing takes too many passes

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61034

--- Comment #13 from Richard Biener  ---
We arrive at different final optimizations depending on PUSH_ARGS_REVERSED
(see PR67203).  Current (GCC 6) final state is either 3 or 4 calls depending
on that.  And this is only because the final DCE (which removes malloc/free
pairs) needs some more DSE (which only follows DCE).  The late dce/dse
passes are the only ones with this particular odering, all other pairs
come the other way around which would end up removing all malloc/free pairs
in this (finally).

Of course DSE and DCE depend on each other so exchanging the last two
isn't a trivial surgery.  Ideally DSE would have at least a basic
DCE embedded or we'd finally merge both passes (given that DSE is quite
ad-hoc anyway).

[Bug rtl-optimization/67226] Incorrect code generated for tail call, where parameters are structs passed by value, -O2 is used, and target is ARM

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67226

--- Comment #8 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu Nov 26 11:36:40 2015
New Revision: 230936

URL: https://gcc.gnu.org/viewcvs?rev=230936&root=gcc&view=rev
Log:
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when
checking stack offsets for sibcall optimisation

Backport from mainline
2015-11-26  Kyrylo Tkachov  
Bernd Schmidt  

PR rtl-optimization/67226
* calls.c (store_one_arg): Take into account
crtl->args.pretend_args_size when checking for overlap between
arg->value and argblock + arg->locate.offset during sibcall
optimization.

* gcc.c-torture/execute/pr67226.c: New test.


Added:
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr67226.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/calls.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/67226] Incorrect code generated for tail call, where parameters are structs passed by value, -O2 is used, and target is ARM

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67226

--- Comment #9 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu Nov 26 11:40:16 2015
New Revision: 230937

URL: https://gcc.gnu.org/viewcvs?rev=230937&root=gcc&view=rev
Log:
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when
checking stack offsets for sibcall optimisation

Backport from mainline
2015-11-26  Kyrylo Tkachov  
Bernd Schmidt  

PR rtl-optimization/67226
* calls.c (store_one_arg): Take into account
crtl->args.pretend_args_size when checking for overlap between
arg->value and argblock + arg->locate.offset during sibcall
optimization.

* gcc.c-torture/execute/pr67226.c: New test.


Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.c-torture/execute/pr67226.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/calls.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/67226] Incorrect code generated for tail call, where parameters are structs passed by value, -O2 is used, and target is ARM

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67226

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 all active branches

[Bug middle-end/65358] wrong parameter passing code with tail call optimization on arm

2015-11-26 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65358
Bug 65358 depends on bug 67226, which changed state.

Bug 67226 Summary: Incorrect code generated for tail call, where parameters are 
structs passed by value, -O2 is used, and target is ARM
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67226

   What|Removed |Added

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

[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions

2015-11-26 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416

--- Comment #4 from Ilya Enkovich  ---
(In reply to Vladimir Makarov from comment #3)
> The first I thought it is a LRA inheritance bug but after more thorough
> analysis I found that the problem comes from IRA.  IRA never assigns BND
> hard registers to pseudos because it never assigns BNDREGS class to pseudos.
> After some investigation I found that ALL_REGS does not contain BNDREGS. 
> IRA starts with ALL_REGS and uses narrow reg class if the mode is prohibited
> for some hard registers.  That is why class BNDREGS is never used for
> pseudos.

Thanks a lot for the patch!  It significantly improves MPX code quality.

[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions

2015-11-26 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416

--- Comment #5 from Ilya Enkovich  ---
Author: ienkovich
Date: Thu Nov 26 11:49:20 2015
New Revision: 230938

URL: https://gcc.gnu.org/viewcvs?rev=230938&root=gcc&view=rev
Log:
gcc/

2015-11-26  Vladimir Makarov  

PR target/68416
* config/i386/i386.h (enum reg_class): Add
bounds registers to ALL_REGS.

gcc/testsuite/

2015-11-26  Ilya Enkovich  

PR target/68416
* gcc.target/i386/mpx/pr68416.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/mpx/pr68416.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.h
trunk/gcc/testsuite/ChangeLog

[Bug rtl-optimization/68249] [4.9/5/6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68249

--- Comment #4 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 11:52:11 2015
New Revision: 230939

URL: https://gcc.gnu.org/viewcvs?rev=230939&root=gcc&view=rev
Log:
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr68249.c
trunk/gcc/testsuite/gcc.c-torture/execute/pr68321.c
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug rtl-optimization/68321] [5/6 Regression] wrong code at -O3 on x86_64-linux-gnu (in 64-bit mode)

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68321

--- Comment #7 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 11:52:11 2015
New Revision: 230939

URL: https://gcc.gnu.org/viewcvs?rev=230939&root=gcc&view=rev
Log:
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr68249.c
trunk/gcc/testsuite/gcc.c-torture/execute/pr68321.c
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug testsuite/67203] [6 regression] FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++11 scan-tree-dump-times fre2 "free" 10

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67203

--- Comment #3 from Richard Biener  ---
Author: rguenth
Date: Thu Nov 26 11:53:13 2015
New Revision: 230940

URL: https://gcc.gnu.org/viewcvs?rev=230940&root=gcc&view=rev
Log:
2015-11-26  Richard Biener  

PR testsuite/67203
* g++.dg/tree-ssa/pr61034.C: Make expected optimization result
dependent on PUSH_ARGS_REVERSED.  Drop optimization level and
also monitor final optimization result.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/tree-ssa/pr61034.C

[Bug testsuite/67203] [6 regression] FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++11 scan-tree-dump-times fre2 "free" 10

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67203

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #4 from Richard Biener  ---
Fixed by adjusting the testcase.

[Bug c++/68527] ICE with -fdump-ada-spec on invalid C++ 11 code

2015-11-26 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68527

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
 CC||ebotcazou at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou  ---
Curious to know under what circumstances you ran into this?

[Bug c++/68527] ICE with -fdump-ada-spec on invalid C++ 11 code

2015-11-26 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68527

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #2 from Eric Botcazou  ---
Fixing.

[Bug rtl-optimization/68249] [4.9/5/6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68249

--- Comment #5 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 11:55:14 2015
New Revision: 230941

URL: https://gcc.gnu.org/viewcvs?rev=230941&root=gcc&view=rev
Log:
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr68249.c
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr68321.c
Modified:
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/68321] [5/6 Regression] wrong code at -O3 on x86_64-linux-gnu (in 64-bit mode)

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68321

--- Comment #8 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 26 11:55:14 2015
New Revision: 230941

URL: https://gcc.gnu.org/viewcvs?rev=230941&root=gcc&view=rev
Log:
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr68249.c
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr68321.c
Modified:
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/68194] [4.9/5/6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68194

--- Comment #15 from Jakub Jelinek  ---
*** Bug 68321 has been marked as a duplicate of this bug. ***

[Bug rtl-optimization/68321] [5/6 Regression] wrong code at -O3 on x86_64-linux-gnu (in 64-bit mode)

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68321

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #9 from Jakub Jelinek  ---
Dup.

*** This bug has been marked as a duplicate of bug 68194 ***

[Bug rtl-optimization/68249] [4.9/5/6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68249

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #6 from Jakub Jelinek  ---
Dup.

*** This bug has been marked as a duplicate of bug 68194 ***

[Bug rtl-optimization/68194] [4.9/5/6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2015-11-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68194

--- Comment #16 from Jakub Jelinek  ---
*** Bug 68249 has been marked as a duplicate of this bug. ***

[Bug c++/68527] ICE with -fdump-ada-spec on invalid C++ 11 code

2015-11-26 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68527

--- Comment #3 from Eric Botcazou  ---
Author: ebotcazou
Date: Thu Nov 26 12:04:50 2015
New Revision: 230942

URL: https://gcc.gnu.org/viewcvs?rev=230942&root=gcc&view=rev
Log:
PR c++/68527
* c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
(print_ada_struct_decl): Likewise.

Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-ada-spec.c

[Bug c++/68527] ICE with -fdump-ada-spec on invalid C++ 11 code

2015-11-26 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68527

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #4 from Eric Botcazou  ---
Fixed (but please avoid throwing junk at -fdump-ada-spec).

[Bug target/63773] [meta-bug] Restoring darwin bootstrap for gcc 5.0

2015-11-26 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63773

--- Comment #32 from Iain Sandoe  ---
reduced testcase:

.text
.align 4,0x90
.globl _choose_tmpdir
_choose_tmpdir:
sbbl$3+_vartmp, %esi
ret
.space 254

.const
.align 2
_vartmp:
.byte   47

===

It seems that the reloc length is expected to be 1 (which will not, indeed,
accommodate the offset).

cctools (877.5) using -Q and my local port of GAS both produce;

address  pcrel length extern typescattered symbolnum/value
0002 False long   n/aVANILLA True  0x0108

[Bug testsuite/66799] [6 regression] gcc.dg/vect/pr20122.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66799

Richard Biener  changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
  Component|tree-optimization   |testsuite

--- Comment #3 from Richard Biener  ---
Ok, sorry for responding so late.  The testcase has aligned accesses only
and we now might be able to propagate simply via IPA alignment propagation.
Not sure why it started to "work" in the revision range but the vectorizer
indeed analyzes all accesses to be aligned.

I think fixing the testcase is best (not align the source array) as only
that triggers a runtime error if we get things wrong (and miss the
versioning check).  The testcase was made to align that array with r104445
but I don't see a good reason for this today.

[Bug tree-optimization/68552] New: [6 Regression]: ICE in in expand_expr_real_2 with -O2 -ftree-vectorize

2015-11-26 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68552

Bug ID: 68552
   Summary: [6 Regression]: ICE in in expand_expr_real_2 with -O2
-ftree-vectorize
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ubizjak at gmail dot com
  Target Milestone: ---
Target: alpha-linux-gnu

Recent regression on alpha-linux-gnu:

FAIL: gcc.c-torture/compile/pr52255.c   -O3

This ICE can be triggered with a crosscompiler to alpha-linux-gnu with '-O2
-ftree-vectorize':

Starting program: /home/uros/gcc-build-alpha/gcc/cc1 -O2 -ftree-vectorize
-quiet -fpreprocessed pr52255.c

Breakpoint 1, internal_error (gmsgid=0x12a0c4c "in %s, at %s:%d") at
../../gcc-svn/trunk/gcc/diagnostic.c:1255
1255internal_error (const char *gmsgid, ...)
(gdb) bt
#0  internal_error (gmsgid=0x12a0c4c "in %s, at %s:%d") at
../../gcc-svn/trunk/gcc/diagnostic.c:1255
#1  0x010bf6cc in fancy_abort (file=, line=9260, 
function=0x1185a40  "expand_expr_real_2")
at ../../gcc-svn/trunk/gcc/diagnostic.c:1332
#2  0x00790930 in expand_expr_real_2 (ops=0x7fffbdb0,
target=, tmode=, modifier=EXPAND_NORMAL)
at ../../gcc-svn/trunk/gcc/expr.c:9260
#3  0x00685b5f in expand_gimple_stmt_1 (stmt=0x2e88e300) at
../../gcc-svn/trunk/gcc/cfgexpand.c:3628
#4  0x00685e87 in expand_gimple_stmt (stmt=0x2e88e300) at
../../gcc-svn/trunk/gcc/cfgexpand.c:3688

(gdb) f 2
#2  0x00790930 in expand_expr_real_2 (ops=0x7fffbdb0,
target=, tmode=, modifier=EXPAND_NORMAL)
at ../../gcc-svn/trunk/gcc/expr.c:9260
9260  gcc_assert (temp);
(gdb) list
9255}
9256  else
9257gcc_assert (GET_MODE_CLASS (GET_MODE (op2)) ==
MODE_VECTOR_INT);
9258
9259  temp = expand_vec_perm (mode, op0, op1, op2, target);
9260  gcc_assert (temp);
9261  return temp;
9262
9263case DOT_PROD_EXPR:
9264  {

[Bug testsuite/66799] [6 regression] gcc.dg/vect/pr20122.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66799

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug testsuite/66799] [6 regression] gcc.dg/vect/pr20122.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66799

--- Comment #5 from Richard Biener  ---
Author: rguenth
Date: Thu Nov 26 12:15:43 2015
New Revision: 230943

URL: https://gcc.gnu.org/viewcvs?rev=230943&root=gcc&view=rev
Log:
2015-11-26  Richard Biener  

PR testsuite/66799
* gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not
vectorize init loop and adjust expected outcome.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/pr20122.c

[Bug tree-optimization/66678] loop counter not accurately described by vrp

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66678

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
 CC||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1
   Severity|minor   |enhancement

[Bug tree-optimization/66598] [4.9/5 Regression] With -O3 gcc incorrectly assumes aligned SSE instructions (e.g. movapd) can be used

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66598

Richard Biener  changed:

   What|Removed |Added

  Known to work||4.8.5
   Target Milestone|--- |4.9.4
Summary|With -O3 gcc incorrectly|[4.9/5 Regression] With -O3
   |assumes aligned SSE |gcc incorrectly assumes
   |instructions (e.g. movapd)  |aligned SSE instructions
   |can be used |(e.g. movapd) can be used

[Bug tree-optimization/66379] SCCVN doesn't handle aggregate array element accesses very well

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66379

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-11-26
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Works now with -fno-tree-sra as the patch was committed but SRA still confuses
FRE so this is a testcase for the "stupid address-forwarding" issue.

[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions

2015-11-26 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416

--- Comment #6 from Ilya Enkovich  ---
Author: ienkovich
Date: Thu Nov 26 12:28:57 2015
New Revision: 230945

URL: https://gcc.gnu.org/viewcvs?rev=230945&root=gcc&view=rev
Log:
gcc/

Backport from mainline r230938.
2015-11-26  Vladimir Makarov  

PR target/68416
* config/i386/i386.h (enum reg_class): Add
bounds registers to ALL_REGS.

gcc/testsuite/

Backport from mainline r230938.
2015-11-26  Ilya Enkovich  

PR target/68416
* gcc.target/i386/mpx/pr68416.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/mpx/pr68416.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/i386/i386.h
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions

2015-11-26 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416

Ilya Enkovich  changed:

   What|Removed |Added

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

--- Comment #7 from Ilya Enkovich  ---
Fixed

[Bug tree-optimization/66598] [4.9/5 Regression] With -O3 gcc incorrectly assumes aligned SSE instructions (e.g. movapd) can be used

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66598

--- Comment #4 from Richard Biener  ---
The relevant hunk is the following but as it requires us to know the
final vectorization factor it requires us to re-order (and split)
the pipeline quite a bit.  r223670 has bits of the prerequesites but not all
and r224598 has the fix below (and some unrelated bits).

Index: gcc/tree-vect-data-refs.c
===
--- gcc/tree-vect-data-refs.c   (revision 230924)
+++ gcc/tree-vect-data-refs.c   (working copy)
@@ -701,21 +701,22 @@ vect_compute_data_ref_alignment (struct
}
 }

-  /* Similarly, if we're doing basic-block vectorization, we can only use
- base and misalignment information relative to an innermost loop if the
- misalignment stays the same throughout the execution of the loop.
- As above, this is the case if the stride of the dataref evenly divides
- by the vector size.  */
-  if (!loop)
+  /* Similarly we can only use base and misalignment information relative to
+ an innermost loop if the misalignment stays the same throughout the
+ execution of the loop.  As above, this is the case if the stride of
+ the dataref evenly divides by the vector size.  */
+  else
 {
   tree step = DR_STEP (dr);
-  HOST_WIDE_INT dr_step = TREE_INT_CST_LOW (step);
+  unsigned vf = loop ? LOOP_VINFO_VECT_FACTOR (loop_vinfo) : 1;

-  if (dr_step % GET_MODE_SIZE (TYPE_MODE (vectype)) != 0)
+  if (tree_fits_shwi_p (step)
+ && ((tree_to_shwi (step) * vf)
+ % GET_MODE_SIZE (TYPE_MODE (vectype)) != 0))
{
  if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
-"SLP: step doesn't divide the vector-size.\n");
+"step doesn't divide the vector-size.\n");
  misalign = NULL_TREE;
}
 }

[Bug tree-optimization/68553] gcc.dg/vect/pr68445.c FAILs

2015-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68553

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug tree-optimization/68553] New: gcc.dg/vect/pr68445.c FAILs

2015-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68553

Bug ID: 68553
   Summary: gcc.dg/vect/pr68445.c FAILs
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
CC: rguenth at gcc dot gnu.org
  Target Milestone: ---
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

Created attachment 36844
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36844&action=edit
pr68445.c.134t.vect

The new gcc.dg/vect/pr68445.c testcase FAILs on Solaris/SPARC

FAIL: gcc.dg/vect/pr68445.c -flto -ffat-lto-objects  scan-tree-dump vect
"vectorizing stmts using SLP"
FAIL: gcc.dg/vect/pr68445.c scan-tree-dump vect "vectorizing stmts using SLP"

for both 32 and 64-bit.

I'm attaching the dump.

  Rainer

[Bug tree-optimization/68554] New: gcc.dg/vect/bb-slp-subgroups-2.c FAILs

2015-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68554

Bug ID: 68554
   Summary: gcc.dg/vect/bb-slp-subgroups-2.c FAILs
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
CC: alan.lawrence at arm dot com
  Target Milestone: ---
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

Created attachment 36845
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36845&action=edit
bb-slp-subgroups-2.c.144t.slp2

The new gcc.dg/vect/bb-slp-subgroups-2.c testcase FAILs on Solaris/SPARC

FAIL: gcc.dg/vect/bb-slp-subgroups-2.c -flto -ffat-lto-objects 
scan-tree-dump-times slp2 "Basic block will be vectorized using SLP" 1
FAIL: gcc.dg/vect/bb-slp-subgroups-2.c -flto -ffat-lto-objects 
scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL: gcc.dg/vect/bb-slp-subgroups-2.c scan-tree-dump-times slp2 "Basic block
will be vectorized using SLP" 1
FAIL: gcc.dg/vect/bb-slp-subgroups-2.c scan-tree-dump-times slp2 "basic block
vectorized" 1

for both 32- and 64-bit.

I'm attaching the dump.

  Rainer

[Bug tree-optimization/68554] gcc.dg/vect/bb-slp-subgroups-2.c FAILs

2015-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68554

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug c++/67249] [concepts] ICE parsing f(pair)

2015-11-26 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67249

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Thu Nov 26 13:14:45 2015
New Revision: 230947

URL: https://gcc.gnu.org/viewcvs?rev=230947&root=gcc&view=rev
Log:
2015-11-26  Paolo Carlini  

PR c++/67249
* g++.dg/concepts/pr67249.C: New.

Added:
trunk/gcc/testsuite/g++.dg/concepts/pr67249.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/67491] [meta-bug] concepts issues

2015-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 67249, which changed state.

Bug 67249 Summary: [concepts] ICE parsing f(pair)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67249

   What|Removed |Added

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

[Bug c++/67249] [concepts] ICE parsing f(pair)

2015-11-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67249

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |6.0

--- Comment #3 from Paolo Carlini  ---
Done.

[Bug tree-optimization/66598] [4.9/5 Regression] With -O3 gcc incorrectly assumes aligned SSE instructions (e.g. movapd) can be used

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66598

--- Comment #5 from Richard Biener  ---
Oh, and it needs r223798.

[Bug tree-optimization/68555] New: [6 regression] gcc.dg/vect/bb-slp-10.c FAILs

2015-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68555

Bug ID: 68555
   Summary: [6 regression] gcc.dg/vect/bb-slp-10.c FAILs
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

Created attachment 36846
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36846&action=edit
bb-slp-10.c.144t.slp2

Between 2015 (r230155) and 20151113 (r230309), the gcc.dg/vect/bb-slp-10.c
testcase started to FAIL on Solaris/SPARC, both 32 and 64-bit:

FAIL: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump slp2
"unsupported alignment in basic block."
FAIL: gcc.dg/vect/bb-slp-10.c scan-tree-dump slp2 "unsupported alignment in
basic block."

I'm attaching the dump.

  Rainer

[Bug tree-optimization/68555] [6 regression] gcc.dg/vect/bb-slp-10.c FAILs

2015-11-26 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68555

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug lto/68556] New: [6 Regression] -r -flto test failures

2015-11-26 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68556

Bug ID: 68556
   Summary: [6 Regression] -r -flto test failures
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hjl.tools at gmail dot com
CC: hubicka at ucw dot cz
  Target Milestone: ---

On Linux/x86, r230922 gave

FAIL: g++.dg/lto/20081118 cp_lto_20081118_0.o-cp_lto_20081118_1.o link, -fPIC
-flto -flto-partition=1to1 -r -nostdlib (internal compiler error)
FAIL: g++.dg/lto/20081204-1 cp_lto_20081204-1_0.o-cp_lto_20081204-1_1.o link,
-flto -flto-partition=1to1 -fPIC -r -nostdlib (internal compiler error)
FAIL: g++.dg/lto/20081219 cp_lto_20081219_0.o-cp_lto_20081219_1.o link, -fPIC
-flto -flto-partition=1to1 -O2 (internal compiler error)
FAIL: g++.dg/lto/20090302 cp_lto_20090302_0.o-cp_lto_20090302_1.o link, -fPIC
-flto -flto-partition=1to1 -r -nostdlib (internal compiler error)
FAIL: g++.dg/lto/20091002-1 cp_lto_20091002-1_0.o-cp_lto_20091002-1_0.o link,
-fPIC -flto (internal compiler error)
FAIL: g++.dg/lto/pr65193 cp_lto_pr65193_0.o-cp_lto_pr65193_0.o link, -fPIC -r
-nostdlib -flto -O2 -g (internal compiler error)

r230910 is OK.

[Bug lto/68556] [6 Regression] -r -flto test failures

2015-11-26 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68556

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #1 from H.J. Lu  ---
r230915 is bad.

[Bug tree-optimization/68552] [6 Regression]: ICE in in expand_expr_real_2 with -O2 -ftree-vectorize

2015-11-26 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68552

Uroš Bizjak  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #1 from Uroš Bizjak  ---
Caused by r230797:

2015-11-24  Jakub Jelinek  

   PR target/68483
   * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
   is valid vec_shr pattern, don't lower it even if can_vec_perm_p
   returns false.
   * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
   whenever first is nelt or above.  Don't mask expected with
   2 * nelt - 1.

[Bug tree-optimization/68553] gcc.dg/vect/pr68445.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68553

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-11-26
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr68445.c:7:3: note: Load
permutation 0 1 2 3 0 1 2 3
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr68445.c:7:3: note: no
vect permute for _13 = *p1f_35;

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr68445.c:7:3: note:
Build SLP failed: unsupported load permutation *destf_33 = _13;

and then

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr68445.c:7:3: note:
extract even/odd not supported by target


so it hits the missed "optimization" of simply omitting a 1:1 permutation.

[Bug tree-optimization/66721] [6 regression] gcc.target/i386/pr61403.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66721

--- Comment #5 from Richard Biener  ---
Author: rguenth
Date: Thu Nov 26 13:46:59 2015
New Revision: 230956

URL: https://gcc.gnu.org/viewcvs?rev=230956&root=gcc&view=rev
Log:
2015-11-26  Richard Biener  

PR tree-optimization/66721
* tree-vect-loop.c (vect_analyze_loop_2): Compute scalar
iteration cost earlier.  Re-do analysis without SLP when
vectorization using SLP fails and without has a chance to succeed.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-loop.c

[Bug tree-optimization/67323] Use non-unit stride loads by preference when applicable

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67323
Bug 67323 depends on bug 66721, which changed state.

Bug 66721 Summary: [6 regression] gcc.target/i386/pr61403.c FAILs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66721

   What|Removed |Added

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

[Bug tree-optimization/66721] [6 regression] gcc.target/i386/pr61403.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66721

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug tree-optimization/68554] gcc.dg/vect/bb-slp-subgroups-2.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68554

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-11-26
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c:20:1:
note: Load permutation 3 0 2 1
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c:20:1:
note: no vect permute for _13 = b[3];

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c:20:1:
note: unsupported load permutation
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c:20:1:
note: Build SLP failed: unsupported load permutation a[4] = _14;


The testcase needs vect_perm effective target

[Bug tree-optimization/68554] gcc.dg/vect/bb-slp-subgroups-2.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68554

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug tree-optimization/68554] gcc.dg/vect/bb-slp-subgroups-2.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68554

--- Comment #3 from Richard Biener  ---
Author: rguenth
Date: Thu Nov 26 13:51:40 2015
New Revision: 230961

URL: https://gcc.gnu.org/viewcvs?rev=230961&root=gcc&view=rev
Log:
2015-11-26  Richard Biener  

PR testsuite/68554
* gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c

[Bug tree-optimization/68549] [6 Regression] ICE: in verify_loop_structure, at cfgloop.c:1669

2015-11-26 Thread alalaw01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68549

alalaw01 at gcc dot gnu.org changed:

   What|Removed |Added

 CC||alalaw01 at gcc dot gnu.org

--- Comment #8 from alalaw01 at gcc dot gnu.org ---
Here's another testcase, reduced from value.c in gdb - ICEs at -O2 on (at
least) x86_64 and AArch64:

typedef long unsigned int size_t;
extern void *xmalloc (size_t) __attribute__ ((__malloc__)) __attribute__
((__returns_nonnull__));
struct __jmp_buf_tag
  {
  };
extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask)
__attribute__ ((__nothrow__));
typedef struct __jmp_buf_tag sigjmp_buf[1];
extern sigjmp_buf *exceptions_state_mc_init (void);
extern int exceptions_state_mc_action_iter (void);
extern void printf_unfiltered (const char *, ...)
;
extern struct gdbarch *get_current_arch (void);
struct internalvar
{
  struct internalvar *next;
};
static struct internalvar *internalvars;
struct internalvar *
create_internalvar (const char *name)
{
  struct internalvar *var = ((struct internalvar *) xmalloc (sizeof (struct
internalvar)));
  internalvars = var;
}
void
show_convenience ()
{
  struct gdbarch *gdbarch = get_current_arch ();
  int varseen = 0;
  for (struct internalvar *var = internalvars; var; var = var->next)
{
  if (!varseen)
varseen = 1;
  sigjmp_buf *buf = exceptions_state_mc_init ();
  __sigsetjmp ( (*buf), 1);
 while (exceptions_state_mc_action_iter ())
   while (exceptions_state_mc_action_iter ())
;
}
  if (!varseen)
  printf_unfiltered ( "" );
}

[Bug tree-optimization/68555] [6 regression] gcc.dg/vect/bb-slp-10.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68555

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-11-26
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Ah, that's expected now after my re-orgs

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/bb-slp-10.c:30:6: note:
not vectorized: unsupported unaligned store.MEM[(unsigned int *)&out + 4B]
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/bb-slp-10.c:30:6: note:
not vectorized: bad data alignment in basic block.

[Bug tree-optimization/68557] New: Missed x86 peephole optimization for multiplying by a bool

2015-11-26 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68557

Bug ID: 68557
   Summary: Missed x86 peephole optimization for multiplying by a
bool
   Product: gcc
   Version: 5.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppalka at gcc dot gnu.org
  Target Milestone: ---

On x86 the following code

void bar (int x);

void
baz (int x, bool b)
{
  bar (x * b);
}


is compiled to


bar:
movzbl  %sil, %esi
imull   %esi, %edi
jmp baz


when it could instead be compiled to

bar:
movzbl  %sil, %esi
negl%esi
andl%esi, %edi
jmp baz


On modern processors the "neg" and "and" instructions takes a minimum of one
cycle each, whereas the "imul" instruction takes a minimum three cycles.  So
transforming "x * (int)b" to "x & -(int)b" would save one cycle in the best
case.

[Bug tree-optimization/68555] [6 regression] gcc.dg/vect/bb-slp-10.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68555

--- Comment #2 from Richard Biener  ---
Author: rguenth
Date: Thu Nov 26 14:01:26 2015
New Revision: 230963

URL: https://gcc.gnu.org/viewcvs?rev=230963&root=gcc&view=rev
Log:
2015-11-26  Richard Biener  

PR testsuite/68555
* gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector
and not XFAIL.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-10.c

[Bug rtl-optimization/67037] [4.9/5 Regression] Wrong code at -O1 and above on ARM

2015-11-26 Thread edlinger at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67037

--- Comment #8 from Bernd Edlinger  ---
Author: edlinger
Date: Thu Nov 26 14:07:55 2015
New Revision: 230964

URL: https://gcc.gnu.org/viewcvs?rev=230964&root=gcc&view=rev
Log:
2015-11-26  Bernd Edlinger  

Backport from mainline
2015-09-30  Bernd Edlinger  

PR rtl-optimization/67037
* lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.

testsuite:
2015-11-26  Bernd Edlinger  

Backport from mainline
2015-09-30  Bernd Edlinger  

PR rtl-optimization/67037
* gcc.c-torture/execute/pr67037.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr67037.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/lra-constraints.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug tree-optimization/68555] [6 regression] gcc.dg/vect/bb-slp-10.c FAILs

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68555

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug fortran/66238] C/Fortran interoperability broken with -flto

2015-11-26 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66238

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #3 from Dominique d'Humieres  ---
This PR has been fixed between revisions r230847 (FAIL) and r230925 (PASS),
closing.

[Bug tree-optimization/68558] New: Fails to SLP loop

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68558

Bug ID: 68558
   Summary: Fails to SLP loop
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org
Blocks: 53947
  Target Milestone: ---

void IMB_double_fast_x (int *destf, int *dest, int y, int *p1f)
{
  int i;
  for (i = y; i > 0; i--)
{
  *dest++ = 0;
  destf[0] = p1f[0];
  destf[1] = p1f[1];
  destf[2] = p1f[2];
  destf[3] = p1f[3];
  destf[4] = p1f[8];
  destf[5] = p1f[9];
  destf[6] = p1f[10];
  destf[7] = p1f[11];
  destf += 8;
  p1f += 12;
}
}

fails to SLP because of

t.c:4:3: note: Detected interleaving store of size 8 starting with *destf_37 =
_13;
t.c:4:3: note: Detected interleaving load of size 12 starting with _13 =
*p1f_39;
t.c:4:3: note: Data access with gaps requires scalar epilogue loop
...
t.c:4:3: note: Build SLP failed: the number of interleaved loads is greater
than the SLP group size _13 = *p1f_39;

splitting the load group doesn't help because then we'll hit

t.c:4:3: note: Build SLP failed: differen interleaving chains in one node

splitting the store group to vector-size pieces would generally make sense
but may have interesting effects on SLP discovery like w/o also splitting
loads will hit the first issue above.

The best fix would be to lift the above restrictions and let permutation
support decide whether it can create the required loads or not.


Referenced Bugs:

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

[Bug tree-optimization/68558] Fails to SLP loop

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68558

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-11-26
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

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

[Bug c/68551] GCC 5.2 build broken on arm/rasbian

2015-11-26 Thread jgreenhalgh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68551

James Greenhalgh  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||jgreenhalgh at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #3 from James Greenhalgh  ---
Either the log file on the pastebin has been changed since this bug was opened,
or this bug has nothing to do with GCC? At the time I closed this bug as
invalid the pastebin link said:

fatal: unable to access 'https://git.infradead.org/mtd-utils.git/': SSL
certificate problem: Invalid certificate chain
make[3]: ***
[/Volumes/OpenWrt/openwrt/dl/mtd-utils-1.5.1-92686f212c9a4e16891c6a3c57629cbf4f0f8360.tar.gz]
Error 128

[Bug tree-optimization/68557] Missed x86 peephole optimization for multiplying by a bool

2015-11-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68557

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Target||x86_64-*-*, i?86-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-11-26
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
it's larger though (so not -Os).  If 'b' is already available as condition code
then a conditonal move from zero would also work.

So I wonder how to represent this on the GIMPLE level.

  _2 = COND_EXPR ;

is a possibility and of course

  _2 = COND_EXPR ;
  _5 = x_4 & _2;

or

  _3 = (int) b_2;
  _4 = -_3;  // only if bool is unsigned
  _5 = x_6 & _4;

the latter rely on the bool having only a the LSB set.

[Bug debug/53927] wrong value for DW_AT_static_link

2015-11-26 Thread pmderodat at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53927

--- Comment #24 from pmderodat at gcc dot gnu.org ---
Author: pmderodat
Date: Thu Nov 26 14:56:24 2015
New Revision: 230968

URL: https://gcc.gnu.org/viewcvs?rev=230968&root=gcc&view=rev
Log:
DWARF: fix loc. descr. generation for DW_AT_static_link

gcc/ChangeLog:

PR debug/53927
* tree-nested.c (finalize_nesting_tree_1): Append a field to
hold the frame base address.
* dwarf2out.c (gen_subprogram_die): Generate for
DW_AT_static_link a location description that computes the value
of this field.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/tree-nested.c

[Bug c++/68368] [6 regression] ICE tree check: expected integer_cst, have nop_expr in decompose, at tree.h:5123

2015-11-26 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68368

chrbr at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|DUPLICATE   |FIXED

--- Comment #7 from chrbr at gcc dot gnu.org ---
fixed @r230871 with:

r230871 | jason | 2015-11-25 15:35:24 +0100 (Wed, 25 Nov 2015) | 6 lines

PR c++/68385

* tree.c (integer_zerop, integer_onep, integer_each_onep)
(integer_all_onesp, integer_minus_onep, integer_pow2p)
(integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
(real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.

[Bug c++/68368] [6 regression] ICE tree check: expected integer_cst, have nop_expr in decompose, at tree.h:5123

2015-11-26 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68368

chrbr at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|FIXED   |DUPLICATE

--- Comment #8 from chrbr at gcc dot gnu.org ---


*** This bug has been marked as a duplicate of bug 68385 ***

[Bug c++/68385] [6 Regression] ICE building libstdc++ on arm-none-eabi

2015-11-26 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68385

--- Comment #5 from chrbr at gcc dot gnu.org ---
*** Bug 68368 has been marked as a duplicate of this bug. ***

[Bug target/51509] Inefficient neon intrinsic code sequence

2015-11-26 Thread linux at carewolf dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51509

Allan Jensen  changed:

   What|Removed |Added

 CC||linux at carewolf dot com

--- Comment #6 from Allan Jensen  ---
I have run into a similar problem with vld3 and vst4.

uint8x16x3_t tmp = vld3q_u8(src);
vst4q_u8((uint8_t *)dst, {tmp.val[2], tmp.val[1], tmp.val[0], fullVector});

produces:
  70:   4cdf4061ld3 {v1.16b-v3.16b}, [x3], #48
  74:   4e083c04mov x4, v0.d[0]
  78:   4e183c05mov x5, v0.d[1]
  7c:   6f000400mvniv0.4s, #0x0
  80:   4e083c4amov x10, v2.d[0]
  84:   4e183c4bmov x11, v2.d[1]
  88:   aa0403e2mov x2, x4
  8c:   aa0503e1mov x1, x5
  90:   4e083c24mov x4, v1.d[0]
  94:   4e183c25mov x5, v1.d[1]
  98:   a90007e2stp x2, x1, [sp]
  9c:   3d800fe0str q0, [sp,#48]
  a0:   a9012feastp x10, x11, [sp,#16]
  a4:   aa0403e6mov x6, x4
  a8:   a90217e6stp x6, x5, [sp,#32]
  ac:   4c4023e0ld1 {v0.16b-v3.16b}, [sp]
  b0:   4c9fst4 {v0.16b-v3.16b}, [x0], #64


But if I add -fno-split-wide-types it compiles to:
  68:   4cdf4064ld3 {v4.16b-v6.16b}, [x3], #48
  6c:   4f000400moviv0.4s, #0x0
  70:   6f000403mvniv3.4s, #0x0
  74:   4ea51ca1mov v1.16b, v5.16b
  78:   4ea41c82mov v2.16b, v4.16b
  7c:   4c9fst4 {v0.16b-v3.16b}, [x0], #64

This happens with both 4.9 and 5.1 that I have tried.

  1   2   >