http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244
--- Comment #39 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-06-30 12:00:38 UTC --- Created attachment 27724 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27724 Another patch I have noticed that the branch_true and branch_false insns also require some subreg variations to work properly. Otherwise redundant movt and tst insns are generated. I'm now testing the the attached patch, which fixes those issues. In addition to that the subreg 0 / subreg 3 copy-pasta has been removed by introducing t-bit predicates.