http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54130
--- Comment #12 from Marc Glisse <glisse at gcc dot gnu.org> 2012-08-01 09:49:12 UTC --- (In reply to comment #10) > (In reply to comment #9) > > I realize that several (not all) of the things discussed here assume that > > functions returning bool and int are binary compatible, which is likely > > true on > > most platforms but there might be exceptions. > > It's not true on x86_64 - return values are not extended to word_mode thus > you may have garbage in the upper parts of %eax for bool. Ok thanks, that seems to put the nail in the coffin for these techniques. I guess I should close this bug, and file the only part that remains (the missed optimization at the end of Comment 8) separately.