Commit 97727e85 by Aldy Hernandez Committed by Aldy Hernandez

rs6000.md (ashrdi3): Do not call ashrdi3_no_power for little endian.

        * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
        for little endian.
        ("ashrdi3_no_power"): Disable for little endian.
	(ashrdi3): Same.

From-SVN: r79092
parent 280e63ec
2004-03-07 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
for little endian.
("ashrdi3_no_power"): Disable for little endian.
(ashrdi3): Same.
2004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* fold-const.c (tree_expr_nonnegative_p): Reformat checks for * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
......
...@@ -5634,7 +5634,7 @@ ...@@ -5634,7 +5634,7 @@
[(set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r") [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r")
(ashiftrt:DI (match_operand:DI 1 "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")))] (match_operand:SI 2 "const_int_operand" "M,i")))]
"TARGET_32BIT && !TARGET_POWERPC64 && !TARGET_POWER" "TARGET_32BIT && !TARGET_POWERPC64 && !TARGET_POWER && WORDS_BIG_ENDIAN"
"@ "@
{srai|srawi} %0,%1,31\;{srai|srawi} %L0,%1,%h2 {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" {sri|srwi} %L0,%L1,%h2\;insrwi %L0,%1,%h2,0\;{srai|srawi} %0,%1,%h2"
...@@ -6950,7 +6950,7 @@ ...@@ -6950,7 +6950,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" "")))]
"" "WORDS_BIG_ENDIAN"
" "
{ {
if (TARGET_POWERPC64) if (TARGET_POWERPC64)
...@@ -6960,7 +6960,8 @@ ...@@ -6960,7 +6960,8 @@
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) else if (TARGET_32BIT && GET_CODE (operands[2]) == CONST_INT
&& WORDS_BIG_ENDIAN)
{ {
emit_insn (gen_ashrdi3_no_power (operands[0], operands[1], operands[2])); emit_insn (gen_ashrdi3_no_power (operands[0], operands[1], operands[2]));
DONE; DONE;
......
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