[Bug fortran/68227] ICE on using variable limit in forall header (gfc_do_allocate)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.