]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.md (ashrdi3): Do not call ashrdi3_no_power for little endian.
authorAldy Hernandez <aldyh@redhat.com>
Mon, 8 Mar 2004 04:20:45 +0000 (04:20 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 8 Mar 2004 04:20:45 +0000 (04:20 +0000)
        * 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

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 2e6081dc546066c2d2b612580e03a830770b6bd4..fdf3e2a7dbc376be8fb466896d24056973ec25f0 100644 (file)
@@ -1,3 +1,10 @@
+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  Richard Henderson  <rth@redhat.com>
 
         * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
index 4d5ef9db4caa7db0697a3b9e4f13052ef53f0b6b..fb79cb93aba128c166d60c54b8673dff0fe0562a 100644 (file)
   [(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"
   [(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)
       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;