https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88630
--- Comment #1 from Zavadovsky Yan <zavadovsky.yan at gmail dot com> --- Rewriting code as <code> float float_val = ....; int int_val = -(int)float_val; </code> avoids bug. And rewriting code as <code> double float_val = ....; int int_val = -float_val; </code> also avoids bug.