https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119473
Bug ID: 119473 Summary: [15 Regression] __builtin_ia32_vaesdec_v32qi() emits wrong base register with -mvaes -O2 -mapxf -m64 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: lin1.hu at intel dot com Target Milestone: --- Created attachment 60887 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60887&action=edit testcase $gcc test.c -m64 -O2 -mapxf -mvaes -S -o test.s $cat test.s .file "test.c" .text .p2align 4 .globl foo .type foo, @function foo: .LFB0: .cfi_startproc vmovdqa (%rcx), %ymm0 vaesdec (%r26), %ymm0, %ymm0 vmovdqa %ymm0, (%rdx) vmovdqa (%rcx), %ymm0 vaesdeclast (%r26), %ymm0, %ymm0 vmovdqa %ymm0, (%rdx) vmovdqa (%rcx), %ymm0 vaesenc (%r26), %ymm0, %ymm0 vmovdqa %ymm0, (%rdx) vmovdqa (%rcx), %ymm0 vaesenclast (%r26), %ymm0, %ymm0 vmovdqa %ymm0, (%rdx) vzeroupper ret .cfi_endproc .LFE0: .size foo, .-foo .ident "GCC: (GNU) 15.0.1 20250324 (experimental)" .section .note.GNU-stack,"",@progbits Due to without -mavx512vl, according to pattern vaesdec_<mode>'s constraint "xjm,vm", (%r26) is invalid.