This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/60089] Complex arithmetic instructions
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 06 Feb 2014 10:45:50 +0000
- Subject: [Bug middle-end/60089] Complex arithmetic instructions
- Auto-submitted: auto-generated
- References: <bug-60089-4 at http dot gcc dot gnu dot org/bugzilla/>
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.