https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68743
--- Comment #6 from dave.anglin at bell dot net --- On 2015-12-12, at 4:21 PM, dave.anglin at bell dot net wrote: >> Yes. The puzzle is why "return (float) floor (x);" calls floorf. It comets from the forwprop1 pass: ;; Function floorf (floorf, funcdef_no=15, decl_uid=167, cgraph_uid=107, symbol_ order=107) __attribute__((nothrow, leaf, const)) floorf (float x) { double _2; double _3; float _4; float _6; <bb 2>: _2 = (double) x_1(D); _6 = __builtin_floorf (x_1(D)); _3 = (double) _6; _4 = _6; return _4; } Before that, we have a call to floor.\: _2 = (double) x_1(D); -- John David Anglin dave.ang...@bell.net