== Issues ==
* None
== Progress ==
* Take care Linaro binaries release (1/10). * Send out ccmp patches for community review (TCWG-488, 1/10). * loop2_invariants heuristics tune (1/10, TCWG-469). One patch was committed @r212135. * Constant optimization (TCWG-486, 7/10 ) - Try to keep constant in register when expanding. But benchmark results show regression due to combine behavior changes. - Try to keep unsigned constant when expanding. For crc |= 0x8000, crc is unsigned short. If 0x8000 is represented as unsigned value, no need to split 0x8000. But in middle-end, wide_int_storage::set_len and trunc_int_for_mode always do sign extension. "trunc_int_for_mode (INTVAL (op), mode) == INTVAL (op)" is always checked when checking operand (e.g. in general_operand of recog.c). And in RTL, there is no "unsigned" information at all.
== Plans ==
* Update ccmp patches according to comments. * Continue on constant optimization. * Ping pending patches.