[Bug other/81146] Wine 2.10 cannot be compiled with -flto

2017-06-20 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81146

--- Comment #1 from Artem S. Tashkinov  ---
When running with `make -j4` that's what I see first:

gcc -o widl client.o expr.o hash.o header.o proxy.o register.o server.o
typegen.o typelib.o \
  typetree.o utils.o widl.o write_msft.o parser.tab.o parser.yy.o
../../libs/port/libwine_port.a \
  ../../libs/wpp/libwpp.a -m32 -Wl,-O1 -Wl,--hash-style=gnu -flto
/tmp/ccmagxOP.ltrans8.ltrans.o: In function `spawn':
:(.text+0x1029): undefined reference to `_spawnvp'
collect2: error: ld returned 1 exit status
Makefile:235: recipe for target 'winebuild' failed
make[1]: *** [winebuild] Error 1
make[1]: Leaving directory '/tmp/wine-2.10/tools/winebuild'
Makefile:20130: recipe for target 'tools/winebuild' failed
make: *** [tools/winebuild] Error 2
make[1]: Leaving directory '/tmp/wine-2.10/tools/winedump'
/tmp/ccjKNKbe.ltrans17.ltrans.o: In function `main':
:(.text.startup+0x47a): undefined reference to
`wpp_add_include_path'
:(.text.startup+0x4b9): undefined reference to
`wpp_add_cmdline_define'
:(.text.startup+0x652): undefined reference to
`wpp_add_include_path'
:(.text.startup+0x7a5): undefined reference to `wpp_set_debug'
:(.text.startup+0x890): undefined reference to `wpp_add_define'
:(.text.startup+0x8a4): undefined reference to `wpp_add_define'
:(.text.startup+0x976): undefined reference to `wpp_parse'
:(.text.startup+0xc34): undefined reference to `wpp_add_define'
:(.text.startup+0xd13): undefined reference to `wpp_parse'
/tmp/ccjKNKbe.ltrans0.ltrans.o: In function `parser_parse':
:(.text+0x15fc): undefined reference to `wpp_find_include'
:(.text+0x4d60): undefined reference to `wpp_parse'
:(.text+0x4ead): undefined reference to `wpp_find_include'
collect2: error: ld returned 1 exit status
Makefile:324: recipe for target 'widl' failed
make[1]: *** [widl] Error 1
make[1]: Leaving directory '/tmp/wine-2.10/tools/widl'
Makefile:20109: recipe for target 'tools/widl' failed
make: *** [tools/widl] Error 2

[Bug other/81146] New: Wine 2.10 cannot be compiled with -flto

2017-06-20 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81146

Bug ID: 81146
   Summary: Wine 2.10 cannot be compiled with -flto
   Product: gcc
   Version: 6.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

I'm trying to compile Wine 2.10 with GCC 6.3.1 for the i686 target and I
cannot:

... skipped ...
gcc -c -o sfnt2fon.o sfnt2fon.c -I. -I../../include -I/usr/include/freetype2
-I/usr/include/libpng16 \
  -D__WINESRC__ -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement
-Wempty-body \
  -Wignored-qualifiers -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op
\
  -fno-omit-frame-pointer -O2 -march=pentium-m -m32 -pipe -flto -D__i386__
