[Bug middle-end/60089] Complex arithmetic instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60089 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization --- Comment #5 from Andrew Pinski --- The way we model these instructions these days is using vector modes.
[Bug middle-end/60089] Complex arithmetic instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60089 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-02-06 Component|rtl-optimization|middle-end Ever confirmed|0 |1 --- Comment #1 from Richard Biener rguenth at gcc dot gnu.org --- You'd need to disable complex lowering at the GIMPLE level and see what support is missing from RTL expansion for example. For the disabling I'd suggest adding a target hook (if it at any point is supposed to go upstream).
[Bug middle-end/60089] Complex arithmetic instructions
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.
[Bug middle-end/60089] Complex arithmetic instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60089 --- Comment #3 from Marc Glisse glisse at gcc dot gnu.org --- (In reply to Richard Biener from comment #1) You'd need to disable complex lowering at the GIMPLE level and see what support is missing from RTL expansion for example. For the disabling I'd suggest adding a target hook (if it at any point is supposed to go upstream). Couldn't the complex lowering pass check optab, like vector lowering does?
[Bug middle-end/60089] Complex arithmetic instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60089 --- Comment #4 from joseph at codesourcery dot com joseph at codesourcery dot com --- Is the complex multiplication instruction C99 Annex G-conforming, or could it only be used for -fcx-limited-range?