Commit 97130915 by Bernd Schmidt Committed by Bernd Schmidt

bfin.md (rotl16, [...]): New patterns.

	* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns.

From-SVN: r122377
parent 6ce986b9
...@@ -46,6 +46,8 @@ ...@@ -46,6 +46,8 @@
* config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg * config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg
instead of R2. instead of R2.
* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns.
2007-02-27 Andreas Schwab <schwab@suse.de> 2007-02-27 Andreas Schwab <schwab@suse.de>
* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi. * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
......
...@@ -1477,6 +1477,37 @@ ...@@ -1477,6 +1477,37 @@
%0 = %1 >>> %2%!" %0 = %1 >>> %2%!"
[(set_attr "type" "shft,dsp32")]) [(set_attr "type" "shft,dsp32")])
(define_insn "rotl16"
[(set (match_operand:SI 0 "register_operand" "=d")
(rotate:SI (match_operand:SI 1 "register_operand" "d")
(const_int 16)))]
""
"%0 = PACK (%h1, %d1)%!"
[(set_attr "type" "dsp32")])
(define_expand "rotlsi3"
[(set (match_operand:SI 0 "register_operand" "")
(rotate:SI (match_operand:SI 1 "register_operand" "")
(match_operand:SI 2 "immediate_operand" "")))]
""
{
if (INTVAL (operands[2]) != 16)
FAIL;
})
(define_expand "rotrsi3"
[(set (match_operand:SI 0 "register_operand" "")
(rotatert:SI (match_operand:SI 1 "register_operand" "")
(match_operand:SI 2 "immediate_operand" "")))]
""
{
if (INTVAL (operands[2]) != 16)
FAIL;
emit_insn (gen_rotl16 (operands[0], operands[1]));
DONE;
})
(define_insn "ror_one" (define_insn "ror_one"
[(set (match_operand:SI 0 "register_operand" "=d") [(set (match_operand:SI 0 "register_operand" "=d")
(ior:SI (lshiftrt:SI (match_operand:SI 1 "register_operand" "d") (const_int 1)) (ior:SI (lshiftrt:SI (match_operand:SI 1 "register_operand" "d") (const_int 1))
......
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