aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2002-05-30 12:07:10 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2002-05-30 12:07:10 +0000
commit9a171fcd88071fae1b38a1832c47219f0997b71d (patch)
tree9919662268d05a76fe35e3829c706264914d69a9 /gcc
parent62a35e6088788bae63480d381be74e5493e39df4 (diff)
downloadgcc-9a171fcd88071fae1b38a1832c47219f0997b71d.zip
gcc-9a171fcd88071fae1b38a1832c47219f0997b71d.tar.gz
gcc-9a171fcd88071fae1b38a1832c47219f0997b71d.tar.bz2
rs6000.c (rs6000_expand_unop_builtin): Return const0_rtx instead of NULL_RTX when in error.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/rs6000/rs6000.c28
2 files changed, 25 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 03903a3..6558422 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 84b4671..350c4f93 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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))