aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-01-20 18:21:28 -0800
committerRichard Henderson <rth@gcc.gnu.org>1999-01-20 18:21:28 -0800
commitee5332b81a9cd1dea4c73f596648ae70533f5fe5 (patch)
tree4c960fd14fd699be96f9a90c1bf2065a35c3be43 /gcc/recog.c
parent898df643ab776bbaead668113abbb08b77d5f4a1 (diff)
downloadgcc-ee5332b81a9cd1dea4c73f596648ae70533f5fe5.zip
gcc-ee5332b81a9cd1dea4c73f596648ae70533f5fe5.tar.gz
gcc-ee5332b81a9cd1dea4c73f596648ae70533f5fe5.tar.bz2
cse.c (fold_rtx): Revert 29 Dec change.
* cse.c (fold_rtx): Revert 29 Dec change. (cse_insn): Revert 12 Jan change. * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX. * regclass.c (reg_scan_mark_refs): Revert 29 Dec change. * rtl.def: Likewise. * rtl.h (CONSTANT_P): Likewise. * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX to memory. * recog.c (immediate_operand): Accept CONSTANT_P_RTX. * alpha.c (input_operand): Likewise. * c4x.c (const_operand): Likewise. * explow.c (allocate_dynamic_stack_space): Use register_operand instead of arith_operand, which does not exist. * 1750a.h: Fix comment closure. * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change. * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch. * arm.h (TARGET_SWITCHES): Fix typo. * i370.md (anon mult and div patterns): Fix set mode mismatch. * i860.c (output_delayed_branch): Fix operands to constrain_operands. (output_delay_insn): Likewise. * m88k.md (anon rotate insns): Fix set mode mismatch. (anon BLKmode moves): Commonize and fix set mode mismatches. * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch. * romp.md (movdf): Fix typo. From-SVN: r24796
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 6d8db93..db06d04 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -1088,6 +1088,12 @@ immediate_operand (op, mode)
&& GET_MODE_CLASS (mode) != MODE_PARTIAL_INT)
return 0;
+ /* Accept CONSTANT_P_RTX, since it will be gone by CSE1 and
+ result in 0/1. It seems a safe assumption that this is
+ in range for everyone. */
+ if (GET_CODE (op) == CONSTANT_P_RTX)
+ return 1;
+
return (CONSTANT_P (op)
&& (GET_MODE (op) == mode || mode == VOIDmode
|| GET_MODE (op) == VOIDmode)