------- Comment #3 from amylaar at gcc dot gnu dot org 2006-07-06 19:30 ------- When I disable the offending code (by altering add_cost[DImode] at the right moment), I get the right result for little endian. However, compiling for big endian gives wrong code:
_expand64: mov #0,r5 mov r4,r0 rts mov r5,r1 .size _expand64, .-_expand64 .ident "GCC: (GNU) 4.2.0 20060620 (experimental)" 3.4.0 was sane: _expand64: mov r4,r5 mov #0,r4 mov r4,r0 rts mov r5,r1 .size _expand64, .-_expand64 .ident "GCC: (GNU) 3.4.0 20040113 (experimental)" -- amylaar at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |joern dot rennecke at st dot | |com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28283