https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69734
Bug ID: 69734 Summary: no_caller_saved_registers attribute doesn't work with -mavx512f -g Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: kirill.yukhin at intel dot com, vaalfreja at gmail dot com Target Milestone: --- [hjl@gnu-6 interrupt-2]$ cat y.c extern void bar (void); __attribute__((no_caller_saved_registers)) void foo (void *frame) { bar (); } [hjl@gnu-6 interrupt-2]$ /export/build/gnu/gcc-5/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-5/build-x86_64-linux/gcc/ -c -O -g y.c -mavx512f /tmp/cc47JCJ0.s: Assembler messages: /tmp/cc47JCJ0.s:79: Error: register save offset not a multiple of 8 /tmp/cc47JCJ0.s:80: Error: register save offset not a multiple of 8 /tmp/cc47JCJ0.s:81: Error: register save offset not a multiple of 8 /tmp/cc47JCJ0.s:83: Error: register save offset not a multiple of 8 /tmp/cc47JCJ0.s:84: Error: register save offset not a multiple of 8 /tmp/cc47JCJ0.s:85: Error: register save offset not a multiple of 8 [hjl@gnu-6 interrupt-2]$