Commit 4aa74a4f by Franz Sirl Committed by Franz Sirl

rs6000.md (ashrdi3_no_power): New.

	2002-05-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/rs6000/rs6000.md (ashrdi3_no_power): New.
	(ashrdi3): Use it.

From-SVN: r53634
parent a15135c9
2002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/rs6000/rs6000.md (ashrdi3_no_power): New.
(ashrdi3): Use it.
2002-05-18 Mark Mitchell <mark@codesourcery.com> 2002-05-18 Mark Mitchell <mark@codesourcery.com>
* configure.in (AC_CHECK_FUNCS): Add checks for scandir and * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
......
...@@ -5782,6 +5782,16 @@ ...@@ -5782,6 +5782,16 @@
sraiq %0,%1,%h2\;srliq %L0,%L1,%h2" sraiq %0,%1,%h2\;srliq %L0,%L1,%h2"
[(set_attr "length" "8")]) [(set_attr "length" "8")])
(define_insn "ashrdi3_no_power"
[(set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r")
(ashiftrt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "const_int_operand" "M,i")))]
"TARGET_32BIT && !TARGET_POWER"
"@
{srai|srawi} %0,%1,31\;{srai|srawi} %L0,%1,%h2
{sri|srwi} %L0,%L1,%h2\;insrwi %L0,%1,%h2,0\;{srai|srawi} %0,%1,%h2"
[(set_attr "length" "8,12")])
;; PowerPC64 DImode operations. ;; PowerPC64 DImode operations.
(define_expand "adddi3" (define_expand "adddi3"
...@@ -6990,7 +7000,7 @@ ...@@ -6990,7 +7000,7 @@
[(set (match_operand:DI 0 "gpc_reg_operand" "") [(set (match_operand:DI 0 "gpc_reg_operand" "")
(ashiftrt:DI (match_operand:DI 1 "gpc_reg_operand" "") (ashiftrt:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_cint_operand" "")))] (match_operand:SI 2 "reg_or_cint_operand" "")))]
"TARGET_POWERPC64 || TARGET_POWER" ""
" "
{ {
if (TARGET_POWERPC64) if (TARGET_POWERPC64)
...@@ -7000,6 +7010,11 @@ ...@@ -7000,6 +7010,11 @@
emit_insn (gen_ashrdi3_power (operands[0], operands[1], operands[2])); emit_insn (gen_ashrdi3_power (operands[0], operands[1], operands[2]));
DONE; DONE;
} }
else if (TARGET_32BIT && GET_CODE (operands[2]) == CONST_INT)
{
emit_insn (gen_ashrdi3_no_power (operands[0], operands[1], operands[2]));
DONE;
}
else else
FAIL; FAIL;
}") }")
......
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