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.

Reply via email to