https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89457
Bug ID: 89457 Summary: -madx doesn't generate ADX instructions Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com Target Milestone: --- [hjl@gnu-4 pr89456]$ cat y.i unsigned char foo (unsigned char __CF, unsigned int __X, unsigned int __Y, unsigned int *__P) { return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P); } [hjl@gnu-4 pr89456]$ gcc -S -O2 -madx y.i [hjl@gnu-4 pr89456]$ cat y.s .file "y.i" .text .p2align 4,,15 .globl foo .type foo, @function foo: .LFB0: .cfi_startproc movzbl %dil, %edi movl %edi, %eax addb $-1, %al adcl %edx, %esi setc %al movl %esi, (%rcx) ret .cfi_endproc .LFE0: .size foo, .-foo .ident "GCC: (GNU) 8.2.1 20190215 (Red Hat 8.2.1-9)" .section .note.GNU-stack,"",@progbits [hjl@gnu-4 pr89456]$ I am expecting: addb $-1, %dil adcxl %edx, %esi movl %esi, (%rcx) setb %al retq