Commit 0cb381f0 by Nicolas Pitre Committed by Nicolas Pitre

arm.md (smaxsi3): Make aware of smax_m1.

	* arm.md (smaxsi3): Make aware of smax_m1.
	(smax_m1): New.

From-SVN: r110443
parent aa2192f8
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")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment