[Bug bootstrap/54179] please split insn-emit.c !
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54179 --- Comment #34 from mmokrejs at gmail dot com --- Thank you all. Just to clarify https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54179#c31 , I did not show the Oom error itself nor the cmd killed dut to that but you can see details at https://bugs.gentoo.org/show_bug.cgi?id=909766 . I shouldn't have run just "make" but properly letting bootsrap procedure to continue, which I do not know how to. And that triggered the comparison error I assume. I used to have only 1GB RAM available in the virtual machine btw. and I always had to get around somehow the bootstrapping issue.
[Bug c/54179] please split insn-emit.c !
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54179 mmokrejs at gmail dot com changed: What|Removed |Added CC||mmokrejs at gmail dot com --- Comment #31 from mmokrejs at gmail dot com --- Still happens with gcc-12.3.1_p20230526 on Gentoo Linux on a 2 GB RAM virtual server running out of memory due to -O2 and triggers Oom killer. I tried -O1 but it was not enough. However, -O0 worked for me. The problem is that the bootstrapping check failed, probably because of some differences. /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/./prev-gcc/xg++ -B/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/./prev-gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -nostdinc++ -B/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -isystem /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -isystem /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/include -isystem /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/libstdc++-v3/libsupc++ -L/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -fno-PIE -c -fno-PIE-m64 -pipe -march=x86-64 -O0 -fno-checking -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/. -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/../include -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/../libcpp/include -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/../libcody -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/../libdecnumber -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/../libdecnumber/bid -I../libdecnumber -I/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/gcc/../libbacktrace -o insn-emit.o -MT insn-emit.o -MMD -MP -MF ./.deps/insn-emit.TPo insn-emit.cc make[3]: Entering directory '/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build' rm -f stage_current make[3]: Leaving directory '/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build' Comparing stages 2 and 3 Bootstrap comparison failure! gcc/insn-emit.o differs make[2]: *** [Makefile:24126: compare] Error 1 make[2]: Leaving directory '/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/build'
[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #9 from mmokrejs at gmail dot com --- Thank you, I updated https://wiki.gentoo.org/wiki/GCC_optimization and added the notes on -ftree-vectorize option.
[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #7 from mmokrejs at gmail dot com --- (In reply to Jakub Jelinek from comment #6) > > $ gcc -O3 -march=native stream.c ; objdump -d a.out | grep ymm | wc -l > > 63 > > $ > > Of course, vectorization is only enabled by default for -O3/-Ofast, not at > -O2, for vectorization at -O2 you need to use -O2 -ftree-vectorize. $ gcc -O2 -march=native -ftree-vectorize stream.c ; objdump -d a.out | grep ymm | wc -l 60 $ Ah, thanks. Please update the manpage. It says nothing about the need to use -O3 or -Ofast interacting with -march=native or -mavx or -mavx2. -march=cpu-type Generate instructions for the machine type cpu-type. In contrast to -mtune=cpu-type, which merely tunes the generated code for the specified cpu-type, -march=cpu-type allows GCC to generate code that may not run at all on processors other than the one indicated. Specifying -march=cpu-type implies -mtune=cpu-type. The choices for cpu-type are: native This selects the CPU to generate code for at compilation time by determining the processor type of the compiling machine. Using -march=native enables all instruction subsets supported by the local machine (hence the result might not run on different machines). Using -mtune=native produces code optimized for the local machine under the constraints of the selected instruction set. sandybridge Intel Sandy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES and PCLMUL instruction set support. ivybridge Intel Ivy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL, FSGSBASE, RDRND and F16C instruction set support. haswell Intel Haswell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2 and F16C instruction set support. broadwell Intel Broadwell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX and PREFETCHW instruction set support. These entrie shave no description text at all: -mavx -mno-avx -mavx2 -mno-avx2 -mavx512f -mno-avx512f -mavx512pf -mno-avx512pf -mavx512er -mno-avx512er -mavx512cd -mno-avx512cd There are hardly any links from within the manpage (notably the intel x86/amd64 section) to -ftree-vectorize. -ftree-vectorize Perform vectorization on trees. This flag enables -ftree-loop-vectorize and -ftree-slp-vectorize if not explicitly specified. -ftree-loop-vectorize Perform loop vectorization on trees. This flag is enabled by default at -O3 and when -ftree-vectorize is enabled. -ftree-slp-vectorize Perform basic block vectorization on trees. This flag is enabled by default at -O3 and when -ftree-vectorize is enabled.
[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #5 from mmokrejs at gmail dot com --- (In reply to Jakub Jelinek from comment #4) > As for #c2/#c3, GCC 4.9 is not supported anymore and the dumps are too large > to find out what exactly you mean by efficient and not efficient, both the > ICC and GCC generated assemblies use both %ymm and %xmm registers depending > on what exactly the need. "gcc -march=native" or "g++ march=native" do not insert a single instructing using ymm registers unless -O3 is used. $ gcc -O3 -march=native -mavx2 stream.c ; objdump -d a.out | grep ymm | wc -l 63 $ gcc -O2 -march=native -mavx2 stream.c ; objdump -d a.out | grep ymm | wc -l 0 $ gcc -O2 -march=native stream.c ; objdump -d a.out | grep ymm | wc -l 0 $ gcc -O3 -march=native stream.c ; objdump -d a.out | grep ymm | wc -l 63 $ I am on Gentoo Linux where 5.4.0 is still in testing only, same for 6.3 and 7.1. The 4.9 series is the last which is generally usable.
[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #3 from mmokrejs at gmail dot com --- Weird, why g++ can do the task although probably less efficiently than icc? $ g++ -O3 -march=core-avx-i -mtune=core-avx-i -mavx2 stream.c ; objdump -d a.out | grep ymm stream.c:106:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] "Add: ", "Triad: ", "Dot: "}; ^ stream.c:106:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] stream.c:106:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] stream.c:106:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] stream.c:106:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] 4006ac: c5 fd 28 0d 2c 11 00vmovapd 0x112c(%rip),%ymm1# 4017e0 <_ZL5label+0xa0> 4006b4: c5 fd 28 05 44 11 00vmovapd 0x1144(%rip),%ymm0# 401800 <_ZL5label+0xc0> 4006c0: c5 fd 29 88 80 61 abvmovapd %ymm1,0x4cab6180(%rax) 4006cc: c5 fd 29 80 60 c1 85vmovapd %ymm0,0x2685c160(%rax) 400738: c5 fd 28 01 vmovapd (%rcx),%ymm0 400740: c5 fd 58 c0 vaddpd %ymm0,%ymm0,%ymm0 400744: c5 fd 29 41 e0 vmovapd %ymm0,-0x20(%rcx) 400803: c5 fd 28 15 15 10 00vmovapd 0x1015(%rip),%ymm2# 401820 <_ZL5label+0xe0> 400817: c5 fd 29 95 d0 fd ffvmovapd %ymm2,-0x230(%rbp) 4008d0: c5 fd 28 95 d0 fd ffvmovapd -0x230(%rbp),%ymm2 400908: c5 fd 29 10 vmovapd %ymm2,(%rax) 40091c: c5 fd 29 95 d0 fd ffvmovapd %ymm2,-0x230(%rbp) 40098c: c5 fd 28 95 d0 fd ffvmovapd -0x230(%rbp),%ymm2 4009b8: c5 fd 28 80 80 61 abvmovapd 0x4cab6180(%rax),%ymm0 4009c4: c5 fd 58 80 60 c1 85vaddpd 0x2685c160(%rax),%ymm0,%ymm0 4009cc: c5 fd 29 80 60 21 60vmovapd %ymm0,0x602160(%rax) 4009e3: c5 fd 29 95 d0 fd ffvmovapd %ymm2,-0x230(%rbp) 400a56: c5 fd 28 95 d0 fd ffvmovapd -0x230(%rbp),%ymm2 400a80: c5 ed 59 80 80 c1 85vmulpd 0x2685c180(%rax),%ymm2,%ymm0 400a88: c5 fd 58 80 80 61 abvaddpd 0x4cab6180(%rax),%ymm0,%ymm0 400a94: c5 fd 29 80 60 21 60vmovapd %ymm0,0x602160(%rax) 400aab: c5 fd 29 95 d0 fd ffvmovapd %ymm2,-0x230(%rbp) 400b1e: c5 fd 28 95 d0 fd ffvmovapd -0x230(%rbp),%ymm2 400b77: c5 fd 29 95 d0 fd ffvmovapd %ymm2,-0x230(%rbp) 400bab: c5 fd 28 95 d0 fd ffvmovapd -0x230(%rbp),%ymm2 401006: c4 e3 6d 18 95 28 ffvinsertf128 $0x1,-0xd8(%rbp),%ymm2,%ymm2 401018: c4 e3 7d 18 85 48 ffvinsertf128 $0x1,-0xb8(%rbp),%ymm0,%ymm0 401022: c5 ed 5c 95 10 ff ffvsubpd -0xf0(%rbp),%ymm2,%ymm2 40102a: c5 fd 5c 85 30 ff ffvsubpd -0xd0(%rbp),%ymm0,%ymm0 401032: c5 fd 28 25 66 07 00vmovapd 0x766(%rip),%ymm4# 4017a0 <_ZL5label+0x60> 401044: c5 ed 59 d4 vmulpd %ymm4,%ymm2,%ymm2 401048: c5 fd 59 c4 vmulpd %ymm4,%ymm0,%ymm0 40104c: c5 fd e6 d2 vcvttpd2dq %ymm2,%xmm2 401058: c5 fd e6 c0 vcvttpd2dq %ymm0,%xmm0 40105c: c4 e3 6d 38 d0 01 vinserti128 $0x1,%xmm0,%ymm2,%ymm2 401062: c4 e2 6d 3d d3 vpmaxsd %ymm3,%ymm2,%ymm2 401067: c4 e2 6d 39 15 50 07vpminsd 0x750(%rip),%ymm2,%ymm2 # 4017c0 <_ZL5label+0x80> 401096: c4 e3 75 18 8d 68 ffvinsertf128 $0x1,-0x98(%rbp),%ymm1,%ymm1 4010a4: c5 f5 5c 8d 50 ff ffvsubpd -0xb0(%rbp),%ymm1,%ymm1 4010b7: c5 f5 59 cc vmulpd %ymm4,%ymm1,%ymm1 4010bb: c5 fd e6 c9 vcvttpd2dq %ymm1,%xmm1 4010d3: c4 e3 7d 18 45 88 01vinsertf128 $0x1,-0x78(%rbp),%ymm0,%ymm0 4010da: c5 fd 5c 85 70 ff ffvsubpd -0x90(%rbp),%ymm0,%ymm0 4010e2: c5 fd 59 c4 vmulpd %ymm4,%ymm0,%ymm0 4010e6: c5 fd e6 c0 vcvttpd2dq %ymm0,%xmm0 4010ea: c4 e3 75 38 c0 01 vinserti128 $0x1,%xmm0,%ymm1,%ymm0 4010f5: c4 e2 7d 3d c3 vpmaxsd %ymm3,%ymm0,%ymm0 4010fa: c4 e2 6d 39 c0 vpminsd %ymm0,%ymm2,%ymm0 4010ff: c4 e3 7d 46 c8 01 vperm2i128 $0x1,%ymm0,%ymm0,%ymm1 401105: c4 e2 7d 39 c1 vpminsd %ymm1,%ymm0,%ymm0 40110f: c5 f5 73 d8 08 vpsrldq $0x8,%ymm0,%ymm1 401114: c4 e2 7d 39 c9 vpminsd %ymm1,%ymm0,%ymm1 401119: c5 fd 73 d9 04 vpsrldq $0x4,%ymm1,%ymm0 40111e: c4 e2 75 39 c0 vpminsd %ymm0,%ymm1,%ymm0 4011e0: c4 e2 7d 19 c0 vbroadcastsd %xmm0,%ymm0 4011f0: c5 fd 29 00 vmovapd %ymm0,(%rax) 401218: c5 fd 2
[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 mmokrejs at gmail dot com changed: What|Removed |Added CC||mmokrejs at gmail dot com --- Comment #2 from mmokrejs at gmail dot com --- I see a similar problem with gcc-4.9.6 unable to use 256-bit YMM registers. It only uses 128-bit XMM registers from SSE instructions. Try https://people.eecs.berkeley.edu/~samw/research/code/stream/stream.c $ gcc -march=native -o stream stream.c $ objdump -d stream | grep ymm $ icc does the job properly: $ icc -qopenmp -O3 -xhost stream.c $ objdump -d a.out | grep ymm 401323: c5 fd 10 00 vmovupd (%rax),%ymm0 40132d: c5 fd 10 48 20 vmovupd 0x20(%rax),%ymm1 401332: c5 7d 10 40 40 vmovupd 0x40(%rax),%ymm8 401337: c5 7d 10 48 60 vmovupd 0x60(%rax),%ymm9 40133c: c5 7d 10 1d 3c 65 00vmovupd 0x653c(%rip),%ymm11# 407880 <_IO_stdin_used+0x340> 401344: c5 fd 5c 50 f8 vsubpd -0x8(%rax),%ymm0,%ymm2 401349: c5 f5 5c 58 18 vsubpd 0x18(%rax),%ymm1,%ymm3 40134e: c5 3d 5c 50 38 vsubpd 0x38(%rax),%ymm8,%ymm10 401353: c5 35 5c 60 58 vsubpd 0x58(%rax),%ymm9,%ymm12 401358: c5 a5 59 e2 vmulpd %ymm2,%ymm11,%ymm4 401361: c5 a5 59 f3 vmulpd %ymm3,%ymm11,%ymm6 401365: c4 41 25 59 ea vmulpd %ymm10,%ymm11,%ymm13 40136a: c4 41 25 59 fc vmulpd %ymm12,%ymm11,%ymm15 40136f: c5 fd e6 ec vcvttpd2dq %ymm4,%xmm5 401373: c5 fd e6 fe vcvttpd2dq %ymm6,%xmm7 401377: c4 41 7d e6 f5 vcvttpd2dq %ymm13,%xmm14 40137c: c5 f5 ef c9 vpxor %ymm1,%ymm1,%ymm1 401380: c4 41 7d e6 ef vcvttpd2dq %ymm15,%xmm13 401385: c4 e2 7d 58 e2 vpbroadcastd %xmm2,%ymm4 40139c: c4 e3 55 38 c7 01 vinserti128 $0x1,%xmm7,%ymm5,%ymm0 4013a2: c4 e2 7d 3d d9 vpmaxsd %ymm1,%ymm0,%ymm3 4013a7: c4 e2 65 39 f4 vpminsd %ymm4,%ymm3,%ymm6 4013ac: c4 43 0d 38 fd 01 vinserti128 $0x1,%xmm13,%ymm14,%ymm15 4013b2: c4 e2 05 3d e9 vpmaxsd %ymm1,%ymm15,%ymm5 4013b7: c4 e2 55 39 fe vpminsd %ymm6,%ymm5,%ymm7 4013bc: c4 c3 7d 39 f8 01 vextracti128 $0x1,%ymm7,%xmm8 401caa: c5 fd 57 c0 vxorpd %ymm0,%ymm0,%ymm0 401cc8: c5 fd 10 16 vmovupd (%rsi),%ymm2 401cd0: c5 fd 10 5e 20 vmovupd 0x20(%rsi),%ymm3 401cd5: c5 fd 10 66 40 vmovupd 0x40(%rsi),%ymm4 401cda: c5 fd 10 76 60 vmovupd 0x60(%rsi),%ymm6 401ce7: c4 e2 ed b8 0f vfmadd231pd (%rdi),%ymm2,%ymm1 401cec: c4 e2 e5 b8 47 20 vfmadd231pd 0x20(%rdi),%ymm3,%ymm0 401cf2: c5 dd 59 6f 40 vmulpd 0x40(%rdi),%ymm4,%ymm5 401cf7: c5 cd 59 7f 60 vmulpd 0x60(%rdi),%ymm6,%ymm7 401cfc: c5 d5 58 c9 vaddpd %ymm1,%ymm5,%ymm1 401d00: c5 c5 58 c0 vaddpd %ymm0,%ymm7,%ymm0 401d0d: c5 f5 58 c0 vaddpd %ymm0,%ymm1,%ymm0 401d11: c4 e3 7d 19 c1 01 vextractf128 $0x1,%ymm0,%xmm1 401d6a: c5 fd 10 8c c3 c0 bevmovupd 0x60bec0(%rbx,%rax,8),%ymm1 401d73: c5 f5 59 94 c3 c0 60vmulpd 0x268660c0(%rbx,%rax,8),%ymm1,%ymm2 401d7c: c5 ed 58 c0 vaddpd %ymm0,%ymm2,%ymm0 401d85: c4 e3 7d 19 c1 01 vextractf128 $0x1,%ymm0,%xmm1 401f9b: c4 e2 7d 19 44 24 10vbroadcastsd 0x10(%rsp),%ymm0 401fa2: c5 fd 10 8c d1 c0 bevmovupd 0x60bec0(%rcx,%rdx,8),%ymm1 401fab: c4 e2 fd a8 8c d1 c0vfmadd213pd 0x268660c0(%rcx,%rdx,8),%ymm0,%ymm1 401fb5: c5 fd 2b 8c d1 c0 02vmovntpd %ymm1,0x4cac02c0(%rcx,%rdx,8) 40213b: c5 fd 10 84 d1 c0 60vmovupd 0x268660c0(%rcx,%rdx,8),%ymm0 402144: c5 fd 58 8c d1 c0 bevaddpd 0x60bec0(%rcx,%rdx,8),%ymm0,%ymm1 40214d: c5 fd 2b 8c d1 c0 02vmovntpd %ymm1,0x4cac02c0(%rcx,%rdx,8) 4022dd: c4 e2 7d 19 44 24 10vbroadcastsd 0x10(%rsp),%ymm0 4022e4: c5 fd 2b 84 d1 c0 02vmovntpd %ymm0,0x4cac02c0(%rcx,%rdx,8) 4025c2: c5 fd 10 05 76 52 00vmovupd 0x5276(%rip),%ymm0# 407840 <_IO_stdin_used+0x300> 4025de: c5 fd 59 0e vmulpd (%rsi),%ymm0,%ymm1 4025e2: c5 fd 11 0e vmovupd %ymm1,(%rsi) 402759: c5 fd 10 15 ff 50 00vmovupd 0x50ff(%rip),%ymm2# 407860 <_IO_stdin_used+0x320> 402761: c5 fd 10 0d d7 50 00vmovupd 0x50d7(%rip),%ymm1# 407840 <_IO_stdin_used+0x300> 402769: c5 fd 57 c0 vxorpd %ymm0,%ymm0,%ymm0 40276d: c5 fd 2b 94 f8 c0 60vmovntpd %ymm2,0x268660c0(%rax,%rdi,8) 402776:
[Bug target/36831] sparc-sun-solaris2.6: Bootstrap comparison failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36831 --- Comment #7 from mmokrejs at gmail dot com --- (In reply to mmokrejs from comment #6) > I am on Gentoo Linux but 5.4.0 is nevertheless still unavailable for general > ("stable") users. For a good reason. And as I said, the ABI is not > compatible. I will try to reproduce this on another host with 5.x series. Sorry, ignor ethe baobve, I commented on a wrong bug.
[Bug target/36831] sparc-sun-solaris2.6: Bootstrap comparison failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36831 --- Comment #6 from mmokrejs at gmail dot com --- I am on Gentoo Linux but 5.4.0 is nevertheless still unavailable for general ("stable") users. For a good reason. And as I said, the ABI is not compatible. I will try to reproduce this on another host with 5.x series.
[Bug c++/80391] seamonkey-2.46/mozilla/gfx/2d/DrawTargetTiled.cpp:158:1: internal compiler error: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80391 --- Comment #2 from mmokrejs at gmail dot com --- Hmm, I cannot due to ABI incopmpatibility. However, the other reported also showe 5.2.1 was affected as well.
[Bug c++/80391] New: seamonkey-2.46/mozilla/gfx/2d/DrawTargetTiled.cpp:158:1: internal compiler error: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80391 Bug ID: 80391 Summary: seamonkey-2.46/mozilla/gfx/2d/DrawTargetTiled.cpp:158: 1: internal compiler error: Segmentation fault Product: gcc Version: 4.9.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mmokrejs at gmail dot com Target Milestone: --- Hi, I hit the error: /usr/bin/x86_64-pc-linux-gnu-g++ -std=gnu++11 -o Unified_cpp_gfx_2d0.o -c -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/dist/stl_wrappers -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/dist/system_wrappers -include /scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/config/gcc_hidden.h -DDEBUG=1 -DTRACING=1 -DUSE_SSE2 -DOS_POSIX=1 -DOS_LINUX=1 -DUSE_CAIRO -DMOZ2D_HAS_MOZ_CAIRO -DMOZ_ENABLE_FREETYPE -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/2d -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/gfx/2d -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/ipc/ipdl/_ipdlheaders -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/ipc/chromium/src -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/ipc/glue -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/skia -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/skia/skia/include/config -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/skia/skia/include/core -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/skia/skia/include/gpu -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/skia/skia/include/utils -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/dist/include -I/usr/include/nspr -I/usr/include/nss -fPIC -DMOZILLA_CLIENT -include /scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/mozilla-config.h -MD -MP -MF .deps/Unified_cpp_gfx_2d0.o.pp -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -pipe -maes -mpclmul -mpopcnt -mavx -march=native -mno-avx -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fno-omit-frame-pointer -Wno-error=shadow -I/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/dist/include/cairo -I/usr/include/freetype2 -I/usr/include/freetype2 /scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/gfx/2d/Unified_cpp_gfx_2d0.cpp In file included from /scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/gfx/2d/Unified_cpp_gfx_2d0.cpp:83:0: /scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/2d/DrawTargetTiled.cpp: In member function 'virtual void mozilla::gfx::DrawTargetTiled::PopClip()': /scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/gfx/2d/DrawTargetTiled.cpp:158:1: internal compiler error: Segmentation fault DrawTargetTiled::PopClip() ^ Please submit a full bug report, with preprocessed source if appropriate. See <https://bugs.gentoo.org/> for instructions. make[4]: *** [/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/config/rules.mk:936: Unified_cpp_gfx_2d0.o] Error 1 make[4]: Leaving directory '/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/seamonk/gfx/2d' make[3]: *** [/scratch/var/tmp/portage/www-client/seamonkey-2.46-r1/work/seamonkey-2.46/mozilla/config/recurse.mk:71: gfx/2d/target] Error 2 I see same was already reported here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805616 Do you need more details?
[Bug c/60831] gcc-4.8.2 creates binaries with broken AVX support
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60831 mmokrejs at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from mmokrejs at gmail dot com --- I thought I did. :( Thank you!
[Bug c/60831] New: gcc-4.8.2 creates binaries with broken AVX support
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60831 Bug ID: 60831 Summary: gcc-4.8.2 creates binaries with broken AVX support Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: mmokrejs at gmail dot com Created attachment 32588 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32588&action=edit Original python code Hi, I have a code written in python and converting it to C using cython I can compile it using gcc. When I use -mavx the binary crashes. I will attach all of files. $ cython --embed --no-docstrings -2 PyFloat_crash.py $ gcc -ggdb -pipe -mpclmul -mpopcnt -mavx -march=native -I/usr/include/python2.7 -o PyFloat_crash -lpython2.7 PyFloat_crash.c $ ./PyFloat_crash Illegal instruction (core dumped) $ $ gdb PyFloat_crash ./core GNU gdb (Gentoo 7.6.2 p1) 7.6.2 ... This GDB was configured as "x86_64-pc-linux-gnu". For bug reporting instructions, please see: <http://bugs.gentoo.org/>... Reading symbols from PyFloat_crash...done. [New LWP 21206] warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `./PyFloat_crash'. Program terminated with signal 4, Illegal instruction. #0 0x004021e9 in initPyFloat_crash () at PyFloat_crash.c:910 910 __pyx_t_2 = PyFloat_FromDouble(0.1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} (gdb) where #0 0x004021e9 in initPyFloat_crash () at PyFloat_crash.c:910 #1 0x0040277e in main (argc=1, argv=0x7fff242db938) at PyFloat_crash.c:1040 (gdb) bt full #0 0x004021e9 in initPyFloat_crash () at PyFloat_crash.c:910 __pyx_t_1 = __pyx_t_2 = 0x0 Python Exception There is no member named ma_mask.: __pyx_t_3 = __pyx_t_4 = 0x0 __pyx_lineno = 0 __pyx_filename = 0x0 __pyx_clineno = 0 #1 0x0040277e in main (argc=1, argv=0x7fff242db938) at PyFloat_crash.c:1040 m = 0x0 (gdb) $ gcc -v Using built-in specs. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.2/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.8.2/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.8.2/work/gcc-4.8.2/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.2 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.2 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.2/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.2/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.8.2/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.2 p1.3r1, pie-0.5.8r1' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --enable-lto --without-cloog Thread model: posix gcc version 4.8.2 (Gentoo 4.8.2 p1.3r1, pie-0.5.8r1) $ $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 44 model name : Intel(R) Xeon(R) CPU X5680 @ 3.33GHz stepping: 2 microcode : 0x14 cpu MHz : 3334.000 cache size : 12288 KB physical id : 1 siblings: 6 core id : 10 cpu cores : 6 apicid : 52 initial apicid : 52 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid bogomips: 6649.95 clflush size: 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: If I omit the "-mavx" from gcc arguments, the binary works. $ cython -V Cython version 0.19.1 $
[Bug c/60831] gcc-4.8.2 creates binaries with broken AVX support
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60831 --- Comment #1 from mmokrejs at gmail dot com --- Created attachment 32589 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32589&action=edit Code generated through cython