------- Comment #14 from rguenth at gcc dot gnu dot org 2010-09-18 18:25 ------- You have way more non-SSA variables - possibly due to callee-copy of args (again).
I suppose some optimizations end up being disabled for some reason by that, but likely nobody will be interested to fixup missed optimizations for this target :/ So - if you are interested (heh ...) I'd start comparing dumps to i?86 dumps and see where they start to diverge badly. Also try and see why you end up with complex double cd.1; complex long double cld.0; not in SSA form: REALPART_EXPR <cld.0> = cld$real_19; IMAGPART_EXPR <cld.0> = cld$imag_20; REALPART_EXPR <cd.1> = cd$real_10; IMAGPART_EXPR <cd.1> = cd$imag_11; REALPART_EXPR <cd.1> = Inf; on i?86 I never even start having partial definitions of these on the lhs ... (but I also do not have the callee-copy, so you might check if SRA makes those partial defs from them by trying with -fno-tree-sra). If you're not interested I suggest to XFAIL the testcase for the failing platforms. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959