]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/19697 (gcc.c-torture/execute/ieee/mzero6.c:24: error: unrecognizable...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Fri, 11 Feb 2005 22:10:33 +0000 (22:10 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Fri, 11 Feb 2005 22:10:33 +0000 (22:10 +0000)
        PR middle-end/19697
2005-01-30  Roger Sayle  <roger@eyesopen.com>
        * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
        constant as the second operand and a register as the third.

From-SVN: r94897

gcc/ChangeLog
gcc/config/pa/pa.md

index 7339f09b8eed30fe0ff39725948373498fed006b..67e70b3086eded41f95b1002463a2142d39280e9 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-11  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
+
+        PR middle-end/19697
+       2005-01-30  Roger Sayle  <roger@eyesopen.com>
+        * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
+        constant as the second operand and a register as the third.
+
 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/19666
index 202c88f99ae4fb4b87437f2bdf489130e3df2e48..22067388106a28546fd13c8b425c176b19ecb9c7 100644 (file)
 
 (define_expand "anddi3"
   [(set (match_operand:DI 0 "register_operand" "")
-       (and:DI (match_operand:DI 1 "and_operand" "")
+       (and:DI (match_operand:DI 1 "register_operand" "")
                (match_operand:DI 2 "and_operand" "")))]
   ""
   "
 {
-  if (TARGET_64BIT)
-    {
-      /* One operand must be a register operand.  */
-      if (!register_operand (operands[1], DImode)
-         && !register_operand (operands[2], DImode))
-       FAIL;
-    }
-  else
-    {
-      /* Both operands must be register operands.  */
-      if (!register_operand (operands[1], DImode)
-         || !register_operand (operands[2], DImode))
-       FAIL;
-    }
+  /* Both operands must be register operands.  */
+  if (!TARGET_64BIT && !register_operand (operands[2], DImode))
+    FAIL;
 }")
 
 (define_insn ""
 
 (define_expand "iordi3"
   [(set (match_operand:DI 0 "register_operand" "")
-       (ior:DI (match_operand:DI 1 "ior_operand" "")
+       (ior:DI (match_operand:DI 1 "register_operand" "")
                (match_operand:DI 2 "ior_operand" "")))]
   ""
   "
 {
-  if (TARGET_64BIT)
-    {
-      /* One operand must be a register operand.  */
-      if (!register_operand (operands[1], DImode)
-         && !register_operand (operands[2], DImode))
-       FAIL;
-    }
-  else
-    {
-      /* Both operands must be register operands.  */
-      if (!register_operand (operands[1], DImode)
-         || !register_operand (operands[2], DImode))
-       FAIL;
-    }
+  /* Both operands must be register operands.  */
+  if (!TARGET_64BIT && !register_operand (operands[2], DImode))
+    FAIL;
 }")
 
 (define_insn ""