[Bug bootstrap/54179] please split insn-emit.c !

2023-07-07 Thread mmokrejs at gmail dot com via Gcc-bugs
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 !

2023-07-06 Thread mmokrejs at gmail dot com via Gcc-bugs
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

2017-05-17 Thread mmokrejs at gmail dot com
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

2017-05-17 Thread mmokrejs at gmail dot com
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

2017-05-17 Thread mmokrejs at gmail dot com
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

2017-05-11 Thread mmokrejs at gmail dot com
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

2017-05-11 Thread mmokrejs at gmail dot com
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

2017-04-11 Thread mmokrejs at gmail dot com
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

2017-04-11 Thread mmokrejs at gmail dot com
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

2017-04-11 Thread mmokrejs at gmail dot com
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

2017-04-11 Thread mmokrejs at gmail dot com
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

2014-04-13 Thread mmokrejs at gmail dot com
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

2014-04-13 Thread mmokrejs at gmail dot com
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

2014-04-13 Thread mmokrejs at gmail dot com
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