From 5f2e0797aeb67a52d1b71859e054f55d1cd24ec7 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 4 Jun 2014 17:34:19 +0000 Subject: recog.c (preprocess_constraints): Don't skip disabled alternatives. gcc/ * recog.c (preprocess_constraints): Don't skip disabled alternatives. * ira-lives.c (check_and_make_def_conflict): Check for disabled alternatives. (make_early_clobber_and_input_conflicts): Likewise. * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise. From-SVN: r211239 --- gcc/config/i386/i386.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/config/i386/i386.c') diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 21fa8f4..e0e55d5 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5875,8 +5875,11 @@ ix86_legitimate_combined_insn (rtx insn) /* Operand has no constraints, anything is OK. */ win = !n_alternatives; + alternative_mask enabled = recog_data.enabled_alternatives; for (j = 0; j < n_alternatives; j++, op_alt += n_operands) { + if (!TEST_BIT (enabled, j)) + continue; if (op_alt[i].anything_ok || (op_alt[i].matches != -1 && operands_match_p -- cgit v1.1