[Bug middle-end/43365] [4.5 Regression] Destructor not called when returning in exception handler
--- Comment #7 from ian at gcc dot gnu dot org 2010-06-14 06:57 --- Subject: Bug 43365 Author: ian Date: Mon Jun 14 06:57:36 2010 New Revision: 160704 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160704 Log: Avoid crash when exception landing pad becomes unreachable. Bring over trunk patch for PR 43365. Modified: branches/gccgo/gcc/tree-eh.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43365
[Bug bootstrap/44509] [4.6 Regression] Revision 160626 breaks bootstrap on *-apple-darwin*
--- Comment #17 from jakub at gcc dot gnu dot org 2010-06-14 06:59 --- Created an attachment (id=20906) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20906action=view) gcc46-pr44509.patch Untested patch. -- jakub at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|WAITING |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44509
[Bug target/44532] New: x86-64 unnecessary parameter extension
Source: int f1(short a, int b) { return a * b; } int f2(unsigned short a, int b) { return a * b; } gcc -O3 -fomit-frame-pointer -S paramext.c _f1: LFB0: movl%esi, %eax movswl %di, %edi - imull %edi, %eax ret ... _f2: LFB1: movl%esi, %eax movzwl %di, %edi - imull %edi, %eax ret AFAIK integer parameters should already be extended to int, so those instructions are redundant. llvm doesn't generate them. -- Summary: x86-64 unnecessary parameter extension Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: astrange at ithinksw dot com GCC host triplet: x86_64-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44532
[Bug middle-end/44530] wrong code due to branch optimization
--- Comment #4 from pinskia at gcc dot gnu dot org 2010-06-14 07:35 --- if ((unsigned int)(xCount + 32) 0x8000) Yes even though the comparision is done in an unsigned type, the addition is done in a signed type which means the overflow of that addition is undefined. So changing the code to be: if (((unsigned int)xCount) + 32u 0x8000u) Will fix the issue or use -fwrapv. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44530
[Bug target/44532] x86-64 unnecessary parameter extension
--- Comment #1 from jakub at gcc dot gnu dot org 2010-06-14 08:01 --- tempreg = convert_to_mode (data-nominal_mode, tempreg, unsignedp); if (GET_CODE (tempreg) == SUBREG GET_MODE (tempreg) == data-nominal_mode REG_P (SUBREG_REG (tempreg)) data-nominal_mode == data-passed_mode GET_MODE (SUBREG_REG (tempreg)) == GET_MODE (data-entry_parm) GET_MODE_SIZE (GET_MODE (tempreg)) GET_MODE_SIZE (GET_MODE (data-entry_parm))) { /* The argument is already sign/zero extended, so note it into the subreg. */ SUBREG_PROMOTED_VAR_P (tempreg) = 1; SUBREG_PROMOTED_UNSIGNED_SET (tempreg, unsignedp); } For x86_64 and short/char, all the conditions above are true except that nominal_mode (HImode) != passed_mode (SImode). -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44532
[Bug other/43838] [4.4/4.5/4.6 Regression] Incorrect output from abi::__cxa_demangle
--- Comment #16 from jakub at gcc dot gnu dot org 2010-06-14 08:43 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43838
[Bug lto/44533] New: [4.6 Regression] Revision 160679 miscompiles capacita.f90 with -O3 -finline-limit=600 -flto
On x86_64-apple-darwin10 the polyhedron test capacita.f90 is miscompiled with '-O3 -finline-limit=600 -flto' at revision 160679 (revision 160678 is fine): [macbook] lin/test% gfcp -O3 -finline-limit=600 -flto capacita.f90 [macbook] lin/test% a.out Give: N_x, N_y, GridSize_X, GridSize_Y, DoCircle, UseFFT, UsePreco N_x and N_y give the grid division in x and y-directions and should be powers of 2, DoCircle and UseFFT are T or F (true or false). If DoCircle=T, the case of an ellipse is computed (circle: C = 8*eps0*R, P = 16/3*eps0*R^3), else that of the completely filled grid. UseFFT is for increased speed. Calculating G Transforming G Segmentation fault Backtrace is Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0404 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 a.out 0x00015230 __solv_cap_MOD_fourir2d + 3136 1 a.out 0x0001d580 __solv_cap_MOD_init_solve + 2512 2 a.out 0x0001ddaf MAIN__.2138 + 1647 3 a.out 0x0001e0b1 main + 33 4 a.out 0x00010f24 start + 52 Note that '-fno-tree-vectorize' does not remove the crash, while it does not occur with '-O2 -ftree-vectorize' (nor on powerpc-apple-darwin9 at revision 160686). -- Summary: [4.6 Regression] Revision 160679 miscompiles capacita.f90 with -O3 -finline-limit=600 -flto Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dominiq at lps dot ens dot fr GCC build triplet: x86_64-apple-darwin10 GCC host triplet: x86_64-apple-darwin10 GCC target triplet: x86_64-apple-darwin10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44533
[Bug bootstrap/44426] [4.4/4.5/4.6 Regression] gcc 4.5.0 requires c9x compiler to build
--- Comment #10 from jakub at gcc dot gnu dot org 2010-06-14 08:54 --- In sel_print* case I wonder why it is defined as macros at all, it surely bloats sel-sched* a lot for something that isn't enabled by default (verbose dumps). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44426
[Bug c/44534] New: _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
the avx built-in _builtin_ia32_vextractf128_si256(X,N) acts as if the immediate N was always set to 1. to isolate the problem I compiled 2 programs: --- #include immintrin.h int main() { __m256i c = _mm256_set_epi32(1, 2, 3, 4, 5, 6, 7, 8); __m128i d = (__m128i)__builtin_ia32_vextractf128_si256( (__v8si)c, 1); return 0; } and -- #include immintrin.h int main() { __m256i c = _mm256_set_epi32(1, 2, 3, 4, 5, 6, 7, 8); __m128i d = (__m128i)__builtin_ia32_vextractf128_si256( (__v8si)c, 0); return 0; } with gcc-4.5 pipo0.cpp -mavx -o pipo0 and gc-4.5 pipo1.cpp -mavx -o pipo1 the two binaries generated are identical and both use vextractf128 $0x1,%ymm0,%xmm0 in the assembler output from embroider programs using ouputs were also tested and provide always the ouput 5 6 7 8 for d (never 1 2 3 4) gcc-4.5 -v Using built-in specs. COLLECT_GCC=gcc-4.5 COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.5.1/lto-wrapper Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.5.0-2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,java,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --program-suffix=-4.5 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --with-plugin-ld=ld.gold --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.5/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.5 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.5 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --with-arch-32=i486 --with-tune=generic --enable-checking=yes --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.5.1 20100419 (prerelease) (Debian 4.5.0-2) -- thanks for your attention, and sorry if I missed something J.T. Lapresté -- Summary: _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1. Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jtlapreste at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug c++/44535] New: g++ -O[ 123] generates undefined symbol
g++/trunk/x86/rev.160690 -O0 compile test w/o errors, but with -O[ 123] generates undefined symbol # g++ -O0 -c 2010_06_13.cpp nm -uAC 2010_06_13.o | grep OnProv # g++ -O -c 2010_06_13.cpp nm -uAC 2010_06_13.o | grep OnProv 2010_06_13.o: U FOO::Achar::OnProv() # cat 2010_06_13.cpp namespace FOO { template typename T class A { public: A(); void Enum(); virtual void OnProv() = 0; virtual ~A() { } }; typedef Achar B; templatetypename T inline AT::A() { } templatetypename T inline void AT::Enum () { OnProv (); } } // namespace FOO class C {}; class D: public C, public FOO::B { public: void OnProv() {} }; void aaa() { D x; x.Enum(); } # g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/i686-redhat-linux/4.6.0/lto-wrapper Target: i686-redhat-linux Configured with: ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs : (reconfigured) ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs : (reconfigured) ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs : (reconfigured) ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs : (reconfigured) ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs : (reconfigured) ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs : (reconfigured) ../gcc-current/configure --prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=yes --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux --enable-lto --enable-version-specific-runtime-libs Thread model: posix gcc version 4.6.0 20100613 (experimental) [trunk revision 160690] (GCC) -- Summary: g++ -O[ 123] generates undefined symbol Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dimhen at gmail dot com GCC build triplet: i686-redhat-linux GCC host triplet: i686-redhat-linux GCC target triplet: i686-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44535
[Bug c++/44535] g++ -O[ 123] generates undefined symbol
--- Comment #1 from dimhen at gmail dot com 2010-06-14 10:19 --- simplified testcase FAIl with -O[23] namespace FOO { template typename T class A { public: void Enum(); virtual void OnProv() = 0; virtual ~A() { } }; typedef Achar B; templatetypename T void AT::Enum () { OnProv (); } } // namespace FOO class C {}; class D: public C, public FOO::B { public: void OnProv() {} }; void aaa() { D x; x.Enum(); } -- dimhen at gmail dot com changed: What|Removed |Added CC||dimhen at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44535
[Bug bootstrap/44426] [4.4/4.5/4.6 Regression] gcc 4.5.0 requires c9x compiler to build
--- Comment #11 from jakub at gcc dot gnu dot org 2010-06-14 10:20 --- Patch for sel_print posted: http://gcc.gnu.org/ml/gcc-patches/2010-06/msg01400.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44426
[Bug lto/42776] LTO doesn't work on non-ELF platforms.
--- Comment #50 from davek at gcc dot gnu dot org 2010-06-14 10:38 --- Subject: Bug 42776 Author: davek Date: Mon Jun 14 10:38:18 2010 New Revision: 160722 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160722 Log: ChangeLog: Backport from mainline: 2010-04-27 Dave Korn dave.korn.cyg...@gmail.com PR lto/42776 * configure.ac (--enable-lto): Refactor handling so libelf tests are only performed inside then-clause of ACX_ELF_TARGET_IFELSE, and allow LTO to be explicitly enabled on non-ELF platforms that are known to support it inside else-clause. * configure: Regenerate. gcc/ChangeLog: Backport from mainline: 2010-04-27 Dave Korn dave.korn.cyg...@gmail.com PR lto/42776 * configure.ac (gcc_cv_as_section_has_align): Set if installed binutils supports extended .section directive needed by LTO, or warn if older binutils found. (LTO_BINARY_READER): New AC_SUBST'd variable. (LTO_USE_LIBELF): Likewise. * config.gcc (lto_binary_reader): New target-specific configure variable. * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var. (LTO_USE_LIBELF): Likewise. * configure: Regenerate. * collect2.c (is_elf): Rename from this ... (is_elf_or_coff): ... to this, and recognize and allow i386 COFF object files in addition to ELF-formatted ones. (scan_prog_file): Caller updated. Also allow for LTO info marker symbol to be prefixed or not by an extra underscore. * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H. * config/i386/winnt.c: Also #include lto-streamer.h (i386_pe_asm_named_section): Specify 1-byte section alignment for LTO named sections. (i386_pe_asm_output_aligned_decl_common): Add comment. (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL. gcc/lto/ChangeLog: Backport from mainline: 2010-04-27 Dave Korn dave.korn.cyg...@gmail.com PR lto/42776 * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of hardcoding 'lto-elf.o'. ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'. * lto-coff.h: New file. * lto-coff.c: Likewise. 2010-04-26 Dave Korn dave.korn.cyg...@gmail.com * lto.h (lto_elf_file_open): Rename prototype from this ... (lto_obj_file_open): ... to this. (lto_elf_file_close): Likewise ... (lto_obj_file_close): ... and likewise. (lto_elf_build_section_table): Likewise ... (lto_obj_build_section_table): ... and likewise. (lto_elf_begin_section): Likewise ... (lto_obj_begin_section): ... and likewise. (lto_elf_append_data): Likewise ... (lto_obj_append_data): ... and likewise. (lto_elf_end_section): Likewise ... (lto_obj_end_section): ... and likewise. * lto.c (lto_file_read): Update references to the above. (lto_wpa_write_files): Likewise. (lto_read_all_file_options): Likewise. (read_cgraph_and_symbols): Likewise. * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise. (LANG_HOOKS_APPEND_DATA): Likewise. (LANG_HOOKS_END_SECTION): Likewise. * lto-elf.c (lto_elf_file_open): Rename from this ... (lto_obj_file_open): ... to this, updating any references. (lto_elf_file_close): Likewise ... (lto_obj_file_close): ... and likewise. (lto_elf_build_section_table): Likewise ... (lto_obj_build_section_table): ... and likewise. (lto_elf_begin_section): Likewise ... (lto_obj_begin_section): ... and likewise. (lto_elf_append_data): Likewise ... (lto_obj_append_data): ... and likewise. (lto_elf_end_section): Likewise ... (lto_obj_end_section): ... and likewise. Added: branches/gcc-4_5-branch/gcc/lto/lto-coff.c branches/gcc-4_5-branch/gcc/lto/lto-coff.h Modified: branches/gcc-4_5-branch/ChangeLog branches/gcc-4_5-branch/configure branches/gcc-4_5-branch/configure.ac branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/Makefile.in branches/gcc-4_5-branch/gcc/collect2.c branches/gcc-4_5-branch/gcc/config.gcc branches/gcc-4_5-branch/gcc/config/i386/t-cygming branches/gcc-4_5-branch/gcc/config/i386/winnt.c branches/gcc-4_5-branch/gcc/configure branches/gcc-4_5-branch/gcc/configure.ac branches/gcc-4_5-branch/gcc/lto/ChangeLog branches/gcc-4_5-branch/gcc/lto/Make-lang.in branches/gcc-4_5-branch/gcc/lto/lto-elf.c branches/gcc-4_5-branch/gcc/lto/lto-lang.c branches/gcc-4_5-branch/gcc/lto/lto.c branches/gcc-4_5-branch/gcc/lto/lto.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42776
[Bug bootstrap/44509] [4.6 Regression] Revision 160626 breaks bootstrap on *-apple-darwin*
--- Comment #18 from dominiq at lps dot ens dot fr 2010-06-14 11:15 --- With the patch in comment #17, x86_64-apple-darwin10 bootstrapped without problem. Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44509
[Bug c++/44535] [4.6 Regression] g++ -O[ 23] generates undefined symbol
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-06-14 11:23 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2010-06-14 11:23:28 date|| Summary|g++ -O[ 123] generates |[4.6 Regression] g++ -O[ 23] |undefined symbol|generates undefined symbol Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44535
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|c |target Ever Confirmed|0 |1 GCC target triplet||x86-64-*-*, i?86-*-* Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2010-06-14 11:26:51 date|| Summary||_builtin_ia32_vextractf128_s |_builtin_ia32_vextractf128_s|i256(X,N) acts as if N was |i256(X,N) acts as if N was |always set to 1. |always set to 1.| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug target/44532] x86-64 unnecessary parameter extension
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-06-14 11:30 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC target triplet||x86-64-*-*, i?86-*-* Keywords||missed-optimization Last reconfirmed|-00-00 00:00:00 |2010-06-14 11:30:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44532
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
--- Comment #1 from ubizjak at gmail dot com 2010-06-14 11:35 --- It looks to me that it is cut'n'pasto. All AVX vec_extract_lo_* should have their immediate operand changed to 0x0. -- ubizjak at gmail dot com changed: What|Removed |Added CC||hjl dot tools at gmail dot ||com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug tree-optimization/44507] [4.5/4.6 Regression] vectorization ANDs array elements together incorrectly
--- Comment #9 from irar at gcc dot gnu dot org 2010-06-14 12:22 --- Subject: Bug 44507 Author: irar Date: Mon Jun 14 12:22:13 2010 New Revision: 160727 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160727 Log: PR tree-optimization/44507 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1 to build initial vector for BIT_AND_EXPR. * tree-vect-slp.c (vect_get_constant_vectors): Likewise. Added: trunk/gcc/testsuite/gcc.dg/vect/pr44507.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-loop.c trunk/gcc/tree-vect-slp.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44507
[Bug bootstrap/44509] [4.6 Regression] Revision 160626 breaks bootstrap on *-apple-darwin*
--- Comment #19 from jakub at gcc dot gnu dot org 2010-06-14 12:31 --- Subject: Bug 44509 Author: jakub Date: Mon Jun 14 12:30:29 2010 New Revision: 160729 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160729 Log: PR bootstrap/44509 * c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c. * c-family/c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h. (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers. (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use ggc_strdup instead of xstrdup. * gcc.dg/pr44509.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr44509.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-config-lang.in trunk/gcc/c-family/c-cppbuiltin.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44509
[Bug bootstrap/44509] [4.6 Regression] Revision 160626 breaks bootstrap on *-apple-darwin*
--- Comment #20 from dominiq at lps dot ens dot fr 2010-06-14 12:32 --- Could the patch in comment #17 explain the following failures? FAIL: gcc.dg/torture/builtin-math-5.c -O0 scan-tree-dump-times original cexpf 2 FAIL: gcc.dg/torture/builtin-math-5.c -O0 scan-tree-dump-times original cexp 2 FAIL: gcc.dg/torture/builtin-math-5.c -O0 scan-tree-dump-times original cexpl 2 FAIL: gcc.dg/torture/builtin-math-5.c -O0 scan-tree-dump-times original cpowf 18 FAIL: gcc.dg/torture/builtin-math-5.c -O0 scan-tree-dump-times original cpow 18 FAIL: gcc.dg/torture/builtin-math-5.c -O0 scan-tree-dump-times original cpowl 18 where I get respectively 1 and 17. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44509
[Bug bootstrap/44509] [4.6 Regression] Revision 160626 breaks bootstrap on *-apple-darwin*
--- Comment #21 from jakub at gcc dot gnu dot org 2010-06-14 12:32 --- Fixed, sorry for the breakage. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44509
[Bug tree-optimization/44423] [4.5/4.6 Regression] Massive performance regression in SSE code due to SRA
--- Comment #15 from jamborm at gcc dot gnu dot org 2010-06-14 12:39 --- (In reply to comment #14) SSE performance is fine again, thanks a lot! One more question, if that's OK... Depending on ARRSZ the testcase uses wildly varying amounts of CPU time; it's about half a second for ARRSZ=1024, but almost 10 seconds for ARRSZ=20 on my machine, which is extremely strange because the operation count is the same in both cases. I suspect that something weird is happening with respect to the cache and prefetching. Should I open another PR for this? The generated assembly is not different for the two cases, except that there are much smaller offsets, of course. This means that the lpic and pre1 arrays are much closer to each other which may be something the processor does not like. I find this surprising but unless you can think of a specific missed optimization opportunity (I can't), I don't think it is a PR material. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44423
[Bug tree-optimization/43905] [4.5/4.6 Regression] duplicate __PRETTY_FUNCTION__ symbol for functions differing in const-ness
--- Comment #6 from jamborm at gcc dot gnu dot org 2010-06-14 12:44 --- Patch submitted to the mailing list: http://gcc.gnu.org/ml/gcc-patches/2010-06/msg01146.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43905
[Bug tree-optimization/44423] [4.5/4.6 Regression] Massive performance regression in SSE code due to SRA
--- Comment #16 from martin at mpa-garching dot mpg dot de 2010-06-14 12:46 --- (In reply to comment #15) I have found the problem in the meantime ... it's my mistake, sorry about the noise :( The problem is that I did not explicitly zero the arrays in main(), so they apparently contained NaN or similar nastinesses for the small ARRSZ, and usual numbers for large ARRSZ. Of course the processor chokes on the unusual numbers and takes much longer to execute the code. I'm not sure whether the zeroing should be added for the regression test case ... but since you check for compiler diagnostic and do not try to run the resulting executable that's probably not necessary. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44423
[Bug tree-optimization/44258] [4.5 Regression] possible SRA wrong-code generation.
--- Comment #13 from pluto at agmk dot net 2010-06-14 12:48 --- do you plan to backport this fix to 4.5 branch? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44258
[Bug tree-optimization/44423] [4.5/4.6 Regression] Massive performance regression in SSE code due to SRA
--- Comment #17 from jamborm at gcc dot gnu dot org 2010-06-14 12:50 --- OK, I did not put much effort into my thinking about it :-) Yes, the testcase is fine as it is. I'm not testing the patch on the 4.5 branch and will commit it today if everything goes fine. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44423
[Bug tree-optimization/44258] [4.5 Regression] possible SRA wrong-code generation.
--- Comment #14 from jamborm at gcc dot gnu dot org 2010-06-14 12:51 --- (In reply to comment #13) do you plan to backport this fix to 4.5 branch? Of course, I'm running the bootstrap and testsuite right now. I will commit it today if everything goes fine. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44258
[Bug target/43729] Mach-O LTO support needed for darwin
--- Comment #53 from howarth at nitro dot med dot uc dot edu 2010-06-14 13:14 --- Now that r160722, the COFF lto patches, are committed to gcc 4.5 branch, we are clear to backport r159173 as well for the mach-o patches. I've done this locally and posted the testsuite results at http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg01280.html. These can be improved by backporting the testsuite changes from r159700, r159924 and r159837 to gcc 4.5 branch as well. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729
[Bug tree-optimization/44507] [4.5/4.6 Regression] vectorization ANDs array elements together incorrectly
--- Comment #10 from irar at gcc dot gnu dot org 2010-06-14 13:43 --- Subject: Bug 44507 Author: irar Date: Mon Jun 14 13:43:24 2010 New Revision: 160742 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160742 Log: PR tree-optimization/44507 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1 to build initial vector for BIT_AND_EXPR. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/vect/pr44507.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/ChangeLog branches/gcc-4_5-branch/gcc/tree-vect-loop.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44507
[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants
--- Comment #31 from dodji at gcc dot gnu dot org 2010-06-14 14:13 --- Subject: Re: __extension__ keyword doesn't suppress warning on LL or ULL constants manu at gcc dot gnu dot org gcc-bugzi...@gcc.gnu.org writes: Next stop is to disable this feature by default, and enable it with a -ftrack-macro-expansion flag, and update the regressions tests of the C FE. Great but... you should just prune the output in the general case (extending prune.exp) and only bother to handle the extra output in cases where it makes sense to specifically test it. This is what we do for the inlined from messages and it makes sense to do the same for this kind of message. Indeed. Thanks for the reference to prune.exp. Though, one of the reasons why I want to be able to disable the feature and fall back to the previous behaviour is the memory consumption and speed penalty that *could* arise from the patch. This bug report http://llvm.org/bugs/show_bug.cgi?id=5610 gives an idea of what I am talking about. I agree that I need to make the C++ FE work with the patch before really worrying about this, but I felt I could do the work right now and be done with it. As for prune.exp, I think I will eventually prune at least some parts of the output when time comes. I see now the sense in the column numbers, I think it is the order that confused me (and not seeing the code clearly). I would prefer a different output like: test.c:13:3: in expansion of macro MULT2 test.c:5:14: in expansion of macro SHIFTL test.c:8:3: in expansion of macro OPERATE test.c:2:8: error: invalid operands to binary (have 'double' and 'int') Ah, okay. Thanks for the comment I'll consider doing this when polishing the error messages. But this is bike-shedding at this stage and it is more important to get the internals working. Nah. Quite the contrary. I think this is a valuable comment. BTW, do we also keep the information about the macro arguments? If so, after your patch goes in we could even go as far as to print macro arguments: test.c:13:3: in expansion of macro MULT2 [with A=1.0] test.c:5:14: in expansion of macro SHIFTL [with A=1.0, B=1] test.c:8:3: in expansion of macro OPERATE [with OPRD1=1.0, OPTR=, OPTRD2=1] test.c:2:8: error: invalid operands to binary (have 'double' and 'int') Not yet. We only keep track of the location of the token accross macro expansion. We don't keep track of the the kind of information you are talking about. But I guess this is something we could do. My TODO list is growing :-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7263
[Bug preprocessor/7263] __extension__ keyword doesn't suppress warning on LL or ULL constants
--- Comment #32 from dodji at gcc dot gnu dot org 2010-06-14 14:20 --- Created an attachment (id=20907) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20907action=view) Refreshed version. - Disables the feature by default - Adds a -ftrack-macro-expansion flag to enable the feature Fix a couple of bugs I noticed while trying to make the feature optional Updated the relevant regression tests of the macro expansion patch - Rebased the patch on recent trunk and adapt it to the new directory layout Next stop is the fix the two remaining FIXMEs and make the C++ FE work. -- dodji at gcc dot gnu dot org changed: What|Removed |Added Attachment #20878|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7263
[Bug libgomp/44536] New: OMP: missing error with default(none)
the following should give an error message like: fortcom: Error: test.f90, line 5: Since the OpenMP DEFAULT(NONE) clause applies, the PRIVATE, SHARED, REDUCTION, FIRSTPRIVATE, or LASTPRIVATE attribute must be explicitly specified for every variable. [A] J=A(I) ^ compilation aborted for test.f90 (code 1) gfortran -c -fopenmp test.f90 cat test.f90 SUBROUTINE S1(a,i,j) INTEGER, DIMENSION(:), INTENT(IN) :: a INTEGER :: i,j !$OMP PARALLEL DEFAULT(NONE) SHARED(I,J) J=A(I) !$OMP END PARALLEL END SUBROUTINE -- Summary: OMP: missing error with default(none) Product: gcc Version: 4.4.5 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: libgomp AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44536
[Bug tree-optimization/44508] libgomp.fortran/vla1.f90 ICE on s390
--- Comment #2 from jakub at gcc dot gnu dot org 2010-06-14 15:19 --- Subject: Bug 44508 Author: jakub Date: Mon Jun 14 15:19:04 2010 New Revision: 160749 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160749 Log: PR tree-optimization/44508 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument. * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE, don't eliminate trivially dead stmts. * tree-vrp.c (vrp_finalize): Pass false as last argument to substitute_and_fold. * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument to substitute_and_fold. * tree-ssa-ccp.c (ccp_finalize): Likewise. * gcc.dg/tree-ssa/pr21086.c: Adjust. Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c trunk/gcc/tree-ssa-ccp.c trunk/gcc/tree-ssa-copy.c trunk/gcc/tree-ssa-propagate.c trunk/gcc/tree-ssa-propagate.h trunk/gcc/tree-vrp.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44508
[Bug tree-optimization/44508] libgomp.fortran/vla1.f90 ICE on s390
--- Comment #3 from jakub at gcc dot gnu dot org 2010-06-14 15:24 --- Subject: Bug 44508 Author: jakub Date: Mon Jun 14 15:23:31 2010 New Revision: 160750 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160750 Log: PR tree-optimization/44508 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument. * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE, don't eliminate trivially dead stmts. * tree-vrp.c (vrp_finalize): Pass false as last argument to substitute_and_fold. * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument to substitute_and_fold. * tree-ssa-ccp.c (ccp_finalize): Likewise. * gcc.dg/tree-ssa/pr21086.c: Adjust. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c branches/gcc-4_5-branch/gcc/tree-ssa-ccp.c branches/gcc-4_5-branch/gcc/tree-ssa-copy.c branches/gcc-4_5-branch/gcc/tree-ssa-propagate.c branches/gcc-4_5-branch/gcc/tree-ssa-propagate.h branches/gcc-4_5-branch/gcc/tree-vrp.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44508
[Bug tree-optimization/44508] libgomp.fortran/vla1.f90 ICE on s390
--- Comment #4 from jakub at gcc dot gnu dot org 2010-06-14 15:28 --- Subject: Bug 44508 Author: jakub Date: Mon Jun 14 15:28:00 2010 New Revision: 160752 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160752 Log: PR tree-optimization/44508 * tree-ssa-propagate.c (substitute_and_fold): Don't do DCE when called from tree-vrp.c. * gcc.dg/tree-ssa/pr21086.c: Adjust. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c branches/gcc-4_4-branch/gcc/tree-ssa-propagate.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44508
[Bug c/44537] New: gcc produces bad MIPS jumps (in large C files)
The assembler instructions gcc generates for a 'goto' statement only respect the low 16 bits of the destination address by default (or in when using PIC in general). This causes the program to jump to the wrong location and soon thereafter segfault. The -mno-explicit-relocs seems to work around this problem, but is no solution for a PIC compilation. This problem appears in both: Using built-in specs. Target: mips-unknown-linux-gnu Configured with: ../gcc/configure --prefix=/home/terpstra/gcc.bin --enable-languages=c Thread model: posix gcc version 4.4.4 (GCC) and: Using built-in specs. Target: mips-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-3' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --disable-libssp --enable-targets=all --enable-checking=release --build=mips-linux-gnu --host=mips-linux-gnu --target=mips-linux-gnu Thread model: posix gcc version 4.4.4 (Debian 4.4.4-3) However, I've been having related problems since as far back as gcc-3.4 (at least). The gcc-snapshot in debian also does not resolve this issue. Sometimes different compiler versions and/or optimization flags cause compilation to succeed. I presume this is because the jump offsets fit into 16 bits with different optimization choices. I've seen a related problem where gcc -fPIC creates invalid assembler that with 'branch out of range' .s files. However, first I'll see if this bug being fixed resolves the other. I've included an example C program which can produce the buggy assembler. Compile with: gcc -std=gnu99 -O0 -fno-common -fno-strict-aliasing -fomit-frame-pointer -w -S mlyacc.6.preprocessed-nolines.c -g -o bug.s The problem assembler comes from the goto on line 2928: goto leaveChunk; ... when tracing with gdb execution should resume on line 33861, however it instead jumps to line 2749: Inspecting the generated assembler: .loc 1 2928 0 .setnoat lw $1,%got($L894)($28) nop addiu $1,$1,%lo($L894) jr $1 ... it is easy to see that the correct label (L894) is used as destination. However, only the low 16 bits of the address are used. When compiled with -mno-explicit-relocs, the assembler reads as: .loc 1 2928 0 .setnoat la $1,$L894 # jr $1 ... which works. Modifying the -mexplicit-relocs version (gcc default) to use 'la' instead of the PIC %got results in correct program execution. -- Summary: gcc produces bad MIPS jumps (in large C files) Product: gcc Version: 4.4.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wesley at terpstra dot ca GCC build triplet: mips-unknown-linux-gnu GCC host triplet: mips-unknown-linux-gnu GCC target triplet: mips-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44537
[Bug c/44537] gcc produces bad MIPS jumps (in large C files)
--- Comment #1 from wesley at terpstra dot ca 2010-06-14 15:53 --- Created an attachment (id=20908) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20908action=view) Pre-processed example file with bad branches. Compile as described in the initial bug report. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44537
[Bug tree-optimization/44508] libgomp.fortran/vla1.f90 ICE on s390
--- Comment #5 from jakub at gcc dot gnu dot org 2010-06-14 15:53 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44508
[Bug bootstrap/44426] [4.4/4.5/4.6 Regression] gcc 4.5.0 requires c9x compiler to build
--- Comment #12 from jakub at gcc dot gnu dot org 2010-06-14 15:54 --- Subject: Bug 44426 Author: jakub Date: Mon Jun 14 15:53:38 2010 New Revision: 160754 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160754 Log: PR bootstrap/44426 * tree.h (build_call_expr): Don't define as vararg macro, instead add a prototype. * builtins.c (build_call_nofold): Remove. (expand_builtin_int_roundingfn, expand_builtin_pow, expand_builtin_mempcpy_args, expand_builtin_stpcpy, expand_builtin_memset_args, expand_builtin_strcmp, expand_builtin_strncmp, expand_builtin_memory_chk): Use build_call_nofold_loc instead of build_call_nofold. (build_call_expr): New function. Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/tree.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44426
[Bug bootstrap/44426] [4.4/4.5/4.6 Regression] gcc 4.5.0 requires c9x compiler to build
--- Comment #13 from jakub at gcc dot gnu dot org 2010-06-14 16:01 --- Subject: Bug 44426 Author: jakub Date: Mon Jun 14 16:00:39 2010 New Revision: 160755 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160755 Log: PR bootstrap/44426 * tree.h (build_call_expr): Don't define as vararg macro, instead add a prototype. * builtins.c (build_call_nofold): Remove. (expand_builtin_int_roundingfn, expand_builtin_pow, expand_builtin_mempcpy_args, expand_builtin_stpcpy, expand_builtin_memset_args, expand_builtin_strcmp, expand_builtin_strncmp, expand_builtin_memory_chk): Use build_call_nofold_loc instead of build_call_nofold. (build_call_expr): New function. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/builtins.c branches/gcc-4_5-branch/gcc/tree.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44426
[Bug testsuite/44538] New: [4.5/4.6 regression] PR43949 fix caused gcc.dg/vect/slp-perm-{5,6}.c to fail
Since the PR43949 fix was backported to 4_5-branch I'm seeing FAIL: gcc.dg/vect/slp-perm-5.c scan-tree-dump-times vect vectorized 1 loops 1 FAIL: gcc.dg/vect/slp-perm-6.c scan-tree-dump-times vect vectorized 1 loops 1 in testsuite results on powerpc64-linux. They also fail on trunk since PR43949 was fixed there. Before the PR43949 fix we had one vectorized 1 loops message in slp-perm-5: fgrep 'vectorized 1 loops' slp-perm-5.c.110t.vect slp-perm-5.c:24: note: vectorized 1 loops in function. but after the fix we have two: fgrep 'vectorized 1 loops' slp-perm-5.c.110t.vect slp-perm-5.c:24: note: vectorized 1 loops in function. slp-perm-5.c:47: note: vectorized 1 loops in function. Since scan-tree-dump-times .. 1 .. expects exactly one such message, the test case is now considered to have failed. Perhaps artificially prevent the other loop from ever being vectorized? -- Summary: [4.5/4.6 regression] PR43949 fix caused gcc.dg/vect/slp- perm-{5,6}.c to fail Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mikpe at it dot uu dot se GCC build triplet: powerpc64-unknown-linux-gnu GCC host triplet: powerpc64-unknown-linux-gnu GCC target triplet: powerpc64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44538
[Bug target/44537] gcc produces bad MIPS jumps (in large C files)
--- Comment #2 from pinskia at gcc dot gnu dot org 2010-06-14 16:34 --- What version of as are you using? Because the assembler does some optimizations/changes the load address and it looks like rather an assembler issue rather than a compiler one. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Component|c |target http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44537
[Bug c/44537] gcc produces bad MIPS jumps (in large C files)
--- Comment #3 from wesley at terpstra dot ca 2010-06-14 16:40 --- (sid)terps...@gabrielli:~/mlton/mlton-20100608$ as -v GNU assembler version 2.20.1 (mips-linux-gnu) using BFD version (GNU Binutils for Debian) 2.20.1-system.20100303 ... is the %got($L894) supposed to cover the case where the label is not in the same high 16-bits as the start of the text section? -- wesley at terpstra dot ca changed: What|Removed |Added Component|target |c http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44537
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
--- Comment #2 from hjl dot tools at gmail dot com 2010-06-14 17:05 --- A patch is posted at http://gcc.gnu.org/ml/gcc-patches/2010-06/msg01443.html -- hjl dot tools at gmail dot com changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2010- ||06/msg01443.html Target Milestone|--- |4.4.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug target/44537] gcc produces bad MIPS jumps (in large C files)
--- Comment #4 from wesley at terpstra dot ca 2010-06-14 17:22 --- Created an attachment (id=20909) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20909action=view) Libraries needed to demonstrate the problem in a linked program To be able to run the complete program: gcc -std=gnu99 -mno-explicit-relocs -O0 -g -w -fno-strict-aliasing mlyacc.6.preprocessed-nolines.c link.a -lgmp -lm -o mlyacc.good gcc -std=gnu99 -O0 -g -w -fno-strict-aliasing mlyacc.6.preprocessed-nolines.c link.a -lgmp -lm -o mlyacc.bad ... you need gmp 4.3.x to link it (which I imagine all gcc developers have). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44537
[Bug target/44537] gcc produces bad MIPS jumps (in large C files)
--- Comment #5 from wesley at terpstra dot ca 2010-06-14 17:25 --- In case it is a binutils problem, I've attached a '.a' file sufficient to fully link the program. To get to the problem jump is pretty easy: gdb ./mlyacc.bad break Chunk6 run s hold-down enter OUTPUT: 2926 nextFun = 2736; (gdb) 2928 goto leaveChunk; (gdb) Program received signal SIGSEGV, Segmentation fault. 0x2aaad880 in ?? () from /lib/ld.so.1 ./mlyacc.good says: too many files Usage: mlyacc.good file.grm (of course it does a lot more if provided a .grm file) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44537
[Bug bootstrap/44455] GCC fails to build if MPFR 3.0.0 (Release Candidate) is used
--- Comment #2 from nightstrike at gmail dot com 2010-06-14 17:35 --- I can confirm this as a valid bug, but I don't have the bugzilla permissions to do so. Can someone update this to New? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
--- Comment #3 from hjl at gcc dot gnu dot org 2010-06-14 17:44 --- Subject: Bug 44534 Author: hjl Date: Mon Jun 14 17:44:29 2010 New Revision: 160756 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160756 Log: Replace 0x1 with 0x0 in AVX vec_extract_lo_* patterns. gcc/ 2010-06-14 H.J. Lu hongjiu...@intel.com PR target/44534 * config/i386/sse.md (vec_extract_lo_mode): Replace 0x1 with 0x0. (vec_extract_lo_v16hi): Likewise. (vec_extract_lo_v32qi): Likewise. gcc/testsuite/ 2010-06-14 H.J. Lu hongjiu...@intel.com PR target/44534 * gcc.target/i386/avx-vextractf128-256-3.c: New. * gcc.target/i386/avx-vextractf128-256-4.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c trunk/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/sse.md trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug tree-optimization/44539] New: [4.6 Regression] ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol
Command line: $ gcc -O[12] -ftracer -freorder-blocks testcase.c It doesn't crash when -fno-ipa-pure-const is supplied. Compiler output: $ gcc -O1 -ftracer -freorder-blocks testcase.c testcase.c: In function 'foo': testcase.c:21:6: error: type mismatch between an SSA_NAME and its symbol testcase.c:21:6: error: in statement # .MEM_5 = VDEF .MEM_7 noret1 (); testcase.c:21:6: internal compiler error: verify_ssa failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. Tested revisions: r160687 - crash (+rtl,df checking) r160527 - crash (+rtl,df checking) r159696 - OK -- Summary: [4.6 Regression] ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44539
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
--- Comment #4 from hjl at gcc dot gnu dot org 2010-06-14 17:46 --- Subject: Bug 44534 Author: hjl Date: Mon Jun 14 17:46:12 2010 New Revision: 160757 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160757 Log: Replace 0x1 with 0x0 in AVX vec_extract_lo_* patterns. gcc/ 2010-06-14 H.J. Lu hongjiu...@intel.com Backport from mainline 2010-06-14 H.J. Lu hongjiu...@intel.com PR target/44534 * config/i386/sse.md (vec_extract_lo_mode): Replace 0x1 with 0x0. (vec_extract_lo_v16hi): Likewise. (vec_extract_lo_v32qi): Likewise. gcc/testsuite/ 2010-06-14 H.J. Lu hongjiu...@intel.com Backport from mainline 2010-06-14 H.J. Lu hongjiu...@intel.com PR target/44534 * gcc.target/i386/avx-vextractf128-256-3.c: New. * gcc.target/i386/avx-vextractf128-256-4.c: Likewise. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c branches/gcc-4_5-branch/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config/i386/sse.md branches/gcc-4_5-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug tree-optimization/44539] [4.6 Regression] ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol
--- Comment #1 from zsojka at seznam dot cz 2010-06-14 17:48 --- Created an attachment (id=20910) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20910action=view) reduced testcase (from gcc/lto-wrapper.c) Command line: $ gcc -O1 -ftracer -freorder-blocks pr44539.c Bootstrap with BOOT_CFLAGS=-O2 -ftracer probably fails. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44539
[Bug bootstrap/44455] GCC fails to build if MPFR 3.0.0 (Release Candidate) is used
--- Comment #3 from froydnj at gcc dot gnu dot org 2010-06-14 17:51 --- Switched to NEW for NightStrike. -- froydnj at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-06-14 17:51:22 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
[Bug c++/44540] New: [4.6 Regression] ICE: in add_substitution, at cp/mangle.c:386 with -fkeep-inline-functions
Command line: $ g++ g++.dg/other/canon-33194.C -fkeep-inline-functions Compiler output: $ g++ g++.dg/other/canon-33194.C -fkeep-inline-functions /mnt/svn/gcc-trunk/gcc/testsuite/g++.dg/other/canon-33194.C: In member function 'void dwflpp::translate_location()': /mnt/svn/gcc-trunk/gcc/testsuite/g++.dg/other/canon-33194.C:2:6: internal compiler error: in add_substitution, at cp/mangle.c:386 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. Tested revisions: r160687 - crash r159696 - crash r158969 - OK 4.5 r158978 - OK -- Summary: [4.6 Regression] ICE: in add_substitution, at cp/mangle.c:386 with -fkeep-inline-functions Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44540
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
--- Comment #5 from hjl at gcc dot gnu dot org 2010-06-14 18:07 --- Subject: Bug 44534 Author: hjl Date: Mon Jun 14 18:07:13 2010 New Revision: 160758 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160758 Log: Replace 0x1 with 0x0 in AVX vec_extract_lo_* patterns. gcc/ 2010-06-14 H.J. Lu hongjiu...@intel.com Backport from mainline 2010-06-14 H.J. Lu hongjiu...@intel.com PR target/44534 * config/i386/sse.md (vec_extract_lo_mode): Replace 0x1 with 0x0. (vec_extract_lo_v16hi): Likewise. (vec_extract_lo_v32qi): Likewise. gcc/testsuite/ 2010-06-14 H.J. Lu hongjiu...@intel.com Backport from mainline 2010-06-14 H.J. Lu hongjiu...@intel.com PR target/44534 * gcc.target/i386/avx-vextractf128-256-3.c: New. * gcc.target/i386/avx-vextractf128-256-4.c: Likewise. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-3.c branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/avx-vextractf128-256-4.c Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/i386/sse.md branches/gcc-4_4-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug target/44534] _builtin_ia32_vextractf128_si256(X,N) acts as if N was always set to 1.
--- Comment #6 from hjl dot tools at gmail dot com 2010-06-14 18:09 --- Fixed. -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44534
[Bug tree-optimization/44503] control flow in the middle of basic block with -fprefetch-loop-arrays
--- Comment #3 from changpeng dot fang at amd dot com 2010-06-14 18:28 --- Actually, the prefetching is for the following loop: for (i = 0; i p[2]; i++) q[i] = 0; I do not understand why unrolling of this loop affects other part of the program that has longjmp. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44503
[Bug tree-optimization/44493] [4.6 Regression] ACATS cxg1004 unhandled expression in get_expr_operands at tree-ssa-operands.c:1020
--- Comment #3 from ebotcazou at gcc dot gnu dot org 2010-06-14 18:55 --- Presumably. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2010- ||06/msg01263.html Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44493
[Bug c++/44540] [4.6 Regression] ICE: in add_substitution, at cp/mangle.c:386 with -fkeep-inline-functions
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44540
[Bug tree-optimization/44539] [4.6 Regression] ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44539
[Bug testsuite/44538] [4.5/4.6 regression] PR43949 fix caused gcc.dg/vect/slp-perm-{5,6}.c to fail
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-06-14 19:02 --- Confirmed. Initialization loops should get asm(); markers. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-06-14 19:02:32 date|| Target Milestone|--- |4.5.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44538
[Bug tree-optimization/44507] [4.5/4.6 Regression] vectorization ANDs array elements together incorrectly
--- Comment #11 from rguenth at gcc dot gnu dot org 2010-06-14 19:03 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Known to fail||4.5.0 Known to work|4.4.3 |4.4.3 4.5.1 Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44507
[Bug debug/43656] -fcompare-debug failure with -O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 43656 Author: aoliva Date: Mon Jun 14 19:18:04 2010 New Revision: 160761 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160761 Log: PR debug/43656 * haifa-sched.c (setup_insn_reg_pressure_info, update_register_pressure): Reject debug insns. (ready_sort): Don't setup reg pressure for debug insns. (schedule_insn): Don't update reg pressure for debug insns. Modified: trunk/gcc/ChangeLog trunk/gcc/haifa-sched.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43656
[Bug debug/43650] -fcompare-debug failure with -O2 -fpeel-loops -fgraphite-identity
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 43650 Author: aoliva Date: Mon Jun 14 19:18:18 2010 New Revision: 160762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160762 Log: PR debug/43650 PR debug/44181 PR debug/44247 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip debug stmts. (canonicalize_loop_ivs): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43650
[Bug debug/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 44181 Author: aoliva Date: Mon Jun 14 19:18:18 2010 New Revision: 160762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160762 Log: PR debug/43650 PR debug/44181 PR debug/44247 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip debug stmts. (canonicalize_loop_ivs): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug debug/44247] -fcompare-debug failure with -O1 -fgraphite-identity
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 44247 Author: aoliva Date: Mon Jun 14 19:18:18 2010 New Revision: 160762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160762 Log: PR debug/43650 PR debug/44181 PR debug/44247 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip debug stmts. (canonicalize_loop_ivs): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44247
[Bug debug/43656] -fcompare-debug failure with -O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity
--- Comment #9 from aoliva at gcc dot gnu dot org 2010-06-14 19:19 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43656
[Bug debug/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-06-14 19:22 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug c++/44540] [4.6 Regression] ICE: in add_substitution, at cp/mangle.c:386 with -fkeep-inline-functions
--- Comment #1 from hjl dot tools at gmail dot com 2010-06-14 21:33 --- It is caused by revision 159596: http://gcc.gnu.org/ml/gcc-cvs/2010-05/msg00649.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||jason at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44540
[Bug tree-optimization/44539] [4.6 Regression] ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol
--- Comment #2 from hjl dot tools at gmail dot com 2010-06-14 21:39 --- It is caused by revision 160124: http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg00036.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-06-14 21:39:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44539
[Bug tree-optimization/44503] control flow in the middle of basic block with -fprefetch-loop-arrays
--- Comment #4 from changpeng dot fang at amd dot com 2010-06-14 22:22 --- There is nothing wrong in the prefetch itself. The problem is __builtin_prefetch call used for prefetch instruction. Whenever, there is a non-local lable in the current function, the __builtin_prefetch inserted will be considered as a control flow statement: is_ctrl_altering_stmt (gimple t) { /* A non-pure/const call alters flow control if the current function has nonlocal labels. */ if (!(flags (ECF_CONST | ECF_PURE)) cfun-has_nonlocal_label) { return true; ... } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44503
[Bug target/44532] x86-64 unnecessary parameter extension
--- Comment #3 from hjl dot tools at gmail dot com 2010-06-15 00:57 --- We should consider: 1. The x86-64 psABI doesn't say how char/short should be extended as function parameters. 2. Gcc may not touch upper bits, PR 42324. 3. Gcc never depends on the upper bits which are properly extended in function parameters. 4. Icc may not touch the upper bits in function parameters on stack. 5. For a function without proper prototype, caller may not properly extend function parameters. I think the current way is safer. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44532
[Bug lto/44248] -fcompare-debug failure with -flto/-fwhopr -g
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-06-15 02:48 --- Mine -- aoliva at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |aoliva at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-06-15 02:48:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44248
[Bug lto/44248] -fcompare-debug failure with -flto/-fwhopr -g
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-06-15 02:51 --- Created an attachment (id=20911) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20911action=view) Patch that fixes the problem Testing this now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44248
[Bug middle-end/43740] [4.5/4.6 Regression] FAIL: gcc.dg/tree-ssa/20031015-1.c (internal compiler error)
--- Comment #8 from danglin at gcc dot gnu dot org 2010-06-15 03:35 --- Things appear to go wrong in the loop2_invariant pass. Prior to this pass, the 'f' flag is not set in the rtx for ivtmp.314. The first occurence is here: (insn 1154 1153 1155 103 ../../gcc/gcc/gimple-pretty-print.c:1212 (set (reg/f:DI 274 [ ivtmp.314 ]) (plus:DI (reg/f:DI 274 [ ivtmp.314 ]) (const_int 8 [0x8]))) 160 {*pa.md:4941} (nil)) Setting the 'f' flag allows insn 1208 to be substituted in in insn 1209: (insn 1208 1207 1209 110 ../../gcc/gcc/gimple.h:1643 (set (reg/f:DI 1179) (plus:DI (reg:DI 1178) (reg/f:DI 274 [ ivtmp.314 ]))) 160 {*pa.md:4941} (expr_list:REG_DEAD (reg:DI 1178) (nil))) (insn 1209 1208 1210 110 ../../gcc/gcc/gimple.h:1643 (set (reg/f:DI 337 [ D.3525 9 ]) (mem/f:DI (reg/f:DI 1179) [6 S8 A64])) 120 {*pa.md:4101} (expr_list:REG_ DEAD (reg/f:DI 1179) (nil))) So, eventually, we end up with: (insn 1209 8953 8954 ../../gcc/gcc/gimple.h:1643 (set (reg/f:DI 25 %r25 [orig:33 7 D.35259 ] [337]) (mem/f:DI (plus:DI (reg:DI 28 %r28 [1178]) (reg/f:DI 11 %r11 [orig:274 ivtmp.314 ] [274])) [6 S8 A64])) 120 {*pa.md:4101} (expr_list:REG_DEAD (reg:DI 28 %r28 [1178]) (nil))) In expand, we had the following define for ivtmp.314: dump_gimple_stmt (struct pretty_printer * buffer, union gimple_statement_d * gs, int spc, int flags) { long unsigned int ivtmp.314; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43740