From 97727e857312e1dded1c4e39d949a95faf3709fb Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Mon, 8 Mar 2004 04:13:39 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/rs6000/rs6000.md | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6608c990386..e41b0c98235 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 29b36d6e4e5..4acf0564b34 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; -- 2.30.2