------- Comment #9 from pinskia at gcc dot gnu dot org 2010-02-16 23:56 ------- No it does not return immediately. You are reading the code so incorrectly because you forgot to include the exception handling table.
The code difference for the source you provided is the same between 4.4 and the trunk except different ordering of basic blocks. At the tree level things are more explicit though but otherwise it is the same code generation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43099