From 9e87cc8929353fabf59e883fe49005572b8469b0 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 19 Sep 1992 15:55:22 -0400 Subject: [PATCH] (walk_insn_part, case IF_THEN_ELSE): Refine when HAVE_CMOVE_FLAG gets set. From-SVN: r2185 --- gcc/genconfig.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/genconfig.c b/gcc/genconfig.c index 820e1d850bfb..be06d832a35a 100644 --- a/gcc/genconfig.c +++ b/gcc/genconfig.c @@ -126,7 +126,15 @@ walk_insn_part (part, recog_p, non_pc_set_src) return; case IF_THEN_ELSE: - if (recog_p && non_pc_set_src) + /* Only consider this machine as having a conditional move if the + two arms of the IF_THEN_ELSE are both MATCH_OPERAND. Otherwise, + we have some specific IF_THEN_ELSE construct (like the doz + instruction on the RS/6000) that can't be used in the general + context we want it for. */ + + if (recog_p && non_pc_set_src + && GET_CODE (XEXP (part, 1)) == MATCH_OPERAND + && GET_CODE (XEXP (part, 2)) == MATCH_OPERAND) have_cmove_flag = 1; break; -- 2.43.5