[Bug target/61949] [6 regression] SEGV compiling gcc.dg/pch/import-[12].c
ro at CeBiTec dot Uni-Bielefeld.DE
gcc-bugzilla@gcc.gnu.org
Thu Feb 25 13:41:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61949
--- Comment #20 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> ---
> ./configure --target=i386-pc-solaris2.10
>
> is not enough, with -O3 -msse2 and the preprocessed file I get
>
> md5_finish_ctx:
> ...
> call md5_process_block
> movl 12(%ebp), %eax
> addl $16, %esp
> movdqu (%ebx), %xmm0
> movups %xmm0, (%eax)
> leal -12(%ebp), %esp
> popl %ebx
> popl %esi
> popl %edi
> popl %ebp
> ret
>
> thus the expected unaligned moves, also not from the stacak.
That's what I get when I manually compile with -O3 -msse2.
But the compile happens with
/var/gcc/reghunt/pch-import-1/28660/./prev-gcc/xgcc
-B/var/gcc/reghunt/pch-import-1/28660/./prev-gcc/
-B/usr/local/i386-pc-solaris2.10/bin/ -B/usr/local/i386-pc-solaris2.10/bin/
-B/usr/local/i386-pc-solaris2.10/lib/ -isystem
/usr/local/i386-pc-solaris2.10/include -isystem
/usr/local/i386-pc-solaris2.10/sys-include -c -DHAVE_CONFIG_H -g -O2 -I.
-I/var/gcc/reghunt/trunk/libiberty/../include -W -Wall -Wwrite-strings
-Wc++-compat -Wstrict-prototypes -pedantic -D_GNU_SOURCE
/var/gcc/reghunt/trunk/libiberty/md5.c -o md5.o
effectively just -O2:
md5_finish_ctx:
[...]
call md5_process_block
movl (%ebx), %eax
addl $16, %esp
movl %eax, -40(%ebp)
movl 4(%ebx), %eax
movl %eax, -36(%ebp)
movl 8(%ebx), %eax
movl %eax, -32(%ebp)
movl 12(%ebx), %eax
movl %eax, -28(%ebp)
movl 12(%ebp), %eax
movaps -40(%ebp), %xmm0
movups %xmm0, (%eax)
leal -12(%ebp), %esp
popl %ebx
popl %esi
popl %edi
popl %ebp
ret
More information about the Gcc-bugs
mailing list