https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97083
Bug ID: 97083
Summary: __builtin_lround and _builtin_llround not replaced
with fcvtas on aarch64
Product: gcc
Version: 10.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: linux at carewolf dot com
Target Milestone: ---
On aarch64 calling __builtin_round and casting the result to int or long long
uses a single fcvtas instruction, but using __builtin_lround or
__builtin_llround instead will do function call.
Seems like they are missing the same optimization.