https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111889
Bug ID: 111889 Summary: [14 Regression] 128/256 intrins could not be used with only specifying "no-evex512, avx512vl" in function attribute Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: haochen.jiang at intel dot com Target Milestone: --- Created attachment 56155 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56155&action=edit Simple testcase With this simple testcase and command like this: x86_64-pc-linux-gnu-gcc -O2 -march=x86-64 1.c We will finally get: error: inlining failed in call to ‘always_inline’ ‘_mm256_mask_mov_pd’: target specific option mismatch But if we use the command like this: x86_64-pc-linux-gnu-gcc -O2 -march=x86-64 -mno-evex512 1.c It seems that the default handle for evex512 with avx512 will finally let the compiler wrongly suppose that 128/256 bit intrins need evex512 feature when co-operating with function attribute, but actually it does not.