https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88496
Bug ID: 88496 Summary: Unnecessary stack adjustment with -mavx512f Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: ubizjak at gmail dot com, wei3.xiao at intel dot com, xuepeng.guo at intel dot com Target Milestone: --- Target: i386,x86-64 [hjl@gnu-cfl-1 gcc]$ cat /tmp/x.i struct B { char a[12]; int b; }; struct B f2 (void) { struct B x = {}; return x; } [hjl@gnu-cfl-1 gcc]$ ./xgcc -B./ -O2 -S /tmp/x.i -mavx2 [hjl@gnu-cfl-1 gcc]$ cat x.s .file "x.i" .text .p2align 4 .globl f2 .type f2, @function f2: .LFB0: .cfi_startproc xorl %eax, %eax xorl %edx, %edx ret .cfi_endproc .LFE0: .size f2, .-f2 .ident "GCC: (GNU) 9.0.0 20181214 (experimental)" .section .note.GNU-stack,"",@progbits [hjl@gnu-cfl-1 gcc]$ ./xgcc -B./ -O2 -S /tmp/x.i -mavx512f [hjl@gnu-cfl-1 gcc]$ cat x.s .file "x.i" .text .p2align 4 .globl f2 .type f2, @function f2: .LFB0: .cfi_startproc subq $16, %rsp .cfi_def_cfa_offset 24 xorl %eax, %eax xorl %edx, %edx addq $16, %rsp .cfi_def_cfa_offset 8 ret .cfi_endproc .LFE0: .size f2, .-f2 .ident "GCC: (GNU) 9.0.0 20181214 (experimental)" .section .note.GNU-stack,"",@progbits [hjl@gnu-cfl-1 gcc]$ subq and addq aren't necessary.