From: Aldy Hernandez Date: Mon, 8 Mar 2004 04:20:45 +0000 (+0000) Subject: rs6000.md (ashrdi3): Do not call ashrdi3_no_power for little endian. X-Git-Tag: releases/gcc-3.3.4~187 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9375e88db3d4324fa53267a10cc1f3e7b875e7b0;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: r79095 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e6081dc5460..fdf3e2a7dbc3 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 Richard Henderson * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 4d5ef9db4caa..fb79cb93aba1 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -6350,7 +6350,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_POWER" + "TARGET_32BIT && !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" @@ -7564,7 +7564,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) @@ -7574,7 +7574,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;