http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43961
--- Comment #11 from Joseph S. Myers <jsm28 at gcc dot gnu.org> 2013-01-09 21:55:08 UTC --- Created attachment 29133 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29133 More complicated fix for 4.6 The previous proposed patch breaks Thumb-2, because alignments for labels get set based on ADDR_VEC_ALIGN before jump tables get shortened from SImode to a narrower mode, and not updated afterwards so there is spurious alignment between a tbb instruction and a jump table. This patch adds code to shorten_branches to allow for this issue. 4.6-based; I'll test for mainline.