[Bug bootstrap/69677] [6 Regression] bootstrap failed with --with-arch=corei7 --with-cpu=corei7
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Feb 5 03:23:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69677
--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> ---
Another problem. STV is disabled even when stack is aligned:
[hjl@gnu-skl-1 pr69677]$ cat x.i
struct bar
{
int i[16] __attribute__ ((aligned(16)));
};
extern void fn2 (void);
long long a, b;
struct bar
fn1 (struct bar x)
{
long long c = a;
a = b ^ a;
fn2 ();
a = c;
return x;
}
[hjl@gnu-skl-1 pr69677]$ make x.s
/export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -m32 -O2 -msse2
-mno-accumulate-outgoing-args -mpreferred-stack-boundary=2 -S x.i
[hjl@gnu-skl-1 pr69677]$ cat x.s
.file "x.i"
.text
.p2align 4,,15
.globl fn1
.type fn1, @function
fn1:
.LFB0:
.cfi_startproc
pushl %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
movl %esp, %ebp
.cfi_def_cfa_register 5
pushl %edi
pushl %esi
pushl %ebx
pushl %ecx
.cfi_offset 7, -12
.cfi_offset 6, -16
.cfi_offset 3, -20
.cfi_offset 1, -24
leal 8(%ebp), %ecx
subl $4, %esp
movl a, %eax
movl a+4, %edi
movl (%ecx), %ebx
movl %ecx, %esi
movl %eax, %edx
xorl b, %edx
movl %eax, -20(%ebp)
movl %edx, a
movl b+4, %edx
xorl %edi, %edx
movl %edx, a+4
call fn2
movl -20(%ebp), %eax
movl %edi, a+4
movl %eax, a
movl 4(%esi), %eax
movl %eax, (%ebx)
movl 8(%esi), %eax
movl %eax, 4(%ebx)
movl 12(%esi), %eax
movl %eax, 8(%ebx)
movl 16(%esi), %eax
movl %eax, 12(%ebx)
movl 20(%esi), %eax
movl %eax, 16(%ebx)
movl 24(%esi), %eax
movl %eax, 20(%ebx)
movl 28(%esi), %eax
movl %eax, 24(%ebx)
movl 32(%esi), %eax
movl %eax, 28(%ebx)
movl 36(%esi), %eax
movl %eax, 32(%ebx)
movl 40(%esi), %eax
movl %eax, 36(%ebx)
movl 44(%esi), %eax
movl %eax, 40(%ebx)
movl 48(%esi), %eax
movl %eax, 44(%ebx)
movl 52(%esi), %eax
movl %eax, 48(%ebx)
movl 56(%esi), %eax
movl %eax, 52(%ebx)
movl 60(%esi), %eax
movl %eax, 56(%ebx)
movl 64(%esi), %eax
movl %eax, 60(%ebx)
addl $4, %esp
movl %ebx, %eax
popl %ecx
.cfi_restore 1
popl %ebx
.cfi_restore 3
popl %esi
.cfi_restore 6
popl %edi
.cfi_restore 7
popl %ebp
.cfi_restore 5
.cfi_def_cfa 4, 4
ret $4
.cfi_endproc
.LFE0:
.size fn1, .-fn1
.comm b,8,8
.comm a,8,8
.ident "GCC: (GNU) 6.0.0 20160205 (experimental)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-skl-1 pr69677]$
More information about the Gcc-bugs
mailing list