https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111797
--- Comment #3 from Paul Floyd <paulf at free dot fr> --- With clang 17.0.2 (also tried 14.0) I get 0000000000000000 <function>: 0: 55 push %rbp 1: 41 57 push %r15 3: 41 56 push %r14 5: 41 55 push %r13 7: 41 54 push %r12 9: 53 push %rbx a: 48 81 ec c8 23 00 00 sub $0x23c8,%rsp 11: c5 f9 28 c1 vmovapd %xmm1,%xmm0 15: 4c 89 8c 24 98 21 00 mov %r9,0x2198(%rsp) With GCC if I add -mno-avx then I get back the base pointer. I presume that this will turn off all vector extensions from avx onwards.