[Bug target/55303] [SH] Add support for clips / clipu instructions

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Mar 2 16:24:00 GMT 2013


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.



More information about the Gcc-bugs mailing list