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.