OSDN Git Service

* rs6000.md (cr logic): Add original POWER mnemonic alternative
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Mar 2001 05:44:49 +0000 (05:44 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Mar 2001 05:44:49 +0000 (05:44 +0000)
        for crnot.  Set operands[5] in splitter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40313 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 08ef3fb..d89eea4 100644 (file)
@@ -1,3 +1,8 @@
+2001-03-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (cr logic): Add original POWER mnemonic alternative
+       for crnot.  Set operands[5] in splitter.
+
 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * config/i370/xm-mvs.h, config/i370/xm-oe.h,
index 9df70cf..1629d0a 100644 (file)
@@ -12575,7 +12575,7 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32);
                                       (const_int 0)])
                      (const_int 0)))]
   ""
-  "crnot %E0,%j1"
+  "{crnor %E0,%j1,%j1|crnot %E0,%j1}"
   [(set_attr "type" "cr_logical")])
 
 ;; If we are comparing the result of two comparisons, this can be done
@@ -12622,7 +12622,14 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32);
                           operands[4]);
 
   if (positive_1 == positive_2)
-    operands[1] = gen_rtx_NOT (SImode, operands[1]);
+    {
+      operands[1] = gen_rtx_NOT (SImode, operands[1]);
+      operands[5] = constm1_rtx;
+    }
+  else
+    {
+      operands[5] = const1_rtx;
+    }
 }")
 
 ;; Unconditional branch and return.