rs6000.c (rs6000_expand_unop_builtin): Return const0_rtx instead of NULL_RTX when...
authorAldy Hernandez <aldyh@redhat.com>
Thu, 30 May 2002 12:07:10 +0000 (12:07 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Thu, 30 May 2002 12:07:10 +0000 (12:07 +0000)
2002-05-30  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
        const0_rtx instead of NULL_RTX when in error.
        (altivec_expand_abs_builtin): Same.
        (rs6000_expand_binop_builtin): Same.
        (altivec_expand_predicate_builtin): Same.
        (altivec_expand_stv_builtin): Same.
        (rs6000_expand_ternop_builtin): Same.
        (altivec_expand_builtin): Same.

From-SVN: r54054

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 03903a3ce25386b83663f01f086c3ed3a49f0a1a..655842206bd5ac018354a8374d1d9cf01c4613cd 100644 (file)
@@ -1,3 +1,14 @@
+2002-05-30  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
+        const0_rtx instead of NULL_RTX when in error.
+        (altivec_expand_abs_builtin): Same.
+        (rs6000_expand_binop_builtin): Same.
+        (altivec_expand_predicate_builtin): Same.
+        (altivec_expand_stv_builtin): Same.
+        (rs6000_expand_ternop_builtin): Same.
+        (altivec_expand_builtin): Same.
+
 2002-05-29  David S. Miller  <davem@redhat.com>
 
        * rtl.h (clear_emit_caches): Delete.
index 84b4671ed2d491954567e8c24598cbc8241507b0..350c4f939e3437b78e5046cff2dc7e4cb6c96797 100644 (file)
@@ -3580,7 +3580,7 @@ rs6000_expand_unop_builtin (icode, arglist, target)
 
   /* If we got invalid arguments bail out before generating bad rtl.  */
   if (arg0 == error_mark_node)
-    return NULL_RTX;
+    return const0_rtx;
 
   switch (icode)
     {
@@ -3593,7 +3593,7 @@ rs6000_expand_unop_builtin (icode, arglist, target)
          || INTVAL (op0) < -0x1f)
        {
          error ("argument 1 must be a 5-bit signed literal");
-         return NULL_RTX;
+         return const0_rtx;
        }
       break;
     default:
@@ -3630,7 +3630,7 @@ altivec_expand_abs_builtin (icode, arglist, target)
 
   /* If we have invalid arguments, bail out before generating bad rtl.  */
   if (arg0 == error_mark_node)
-    return NULL_RTX;
+    return const0_rtx;
 
   if (target == 0
       || GET_MODE (target) != tmode
@@ -3668,7 +3668,7 @@ rs6000_expand_binop_builtin (icode, arglist, target)
 
   /* If we got invalid arguments bail out before generating bad rtl.  */
   if (arg0 == error_mark_node || arg1 == error_mark_node)
-    return NULL_RTX;
+    return const0_rtx;
 
   switch (icode)
     {
@@ -3684,7 +3684,7 @@ rs6000_expand_binop_builtin (icode, arglist, target)
          || TREE_INT_CST_LOW (arg1) & ~0x1f)
        {
          error ("argument 2 must be a 5-bit unsigned literal");
-         return NULL_RTX;
+         return const0_rtx;
        }
       break;
     default:
@@ -3730,7 +3730,7 @@ altivec_expand_predicate_builtin (icode, opcode, arglist, target)
   if (TREE_CODE (cr6_form) != INTEGER_CST)
     {
       error ("argument 1 of __builtin_altivec_predicate must be a constant");
-      return NULL_RTX;
+      return const0_rtx;
     }
   else
     cr6_form_int = TREE_INT_CST_LOW (cr6_form);
@@ -3740,7 +3740,7 @@ altivec_expand_predicate_builtin (icode, opcode, arglist, target)
 
   /* If we have invalid arguments, bail out before generating bad rtl.  */
   if (arg0 == error_mark_node || arg1 == error_mark_node)
-    return NULL_RTX;
+    return const0_rtx;
 
   if (target == 0
       || GET_MODE (target) != tmode
@@ -3810,7 +3810,7 @@ altivec_expand_stv_builtin (icode, arglist)
   if (arg0 == error_mark_node
       || arg1 == error_mark_node
       || arg2 == error_mark_node)
-    return NULL_RTX;
+    return const0_rtx;
 
   if (! (*insn_data[icode].operand[2].predicate) (op0, mode2))
     op0 = copy_to_mode_reg (mode2, op0);
@@ -3847,7 +3847,7 @@ rs6000_expand_ternop_builtin (icode, arglist, target)
   if (arg0 == error_mark_node
       || arg1 == error_mark_node
       || arg2 == error_mark_node)
-    return NULL_RTX;
+    return const0_rtx;
 
   switch (icode)
     {
@@ -4104,7 +4104,7 @@ altivec_expand_builtin (exp, target, expandedp)
 
       /* If we got invalid arguments bail out before generating bad rtl.  */
       if (arg0 == error_mark_node)
-       return NULL_RTX;
+       return const0_rtx;
 
       if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
        op0 = copy_to_mode_reg (mode0, op0);
@@ -4126,13 +4126,13 @@ altivec_expand_builtin (exp, target, expandedp)
 
       /* If we got invalid arguments bail out before generating bad rtl.  */
       if (arg0 == error_mark_node)
-       return NULL_RTX;
+       return const0_rtx;
 
       if (TREE_CODE (arg0) != INTEGER_CST
          || TREE_INT_CST_LOW (arg0) & ~0x3)
        {
          error ("argument to dss must be a 2-bit unsigned literal");
-         return NULL_RTX;
+         return const0_rtx;
        }
 
       if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
@@ -4161,13 +4161,13 @@ altivec_expand_builtin (exp, target, expandedp)
        if (arg0 == error_mark_node
            || arg1 == error_mark_node
            || arg2 == error_mark_node)
-         return NULL_RTX;
+         return const0_rtx;
 
       if (TREE_CODE (arg2) != INTEGER_CST
          || TREE_INT_CST_LOW (arg2) & ~0x3)
        {
          error ("argument to `%s' must be a 2-bit unsigned literal", d->name);
-         return NULL_RTX;
+         return const0_rtx;
        }
 
        if (! (*insn_data[d->icode].operand[0].predicate) (op0, mode0))