------- Comment #10 from rakdver at gcc dot gnu dot org 2010-01-16 12:53 ------- /* Reject a tailcall if the type conversion might need 285 additional code. */ 286 if (gimple_assign_cast_p (stmt) 287 && TYPE_MODE (TREE_TYPE (dest)) != TYPE_MODE (TREE_TYPE (src_var))) 288 return false;
This is suspicious; replacing the weird TYPE_MODE check with useless_type_conversion_p fixes the problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42749