> What is length used for in the rx port? We have a local patch that uses the length to decide if/when to align labels; it goes along with the label alignment change I made a while back. However, the patch works best in 4.5 (align patch not backported) and there are other optimization problems with 4.6 that make the alignment not work as well as it should.
The RX incurs a one-cycle penalty if you branch to an insn that spans a fetch line. So, we want to align by adding no more than N-1 bytes for an N-byte insn. A 3-byte insn will only be aligned if doing so adds 1 or 2 bytes; if 3 bytes are needed, the insn does not span a fetch line.