https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93112
--- Comment #2 from Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de> --- I agree the numerical error introduced by truncating/casting is somewhat expected. The strange part is for ~every other architecture, 1.034567 apparently gets rounded up for some immediate value/type (double?), while for ix86 it gets rounded down.