http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59157
Bug ID: 59157 Summary: "+f" constraint rejected: output constraint 0 must specify a single register Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: glisse at gcc dot gnu.org Target: x86_64-unknown-linux-gnu double f(double x){ asm volatile("":"+f"(x)); return x; } a.c: In function 'f': a.c:2:3: error: output constraint 0 must specify a single register asm volatile("":"+f"(x)); ^ If I use "+mf", it is accepted with -m64 but still fails with -m32.