https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120201
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |sanitizer CC| |dodji at gcc dot gnu.org, | |dvyukov at gcc dot gnu.org, | |jakub at gcc dot gnu.org, | |kcc at gcc dot gnu.org --- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> --- On master branch, the stack is properly aligned: main: .LASANPC2: .LFB2: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r15 pushq %r14 pushq %r13 pushq %r12 pushq %rbx andq $-64, %rsp <<<<<<<< Stack realignment subq $576, %rsp .cfi_offset 15, -24 .cfi_offset 14, -32 .cfi_offset 13, -40 .cfi_offset 12, -48 .cfi_offset 3, -56 movl __asan_option_detect_stack_use_after_return(%rip), %eax leaq 96(%rsp), %r12 ... movl $480, %edi call __asan_stack_malloc_3 <<< sanitizer allocates aligned stack gdb) next 33 jne .L115 (gdb) 899 movl $480, %edi (gdb) 900 call __asan_stack_malloc_3 (gdb) 901 testq %rax, %rax (gdb) next 902 cmovne %rax, %r12 (gdb) 903 jmp .L1 (gdb) p/x $r12 $8 = 0x7bfff5200000 (gdb) testq %rax, %rax cmovne %rax, %r12 jmp .L1 ... vmovdqa64 32(%r12), %zmm0 ^^^ R12 + 32 isn't 64 byte aligned.