gcc -o sfnt2fon sfnt2fon.o ../../libs/port/libwine_port.a -lfreetype -m32
-Wl,-O1 -Wl,--hash-style=gnu -flto
/tmp/ccgeEnUu.ltrans0.ltrans.o: In function `main':
:(.text.startup+0x2c1): undefined reference to `wine_cp_get_table'
:(.text.startup+0x2e3): undefined reference to `wine_cp_get_table'
collect2: error: ld returned 1 exit status
Makefile:179: recipe for target 'sfnt2fon' failed
make[1]: *** [sfnt2fon] Error 1
make[1]: Leaving directory '/tmp/wine-2.10/tools/sfnt2fon'
Makefile:20099: recipe for target 'tools/sfnt2fon' failed
make: *** [tools/sfnt2fon] Error 2

These two commands were used before running ./configure && make
export CFLAGS="-O2 -march=pentium-m -m32 -pipe -flto"
export LDFLAGS="-m32 -Wl,-O1 -Wl,--hash-style=gnu -flto"

Of course I might be doing something wrong. In that case I'm sorry.

Without -flto everything works fine.

[Bug rtl-optimization/78911] [5/6 Regression] Infinite loop at -O2/O3 optimization levels while trying to compile server.c from Wine-2.0-rc2

2017-06-20 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78911

--- Comment #15 from Artem S. Tashkinov  ---
Strangely, this bug is still reproducible with GCC 6.3.1 and Wine 2.10.

[Bug middle-end/78911] Infinite loop while trying to compile server.c from Wine-2.0-rc2

2016-12-23 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78911

--- Comment #1 from Artem S. Tashkinov  ---
Update:

various -march variants have no effect.

-O3 : still hangs

-Os : compiles

[Bug c/78911] New: Infinite loop while trying to compile server.c from Wine-2.0-rc2

2016-12-23 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78911

Bug ID: 78911
   Summary: Infinite loop while trying to compile server.c from
Wine-2.0-rc2
   Product: gcc
   Version: 6.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

Created attachment 40408
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40408=edit
Sources

gcc -c -o server.o server.c -I. -I../../include -D__WINESRC__ -D_NTSYSTEM_
-D_REENTRANT -fPIC -Wall \
  -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body
-Wignored-qualifiers \
  -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits
-Wunused-but-set-parameter -Wvla \
  -Wwrite-strings -Wpointer-arith -Wlogical-op -fno-omit-frame-pointer -O2
-march=pentium-m -m32 -pipe -D__i386__

gcc --version
gcc (GCC) 6.2.1 20160916 (Red Hat 6.2.1-2)

gcc -c -o server.o server.c -I. -I../../include -D__WINESRC__ -D_NTSYSTEM_
-D_REENTRANT -fPIC -Wall \
>   -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body 
> -Wignored-qualifiers \
>   -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits 
> -Wunused-but-set-parameter -Wvla \
>   -Wwrite-strings -Wpointer-arith -Wlogical-op -fno-omit-frame-pointer -O2 
> -march=pentium-m -m32 -pipe -D__i386__ -v -save-temps

gcc: warning: -pipe ignored because -save-temps specified
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared
--enable-threads=posix --enable-checking=release --enable-multilib
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-id
--with-linker-hash-style=gnu --enable-plugin --enable-initfini-array
--disable-libgcj --with-isl --enable-libmpx --enable-gnu-indirect-function
--with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 6.2.1 20160916 (Red Hat 6.2.1-2) (GCC) 
COLLECT_GCC_OPTIONS='-c' '-o' 'server.o' '-I' '.' '-I' '../../include' '-D'
'__WINESRC__' '-D' '_NTSYSTEM_' '-D' '_REENTRANT' '-fPIC' '-Wall' '-pipe'
'-fno-strict-aliasing' '-Wdeclaration-after-statement' '-Wempty-body'
'-Wignored-qualifiers' '-Wshift-overflow=2' '-Wstrict-prototypes'
'-Wtype-limits' '-Wunused-but-set-parameter' '-Wvla' '-Wwrite-strings'
'-Wpointer-arith' '-Wlogical-op' '-fno-omit-frame-pointer' '-O2'
'-march=pentium-m' '-m32' '-pipe' '-D' '__i386__' '-v' '-save-temps'
 /usr/libexec/gcc/x86_64-redhat-linux/6.2.1/cc1 -E -quiet -v -I . -I
../../include -imultilib 32 -D __WINESRC__ -D _NTSYSTEM_ -D _REENTRANT -D
__i386__ server.c -march=pentium-m -m32 -Wall -Wdeclaration-after-statement
-Wempty-body -Wignored-qualifiers -Wshift-overflow=2 -Wstrict-prototypes
-Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith
-Wlogical-op -fPIC -fno-strict-aliasing -fno-omit-frame-pointer -O2
-fpch-preprocess -o server.i
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-redhat-linux/6.2.1/include-fixed"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-redhat-linux/6.2.1/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../include
 /usr/lib/gcc/x86_64-redhat-linux/6.2.1/include
 /usr/local/include
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-c' '-o' 'server.o' '-I' '.' '-I' '../../include' '-D'
'__WINESRC__' '-D' '_NTSYSTEM_' '-D' '_REENTRANT' '-fPIC' '-Wall' '-pipe'
'-fno-strict-aliasing' '-Wdeclaration-after-statement' '-Wempty-body'
'-Wignored-qualifiers' '-Wshift-overflow=2' '-Wstrict-prototypes'
'-Wtype-limits' '-Wunused-but-set-parameter' '-Wvla' '-Wwrite-strings'
'-Wpointer-arith' '-Wlogical-op' '-fno-omit-frame-pointer' '-O2'
'-march=pentium-m' '-m32' '-pipe' '-D' '__i386__' '-v' '-save-temps'
 /usr/libexec/gcc/x86_64-redhat-linux/6.2.1/cc1 -fpreprocessed server.i -quiet
-dumpbase server.c -march=pentium-m -m32 -auxbase-strip server.o -O2 -Wall
-Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers
-Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter
-Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -version -fPIC
-fno-strict-aliasing -fno-omit-frame-pointer -o server.s
GNU C11 (GCC) version 6.2.1 20160916 (Red Hat 6.2.1-2) (x86_64-redhat-linux)
compiled by GNU C version 6.2.1 20160916 (Red Hat 6.2.1-2), GMP version
6.1.1, MPFR version 3.1.4, MPC version 1.0.2, isl version 0.14 or 0.13
warning: MPFR header version 3.1.4 differs from library version 3.1.5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C11 (GCC) vers

[Bug middle-end/78406] Crafty v23.4 is 20% slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78406

--- Comment #2 from Artem S. Tashkinov  ---
(In reply to Markus Trippelsdorf from comment #1)
> Artem, please don't open a new bug for every phoronix benchmark where gcc
> appears to be slower than clang.
> 
> First of all there are existing bug report for many of the issues.
> And secondly phoronix is famous for its bogus benchmark numbers, 
> so please take them with a big grain of salt.

I'm terribly sorry. Still there are no obvious duplicates for any of the
recently reported bugs.

I don't pay attention when one compiler is 10%, give or take, faster than
another. However this recent test shows some major differences so I was worried
that maybe GCC 6.2.0 is falling behind.

[Bug c/78406] New: Crafty v23.4 is 20% slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78406

Bug ID: 78406
   Summary: Crafty v23.4 is 20% slower under GCC 6.2 than under
Clang 3.9
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

http://www.phoronix.com/scan.php?page=article=gcc-clang-kblclear=4

GCC 6.2.0 - 95 seconds
Clang 3.9.0 - 78 seconds

GCC options: -lstdc++ -lm

CPU: Kaby Lake 7200U (the same CPU core as Sandy Bridge)

[Bug c/78405] New: OpenSSL v1.0.1g RSA 4096 test is 20% slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78405

Bug ID: 78405
   Summary: OpenSSL v1.0.1g RSA 4096 test is 20% slower under GCC
6.2 than under Clang 3.9
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

http://www.phoronix.com/scan.php?page=article=gcc-clang-kblclear=4

GCC 6.2.0 - 243
Clang 3.9.0 - 289

GCC options: -m64 -O3 -lssl -lcrypto -ldl

CPU: Kaby Lake 7200U (the same CPU core as Sandy Bridge)

[Bug c++/78404] New: SciMark v2.0 Sparse Matrix Multiply test is 20% slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78404

Bug ID: 78404
   Summary: SciMark v2.0 Sparse Matrix Multiply test is 20% slower
under GCC 6.2 than under Clang 3.9
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

As per
http://www.phoronix.com/scan.php?page=article=gcc-clang-kblclear=2

GCC 6.2.0 - 1835
Clang 3.9.0 - 2204

g++ options: -O3 -march=native

CPU: Kaby Lake 7200U (the same CPU core as Sandy Bridge)

[Bug c++/78403] New: SciMark v2.0 Jacobi Successive Over-Relaxation test is 30% slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78403

Bug ID: 78403
   Summary: SciMark v2.0 Jacobi Successive Over-Relaxation test is
30% slower under GCC 6.2 than under Clang 3.9
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

As per
http://www.phoronix.com/scan.php?page=article=gcc-clang-kblclear=2

GCC 6.2.0 - 875
Clang 3.9.0 - 1162

g++ options: -O3 -march=native

CPU: Kaby Lake 7200U (the same CPU core as Sandy Bridge)

[Bug c++/78402] New: SciMark v2.0 Dense LU Matrix Factorization test runs more than 2 times slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78402

Bug ID: 78402
   Summary: SciMark v2.0  Dense LU Matrix Factorization test runs
more than 2 times slower under GCC 6.2 than under
Clang 3.9
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

As per
http://www.phoronix.com/scan.php?page=article=gcc-clang-kblclear=2

GCC 6.2.0 - 1834
Clang 3.9.0 - 4165

g++ options: -O3 -march=native

CPU: Kaby Lake 7200U (the same CPU core as Sandy Bridge)

[Bug c++/78401] New: SciMark v2.0 Composite test runs 1,5 times slower under GCC 6.2 than under Clang 3.9

2016-11-17 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78401

Bug ID: 78401
   Summary: SciMark v2.0 Composite test runs 1,5 times slower
under GCC 6.2 than under Clang 3.9
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

As per
http://www.phoronix.com/scan.php?page=article=gcc-clang-kblclear=2

GCC 6.2.0 - 1057
Clang 3.9.0 - 1603

g++ options: -O3 -march=native

CPU: Kaby Lake 7200U (the same CPU core as Sandy Bridge)

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-09-06 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #46 from Artem S. Tashkinov  ---
(In reply to PeteVine from comment #44)
> In case I was a little unclear, the board freezes, not the binary.

Looks like GCC optimizes the output so much, the board cannot cope with such a
perfect code. ;-)

Jokes aside, I tend to believe that it's either a bug in the kernel or board
components.

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-09-06 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

Artem S. Tashkinov  changed:

   What|Removed |Added

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

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-11 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #31 from Artem S. Tashkinov  ---
(In reply to Andreas Schwab from comment #30)
> /daten/aranym/gcc/gcc-20160811/Build/gcc/testsuite/g++/../../libgcov.
> a(_gcov_time_profiler.o): In function `__gcov_time_profiler_atomic':
> /daten/aranym/gcc/gcc-20160811/Build/m68k-linux/libgcc/../../../libgcc/
> libgcov-profiler.c:352: undefined reference to `__atomic_fetch_add_8'
> collect2: error: ld returned 1 exit status
> compiler exited with status 1
> FAIL: g++.dg/other/pr55650.C  -std=gnu++98 (test for excess errors)

-march=i686 (or higher) should help but it certainly warrants some attention.

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-10 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #29 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #28)
> Fixed on trunk.

Thanks!

Will GCC 6.1.1 include these patches?

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-09 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #26 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #24)
> > Wonderful! What are the chances of this patch being merged with GCC 4.9.x?
> 
> Any, because 4.9 was closed last week and there's not going to be any
> release.
> If you are interested, I can back-port patches to both 5 and 6 branches?

Only if it's relatively straightforward and fast for you. Since you're such a
prolific bug solver, the project will benefit a lot more if you keep on solving
new unresolved bugs, instead of backporting them. So, suit yourself. And thank
you very much!

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-08 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #23 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #22)
> Sure, as Nathan suggested, we'll select the proper default value according
> to -pthread argument.

Wonderful! What are the chances of this patch being merged with GCC 4.9.x?

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-08 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #21 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #20)
> > Do I understand the patch correctly that it requires
> > "-fprofile-update=atomic" option in order to eliminate this bug?
> 
> Exactly, I hope I'll be able to merge the whole patchset (5) to mainline
> soon.

What's the rationale behind this decision? This looks a bit counter intuitive
and counter productive. People just enable profiling and don't think twice
about extra requirements it might ensue.

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-08 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #19 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #18)
> Ok, problem is that various value profilers are not updated atomically,
> fixed in:
> https://gcc.gnu.org/ml/gcc-patches/2016-08/msg00600.html

Thank you!

Do I understand the patch correctly that it requires "-fprofile-update=atomic"
option in order to eliminate this bug?

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-05 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #16 from Artem S. Tashkinov  ---
Created attachment 39059
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39059=edit
unrarsrc-5.4.4 + profile data

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-05 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #15 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #13)
> Ok, I'll try to reproduce, but I would need:
> 
> 1) echo ""> /tmp/ff.c && gcc -march=native /tmp/ff.c -c -v

Done.

> 2) please upload somewhere a sample rar archive which you use for training
> run

https://bit.ly/2az6QHV

> 3) command line passed to ./unrar binary (are you using multiple threads?)
> 
> Then it should be hopefully reproducible.

./unrar t -inul /tmp/Rar.testarchive5.rar
./unrar t -inul /tmp/Rar.testarchive.rar

Just these two commands. Nothing else.

Here are GCC 6.1.0 results:

blake2s.cpp: In function ‘void blake2s_update(blake2s_state*, const byte*,
size_t)’:
blake2s.cpp:138:40: error: corrupted value profile: value profile counter
(11420699 out of 11426898) inconsistent with basic-block count (11501625)
   memcpy( S->buf + left, in, fill ); // Fill buffer
^
blake2s.cpp:162:49: error: corrupted value profile: value profile counter
(11501951 out of 11566282) inconsistent with basic-block count (11518351)
   memcpy( S->buf + left, in, (size_t)inlen );
 ^
make: *** [blake2s.o] Error 1
make: *** Waiting for unfinished jobs

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-05 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #14 from Artem S. Tashkinov  ---
Created attachment 39058
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39058=edit
gcc -march=native /tmp/ff.c -c -v

[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-08-05 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #12 from Artem S. Tashkinov  ---
(In reply to Martin Liška from comment #11)
> I've just verified that GCC 5.3.1 and GCC 6.1.1 and latest trunk work fine
> (x86_64-linux-gnu). I built the binary and unrar a rar archive.
> 
> Can you please re-try that?

Comment 7.

[Bug middle-end/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-03-10 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #9 from Artem S. Tashkinov  ---
Tow more errors for the same sources:

threadpool.cpp: In member function ‘bool
ThreadPool::GetQueuedTask(ThreadPool::QueueEntry*)’:
threadpool.cpp:213:1: error: corrupted profile info: profile data is not
flow-consistent
 }
 ^
threadpool.cpp:213:1: error: corrupted profile info: number of executions for
edge 7-11 thought to be -23
threadpool.cpp:213:1: error: corrupted profile info: number of executions for
edge 7-8 thought to be 93128
makefile:110: recipe for target 'threadpool.o' failed






unpack.cpp: In member function ‘bool Unpack::ReadTables(BitInput&,
UnpackBlockHeader&, UnpackBlockTables&)’:
unpack.cpp:350:1: error: corrupted profile info: profile data is not
flow-consistent
 }
 ^
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
7-66 thought to be 12
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
7-5 thought to be -12
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
14-15 thought to be -19
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
14-16 thought to be 10447
unpack.cpp:350:1: error: corrupted profile info: number of iterations for basic
block 15 thought to be -19
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
15-24 thought to be -19
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
41-42 thought to be 184976
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
41-26 thought to be -38846
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
44-46 thought to be 1905937
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
44-45 thought to be -2633
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
55-57 thought to be 2567166
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
55-56 thought to be -2937
unpack.cpp: In member function ‘void Unpack::UnpackDecode(UnpackThreadData&)’:
unpack.cpp:350:1: error: corrupted profile info: profile data is not
flow-consistent
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
15-59 thought to be 22934224
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
15-16 thought to be -22914989
unpack.cpp:350:1: error: corrupted profile info: number of iterations for basic
block 16 thought to be -22888703
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
16-17 thought to be 26397
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
16-18 thought to be -22915100
unpack.cpp:350:1: error: corrupted profile info: number of iterations for basic
block 18 thought to be -22890122
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
18-20 thought to be -22890122
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
36-37 thought to be 28405926
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
36-45 thought to be -867648
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
55-56 thought to be 6025631
unpack.cpp:350:1: error: corrupted profile info: number of executions for edge
55-11 thought to be -6475
makefile:110: recipe for target 'unpack.o' failed

[Bug middle-end/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-03-10 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

Artem S. Tashkinov  changed:

   What|Removed |Added

Summary|error: corrupted value  |Broken profiling for unrar
   |profile: value profile  |sources: error: corrupted
   |counter (X out of Y)|value profile: value
   |inconsistent with   |profile counter (X out of
   |basic-block count   |Y) inconsistent with
   ||basic-block count

--- Comment #8 from Artem S. Tashkinov  ---
Should I reproduce this bug in GCC 6.x as well or at least someone will take a
look at it?

[Bug middle-end/58306] error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-03-10 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

Artem S. Tashkinov  changed:

   What|Removed |Added

   Host||x86_64 i686
Version|5.0 |5.3.1
  Known to fail||4.7.3, 4.8.5, 4.9.4, 5.2.1,
   ||5.3.1
   Severity|normal  |major

[Bug middle-end/58306] error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2016-03-10 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #7 from Artem S. Tashkinov  ---
Affects GCC 5.3.1 as well.

[Bug c++/69564] [5/6 Regression] lto and/or C++ make scimark2 LU slower

2016-02-27 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69564

--- Comment #15 from Artem S. Tashkinov  ---
Is this the same bug?

https://www.phoronix.com/scan.php?page=article=ubuntu-1604-compilers=2

In Dense LU Matrix Factorization GCC 5.3.1/6.0 is more than 2 times slower than
Clang.

G++ options: -O3 -march=native
CPU: Xeon E3-1280 v5

[Bug gcov-profile/69004] Building t-engine on ARM fails during -fprofile-use stage

2015-12-23 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69004

Artem S. Tashkinov  changed:

   What|Removed |Added

 CC||t.artem at mailcity dot com

--- Comment #3 from Artem S. Tashkinov  ---
(In reply to Richard Earnshaw from comment #2)
> To make progress on this we're going to need a test-case.
> 
> I think it should be sufficient if you can provide:
> 
> - The profile data
> - Preprocessed source for the file that crashes during profile annotation.
> 
> It may be possible to do some reduction on the source file, but it still
> needs to show the same error (that probably means the whole function that's
> causing the fault will need to be left intact).

Well, great, bug 58306 has been there for two years already with zero feedback
from developers.

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

2015-10-28 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68128

--- Comment #2 from Artem S. Tashkinov  ---
(In reply to Richard Biener from comment #1)
> Not very much information (compile flags?)

CPU: Intel Xeon E5-2687W v3 (
http://ark.intel.com/products/81909/Intel-Xeon-Processor-E5-2687W-v3-25M-Cache-3_10-GHz
)

GCC Flags: (CXX) g++ options: -lm -lpthread -lgomp -ffast-math -fopenmp

Something tells me some other GCC flags were used but the benchmarker hasn't
yet replied to my question.


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

2015-10-28 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68128

Bug ID: 68128
   Summary: A huge regression in Parboil v2.5 OpenMP CUTCP test
(2.5 times lower performance)
   Product: gcc
   Version: 5.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

According to Phoronix,
http://www.phoronix.com/scan.php?page=article=fedora-2023-bench=4 ,
for Parboil v2.5 OpenMP CUTCP test GCC in Fedora 22/23 produces the code which
runs 2.5 times slower than the code produced by Fedora 20.

Fedora 20: GCC 4.8.2 (good performance)
Fedora 21: GCC 4.9.1 (good performance)
Fedora 22: GCC 5.1.1 with patches (huge regression)
Fedora 23: GCC 5.1.1 with even more patches (huge regression)


[Bug preprocessor/66322] New: Linus Torvalds: -Wswitch-bool produces dubious warnings, fails to notice really bad things

2015-05-28 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66322

Bug ID: 66322
   Summary: Linus Torvalds: -Wswitch-bool produces dubious
warnings, fails to notice really bad things
   Product: gcc
   Version: 5.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com
  Target Milestone: ---

From: https://lkml.org/lkml/2015/5/27/941

Btw, I'd actually like to see (possibly optionally) a warning for enum
types there too. Exactly because *type* based warnings very much make
sense, regardless of number of cases.

For example, try this:

#include stdbool.h
#include stdio.h

enum a { one, two };
int t(bool b, enum a e)
{
switch (b) {
case true:
printf(No arguments\n);
/* fallthrough */
case false:
printf(\n);
}
switch (e) {
case 0:
printf(one);
break;
case two:
printf(two);
break;
}
return 0;
}
and I'd argue that gcc-5.1 warns about TOTALLY THE WRONG THING.

It does that *stupid* warning:

warning: switch condition has boolean value [-Wswitch-bool]

which is just idiotic and wrong.

The case statements are clearly boolean, there is absolutely nothing
wrong with that switch, and a compiler that warns about it is just
being f*cking moronic.

In contrast, that second switch() statement with the case 0: is
actually something that might well be worth warning for. I'd argue
that the code would clearly be more legible if it used case one:
instead.

So the new warning in gcc-5 seems to be just stupid. In general,
warnings that encourage you to write bad code are stupid. The above

switch (boolean) {
case true:
is *good* code, while the gcc documentation suggests that you should
cast it to int in order to avoid the warning, but anybody who
actually thinks that

switch ((int)boolean) {
switch 1:
is better, clearly has absolutely zero taste and is just objectively wrong.

Really. A warning where the very *documentation* tells you to do
stupid things is stupid.


[Bug middle-end/58306] error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2015-04-18 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #5 from Artem S. Tashkinov t.artem at mailcity dot com ---
Created attachment 35355
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35355action=edit
Sources and Makefile (run make to reproduce)

GCC 5.0.1 RC2 is also affected:

g++  -O3 -march=native -Wno-attributes -fno-tree-vectorize -fprofile-use
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c hash.cpp
blake2s.cpp: In function ‘void blake2s_update(blake2s_state*, const byte*,
size_t)’:
blake2s.cpp:138:40: error: corrupted value profile: value profile counter
(10976192 out of 10966245) inconsistent with basic-block count (10996457)
   memcpy( S-buf + left, in, fill ); // Fill buffer
^
blake2s.cpp:162:49: error: corrupted value profile: value profile counter
(10915050 out of 10973342) inconsistent with basic-block count (10932972)
   memcpy( S-buf + left, in, (size_t)inlen );
 ^
make: *** [blake2s.o] Error 1
make: *** Waiting for unfinished jobs

[Bug middle-end/58306] error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2015-02-16 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #3 from Artem S. Tashkinov t.artem at mailcity dot com ---
This bug affects GCC 4.5.4 as well. I guess the bug is no longer relevant since
both these GCC releases are deprecated and unsupported.


[Bug middle-end/58306] error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2015-02-16 Thread t.artem at mailcity dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #4 from Artem S. Tashkinov t.artem at mailcity dot com ---
Created attachment 34783
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34783action=edit
Sources and Makefile (run make to reproduce)

This bug affects GCC 4.9.2 too! (I'm on i686):

blake2s.cpp: In function ‘void blake2s_update(blake2s_state*, const byte*,
size_t)’:
blake2s.cpp:138:40: error: corrupted value profile: value profile counter
(11286702 out of 11276532) inconsistent with basic-block count (9452310)
   memcpy( S-buf + left, in, fill ); // Fill buffer
^
blake2s.cpp:162:49: error: corrupted value profile: value profile counter
(11504160 out of 11557346) inconsistent with basic-block count (11155414)
   memcpy( S-buf + left, in, (size_t)inlen );
 ^
make: *** [blake2s.o] Error 1

[Bug c++/58306] New: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2013-09-03 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

Bug ID: 58306
   Summary: error: corrupted value profile: value profile counter
(X out of Y) inconsistent with basic-block count
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: t.artem at mailcity dot com

Created attachment 30744
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30744action=edit
Sources + profile info

blake2s.cpp: In function ‘void blake2s_update(blake2s_state*, const byte*,
size_t)’:
blake2s.cpp:133:40: error: corrupted value profile: value profile counter
(11354724 out of 11329053) inconsistent with basic-block count (9600416)
blake2s.cpp:157:49: error: corrupted value profile: value profile counter
(11204032 out of 11277067) inconsistent with basic-block count (10940610)
make: *** [blake2s.o] Error 1
make: *** Waiting for unfinished jobs

CPU: Intel Core i5 2500
GCC: 4.7.3
ARC: i686

Makefile is included (just run make to see the error).

[Bug c++/58306] error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count

2013-09-03 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306

--- Comment #2 from Artem S. Tashkinov t.artem at mailcity dot com ---
(In reply to Paolo Carlini from comment #1)
 Doesn't look like a C++ front-end issue.

Surely, but I had to choose something not knowing what to choose.


[Bug tree-optimization/54073] [4.7/4.8 Regression] SciMark Monte Carlo test performance has seriously decreased in recent GCC releases

2012-11-13 Thread t.artem at mailcity dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54073



--- Comment #9 from Artem S. Tashkinov t.artem at mailcity dot com 2012-11-13 
15:06:25 UTC ---

(In reply to comment #8)

 The attached proof of concept patch attempts to just restore the 4.6 and

 earlier behavior by allowing in all comparisons.  Of course perhaps it might 
 be

 possible it needs better tuning than that, I meant it just as a start for

 discussions.



The results look terrific, I hope this patch will be merged ASAP.


[Bug tree-optimization/54135] New: Dhrystone 2 test performance has seriously decreased in recent GCC releases

2012-07-31 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54135

 Bug #: 54135
   Summary: Dhrystone 2 test performance has seriously decreased
in recent GCC releases
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: t.ar...@mailcity.com


According to Phoronix Test Suite 4, Dhrystone 2 test from BYTE Unix Benchmark
has become significantly slower in recent GCC releases.

GCC 4.4.6 ~ 28 000 000 marks
GCC 4.7.1 ~ 23 000 000 marks

I.e. ~ 22% slower.

Presumably the following GCC flags were used: -O2 -march=native

Hardware platform: x86-64, Intel Core i7 3960X

Benchmark sources: http://www.tux.org/~mayer/linux/bmark.html

Test results:
http://openbenchmarking.org/prospect/1207296-SU-ARCHLINUX98/eeca68961a90e60898a774766ed28402c20eea75


[Bug tree-optimization/54073] New: SciMark Monte Carlo test performance has seriously decreased in recent GCC releases

2012-07-23 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54073

 Bug #: 54073
   Summary: SciMark Monte Carlo test performance has seriously
decreased in recent GCC releases
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: t.ar...@mailcity.com


Created attachment 27860
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27860
Sci Mark Monte Carlo test

On an Intel Core i7 CPU (see the attached screenshot):

GCC 4.2.x - 380
GCC 4.7.x - 265

i.e. 44% slower.

SciMark 2.0 sources can be fetched here:
http://math.nist.gov/scimark2/download_c.html


[Bug tree-optimization/54073] SciMark Monte Carlo test performance has seriously decreased in recent GCC releases

2012-07-23 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54073

--- Comment #1 from Artem S. Tashkinov t.artem at mailcity dot com 2012-07-23 
15:43:50 UTC ---
The results are obtained from here:

http://openbenchmarking.org/result/1207077-SU-GCCPERFOR59

Benchmarking of GCC 4.2 through GCC 4.8 when building the compiler the same and
setting CFLAGS/CXXFLAGS of -O3 and -march=native prior to test installation and
execution. Benchmarking for a future article on Phoronix.com by Michael
Larabel. Testing on an Intel Core i7 and AMD Opteron 2384 when using the 64-bit
(x86_64 target) build of Ubuntu Linux.

The CPU is:

Nehalem microarchitecture, Clarksfield (45 nm), Intel® Core™ i7-720QM
Processor (6M Cache, 1.60 GHz)

http://ark.intel.com/products/43122/Intel-Core-i7-720QM-Processor-%286M-Cache-1_60-GHz%29


[Bug lto/47916] New: Using -flto leads to halved performance of unrar unarchiver

2011-02-27 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47916

   Summary: Using -flto leads to halved performance of unrar
unarchiver
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: t.ar...@mailcity.com


Created attachment 23483
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23483
unrar sources

Using the last released GCC snapshot (gcc-4.6-20110226) and the following
compilation flags performance halves.

GCC flags used:

CXXFLAGS=-O2 -march=i686 -mtune=generic [-flto|]
LDFLAGS=[-flto|]

Execution times:



With -flto:

time ./unrar t -inul testarchive.rar

real0m33.496s
user0m33.171s
sys 0m0.140s




Without -flto:

time ./unrar t -inul testarchive.rar

real0m16.326s
user0m16.242s
sys 0m0.067s

___

This bug will probably attract zero attention from GCC developers but since
-flto is not meant to behave such badly I'm posting it.

You can produce a rar archive using Rar for Linux
(http://rarlabs.com/download.htm):

rar a -m5 -mdG -r -s archive.name.rar file1 file2 file3 ... etc.


[Bug lto/47916] Using -flto leads to halved performance of unrar unarchiver

2011-02-27 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47916

Artem S. Tashkinov t.artem at mailcity dot com changed:

   What|Removed |Added

   Keywords||lto, missed-optimization
 Target||i686-pc-linux-gnu
   Host||i686-pc-linux-gnu

--- Comment #1 from Artem S. Tashkinov t.artem at mailcity dot com 2011-02-27 
19:37:02 UTC ---
I'm not sure about missed-optimization keyword, so feel free to remove it if it
doesn't fit this bug.

GCC 4.5.2 produces the similar results, so it's not a regression.


[Bug lto/47916] Using -flto leads to halved performance of unrar unarchiver

2011-02-27 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47916

Artem S. Tashkinov t.artem at mailcity dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID

--- Comment #3 from Artem S. Tashkinov t.artem at mailcity dot com 2011-02-27 
20:57:51 UTC ---
My bad!

export LDFLAGS=-O2 -march=i686 -mtune=generic -flto

has solved the problem.

However the performance gain from -flto is still negative (0.5%) :)


[Bug lto/47916] Using -flto leads to halved performance of unrar unarchiver

2011-02-27 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47916

--- Comment #5 from Artem S. Tashkinov t.artem at mailcity dot com 2011-02-27 
21:06:04 UTC ---
Thanks for the explanation!

I'm not sure if it's worth opening a new bug report, but GCC crashes when I try
to use -fprofile-generate/-fprofile-use together with -flto:

g++ -o unrar -O3 -march=core2 -fomit-frame-pointer -fprofile-use -flto rar.o
strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o filefn.o
filcreat.o archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o
rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o
ulinks.o errhnd.o rarvm.o rijndael.o getbits.o sha1.o extinfo.o extract.o
volume.o list.o find.o unpack.o cmddata.o filestr.o recvol.o rs.o scantree.o
In file included from :43:0:
unpack.cpp: In member function ‘Unpack29’:
unpack.cpp:202:6: internal compiler error: in duplicate_loop_to_header_edge, at
cfgloopmanip.c:1115
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

At first I built unrar using:
CXXFLAGS=LDFLAGS=-O3 -march=core2 -fomit-frame-pointer -fprofile-generate -flto 

then I made a testrun of unrar, then erased object files, then tried to compile
it again using:

CXXFLAGS=LDFLAGS=-O3 -march=core2 -fomit-frame-pointer -fprofile-use -flto


[Bug lto/47916] Using -flto leads to halved performance of unrar unarchiver

2011-02-27 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47916

--- Comment #7 from Artem S. Tashkinov t.artem at mailcity dot com 2011-02-27 
23:26:52 UTC ---
 That should work.  The error is a sanity check that profile information
 is sane.

I don't get you :( It seems like you say two opposite things.


[Bug target/40454] [4.4 regression] zlib is about 20% slower when compiled with GCC 4.4.1

2011-01-31 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40454

--- Comment #17 from Artem S. Tashkinov t.artem at mailcity dot com 
2011-01-31 21:46:29 UTC ---
At least on i686 platform the difference is marginal (GCC flags: -O2
-march=pentium-m -fomit-frame-pointer, Intel Core Gen 2 CPU):

GCC 3.4.6
real0m15.859s
user0m15.662s
sys 0m0.177s

GCC 4.5.2
real0m16.147s
user0m15.939s
sys 0m0.187s

I'm compressing a 400MB TAR archive containing miscellaneous binaries and
documentation. So the issue is m68060 specific.


[Bug rtl-optimization/40838] gcc shouldn't assume that the stack is aligned

2011-01-18 Thread t.artem at mailcity dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838

--- Comment #85 from Artem S. Tashkinov t.artem at mailcity dot com 
2011-01-18 21:02:43 UTC ---
Am I the only one who thinks this bug should be nominated as the first priority
GCC 4.6.0 bug?

I don't really care if the fix would be backported to 4.5.x or 4.4.x releases,
but at least it would be better to have it fixed for GCC 4.6.0.