http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60089
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ubizjak at gmail dot com --- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Richard Biener from comment #1) > For the disabling I'd suggest adding a target hook (if it at any point is > supposed to go upstream). This target hook would be handy also for x86_64, which passes packed complex SFmode values to and from function: Following test: _Complex float testf (_Complex float a, _Complex float b) { return a + b; } produces (-O2): testf: movq %xmm0, -8(%rsp) movq %xmm1, -16(%rsp) movss -4(%rsp), %xmm0 movss -8(%rsp), %xmm1 addss -12(%rsp), %xmm0 addss -16(%rsp), %xmm1 movss %xmm0, -20(%rsp) movss %xmm1, -24(%rsp) movq -24(%rsp), %xmm0 ret Yes, indeed.