http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55303
--- Comment #2 from Oleg Endo <olegendo at gcc dot gnu.org> 2013-03-02 16:23:57 UTC --- For non-SH2A targets there is an opportunity to generate better insn sequences for the special case unsigned int test (unsigned int a) { return a > 1 ? 1 : a; } on SH2A: tst r4,r4 movrt r0 if zero-displacement branches are not good: tst r4,r4 mov #-1,r0 negc r0,r0 if zero-displacement branches are good: tst r4,r4 bt 0f mov #1,r1 0f: This can be done by implementing a pattern (umin:SI (match_operand:SI 1 "arith_reg_operand") (const_int 1)) as it is already done for SH2A in attachment 29567.