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]$