From 9a171fcd88071fae1b38a1832c47219f0997b71d Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Thu, 30 May 2002 12:07:10 +0000 Subject: [PATCH] rs6000.c (rs6000_expand_unop_builtin): Return const0_rtx instead of NULL_RTX when in error. 2002-05-30 Aldy Hernandez * 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 | 11 +++++++++++ gcc/config/rs6000/rs6000.c | 28 ++++++++++++++-------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 03903a3ce25..655842206bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2002-05-30 Aldy Hernandez + + * 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 * rtl.h (clear_emit_caches): Delete. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 84b4671ed2d..350c4f939e3 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)) -- 2.30.2