http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57150
Bug #: 57150 Summary: GCC when targeting power7 spills long double using VSX instructions. Classification: Unclassified Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: meiss...@gcc.gnu.org Created attachment 30008 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30008 Cut down example to show the problem, using -mcpu=power7 -m64 In the glibc file e_scalbl.c, the compiler is using VSX stxvd2x and lxvd2x instructions to spill long double, even though only 1/2 of the register is used. The compiler should use scalar load/store instructions.