[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #13 from Pierre Ossman --- This was tested using gcc 4.7.2 and gcc 4.5.3.
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #12 from Pierre Ossman --- Created attachment 30420 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30420&action=edit Makefile
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #11 from Pierre Ossman --- Created attachment 30419 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30419&action=edit main.c We've also been hitting this, so here is a reduced test case to provoke the bug. Output in the failing case: test_spans(nspans=36) 101,100 + 1 101,0 + 1 0,100 + 0 Aborted (core dumped) And for a correct run: test_spans(nspans=36) 101,100 + 1 101,100 + 1 101,100 + 1 101,100 + 1 101,101 + 1 101,101 + 1 101,99 + 1 101,99 + 1 101,102 + 1 ...
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #10 from Uros Bizjak 2012-05-16 06:36:27 UTC --- Youo can start from [1], you have a failing output there, just provide some reference input to failing function. [1] https://bugs.freedesktop.org/show_bug.cgi?id=47559#c8
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #9 from Uros Bizjak 2012-05-16 06:33:35 UTC --- (In reply to comment #8) > > I've tried to take the source-file in question (miarc.c) and make something > > self-contained, but I was unable to make it work due to this being an > > internal > > xorg-file, apparently using and depending on internal headers. If you have > > any > > pointers on how to tackle such a situation to convert it to something > > selfcontained I'd be happy to try it out. > > First, prepare some test input and call failing function. Compare its result > with some reference result and abort () if the result is not expected. The > preprocessed file is self-contained, so you could just compile it and link > into > executable. You can obtain reference result by running the function, compiled with non-failing compile flags.
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #8 from Uros Bizjak 2012-05-16 06:30:58 UTC --- (In reply to comment #6) > I've tried to take the source-file in question (miarc.c) and make something > self-contained, but I was unable to make it work due to this being an internal > xorg-file, apparently using and depending on internal headers. If you have any > pointers on how to tackle such a situation to convert it to something > selfcontained I'd be happy to try it out. First, prepare some test input and call failing function. Compare its result with some reference result and abort () if the result is not expected. The preprocessed file is self-contained, so you could just compile it and link into executable. Starting from here, you remove portions of the function that are not needed (i.e. unreachable if branches, switch cases, etc...) for test input. Maybe you could ask Gentoo compiler maintainer for help...
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #7 from Da Fox 2012-05-01 07:54:54 UTC --- (In reply to comment #6) ... > The latest available gcc-version for my distribution (gentoo) appears to be > 4.6.2, which I will try next. This seems to still happen with 4.6.2 at least.
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 Da Fox changed: What|Removed |Added Component|target |c --- Comment #6 from Da Fox 2012-04-25 07:30:27 UTC --- (In reply to comment #5) > BTW: Can you test if this problem is still present in a newer version of the > compiler (i.e. 4.6.3 or 4.7.0)? I've tried to take the source-file in question (miarc.c) and make something self-contained, but I was unable to make it work due to this being an internal xorg-file, apparently using and depending on internal headers. If you have any pointers on how to tackle such a situation to convert it to something selfcontained I'd be happy to try it out. The latest available gcc-version for my distribution (gentoo) appears to be 4.6.2, which I will try next.
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #5 from Uros Bizjak 2012-04-23 15:29:03 UTC --- BTW: Can you test if this problem is still present in a newer version of the compiler (i.e. 4.6.3 or 4.7.0)?
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #4 from Uros Bizjak 2012-04-23 14:50:54 UTC --- Unfortunately, this is a runtime failure, so we will also need a runtime testcase (probably minimized) that fails when compiled with options that expose the bug. In comment #8 of the linked bugreport, you have testing failures, so this is a good starting point to locate the problem.
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #3 from Da Fox 2012-04-23 12:28:06 UTC --- gcc -v output: Using built-in specs. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.6.0/work/gcc-4.6.0/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check --with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --disable-multilib --disable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.0/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.6.0 p1.2, pie-0.4.5' Thread model: posix gcc version 4.6.0 (Gentoo 4.6.0 p1.2, pie-0.4.5)
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #2 from Da Fox 2012-04-23 12:26:53 UTC --- Created attachment 27220 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27220 .i version of miarc.c I think this is the information that was missing: The file in question compiled with CFLAGS="-O3 -pipe -fomit-frame-pointer -fweb -ffast-math -mtune=native -mfpmath=sse" (attached) gcc build options: >>> Compiling source in /var/tmp/portage/sys-devel/gcc-4.6.0/work/gcc-4.6.0 ... * CFLAGS="-march=native -pipe -mtune=native -O2" * CXXFLAGS="-march=native -pipe -mtune=native -O2" * Configuring gcc ... * configuring for GCC_LANG: c,c++,fortran * PREFIX:/usr * BINPATH:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0 * LIBPATH:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0 * DATAPATH:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0 * STDCXX_INCDIR:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/include/g++-v4 * Configuring GCC with: * --prefix=/usr * --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0 * --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/include * --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0 * --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0/man * --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0/info * --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/include/g++-v4 * --host=x86_64-pc-linux-gnu * --build=x86_64-pc-linux-gnu * --disable-altivec * --disable-fixed-point * --with-ppl * --with-cloog * --disable-ppl-version-check * --with-cloog-include=/usr/include/cloog-ppl * --enable-lto * --enable-nls * --without-included-gettext * --with-system-zlib * --disable-werror * --enable-secureplt * --disable-multilib * --disable-libmudflap * --disable-libssp * --enable-libgomp * --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.0/python * --enable-checking=release * --disable-libgcj * --enable-languages=c,c++,fortran * --enable-shared * --enable-threads=posix * --enable-__cxa_atexit * --enable-clocale=gnu * --enable-targets=all * --with-bugurl=http://bugs.gentoo.org/ * --with-pkgversion=Gentoo 4.6.0 p1.2, pie-0.4.5 Compiler does not seem to output anything relevant (no errors, compilation is successful).
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 Richard Guenther changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2012-04-23 Ever Confirmed|0 |1
[Bug c/53083] gcc bug in moving from the SSE registers back onto the heap.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083 --- Comment #1 from Uros Bizjak 2012-04-23 07:55:29 UTC --- (In reply to comment #0) > I additional information is required please let me know. Please provide all necessary information, as outlined in [1]. [1] http://gcc.gnu.org/bugs/#report