From: Aldy Hernandez Date: Mon, 8 Mar 2004 04:13:39 +0000 (+0000) Subject: rs6000.md (ashrdi3): Do not call ashrdi3_no_power for little endian. X-Git-Tag: releases/gcc-4.0.0~9552 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97727e857312e1dded1c4e39d949a95faf3709fb;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6608c9903868..e41b0c982358 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-03-07 Aldy Hernandez + + * 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 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 29b36d6e4e5a..4acf0564b340 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -5634,7 +5634,7 @@ [(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_POWERPC64 && !TARGET_POWER" + "TARGET_32BIT && !TARGET_POWERPC64 && !TARGET_POWER && WORDS_BIG_ENDIAN" "@ {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" @@ -6950,7 +6950,7 @@ [(set (match_operand:DI 0 "gpc_reg_operand" "") (ashiftrt:DI (match_operand:DI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_cint_operand" "")))] - "" + "WORDS_BIG_ENDIAN" " { if (TARGET_POWERPC64) @@ -6960,7 +6960,8 @@ emit_insn (gen_ashrdi3_power (operands[0], operands[1], operands[2])); 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])); DONE;