https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69225
Bug ID: 69225 Summary: gcc uses double precision instead of single float with -m32 -std=c99 -msoft-float Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vaalfreja at gmail dot com Target Milestone: --- Testcase: int main(){ float x, y, z; z = x+y; return 0; } Soft float first extends the result to double precision then truncates it.