https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85382
Bug ID: 85382 Summary: code compiled with fno-builtin uses builtin Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: konstantin.vladimirov at gmail dot com Target Milestone: --- Minimized reproduction: double a, b; void f() { a = b * b * (628972 + b - 628972); } Compile with: gcc -msse4 -ffast-math -Os -S minimize.c -fno-builtin -ffreestanding Remove fast-math to kill reproduction. Assembler: f: .LFB0: .cfi_startproc subq $8, %rsp .cfi_def_cfa_offset 16 movl $3, %edi movsd b(%rip), %xmm0 call __powidf2 movsd %xmm0, a(%rip) popq %rax .cfi_def_cfa_offset 8 ret Compiler version: Target: x86_64-suse-linux Thread model: posix gcc version 7.2.0 (GCC)