arm.md (smaxsi3): Make aware of smax_m1.
* arm.md (smaxsi3): Make aware of smax_m1. (smax_m1): New. From-SVN: r110443
This commit is contained in:
parent
aa2192f89e
commit
0cb381f042
@ -1,3 +1,8 @@
|
||||
2006-01-31 Nicolas Pitre <nico@cam.org>
|
||||
|
||||
* arm.md (smaxsi3): Make aware of smax_m1.
|
||||
(smax_m1): New.
|
||||
|
||||
2006-01-31 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* gcc/config/m68k/lb1sf68.asm: Use moveq to load small constants.
|
||||
|
@ -2481,7 +2481,7 @@
|
||||
(clobber (reg:CC CC_REGNUM))])]
|
||||
"TARGET_ARM"
|
||||
"
|
||||
if (operands[2] == const0_rtx)
|
||||
if (operands[2] == const0_rtx || operands[2] == constm1_rtx)
|
||||
{
|
||||
/* No need for a clobber of the condition code register here. */
|
||||
emit_insn (gen_rtx_SET (VOIDmode, operands[0],
|
||||
@ -2500,6 +2500,15 @@
|
||||
[(set_attr "predicable" "yes")]
|
||||
)
|
||||
|
||||
(define_insn "*smax_m1"
|
||||
[(set (match_operand:SI 0 "s_register_operand" "=r")
|
||||
(smax:SI (match_operand:SI 1 "s_register_operand" "r")
|
||||
(const_int -1)))]
|
||||
"TARGET_ARM"
|
||||
"orr%?\\t%0, %1, %1, asr #31"
|
||||
[(set_attr "predicable" "yes")]
|
||||
)
|
||||
|
||||
(define_insn "*smax_insn"
|
||||
[(set (match_operand:SI 0 "s_register_operand" "=r,r")
|
||||
(smax:SI (match_operand:SI 1 "s_register_operand" "%0,?r")
|
||||
|
Loading…
Reference in New Issue
Block a user