Commit 28ed1460 by Vladimir Makarov Committed by Vladimir Makarov

re PR inline-asm/84985 (ICE in match_reload, at lra-constraints.c:1068)

2018-03-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR inline-asm/84985
	* lra-constraints.c (process_alt_operands): Move setting
	this_alternative_matches below.

2018-03-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR inline-asm/84985
	* gcc.target/i386/pr84985.c: New.

From-SVN: r258961
parent 9fa1b661
2018-03-29 Vladimir Makarov <vmakarov@redhat.com>
PR inline-asm/84985
* lra-constraints.c (process_alt_operands): Move setting
this_alternative_matches below.
2018-03-29 Martin Liska <mliska@suse.cz> 2018-03-29 Martin Liska <mliska@suse.cz>
PR lto/84995. PR lto/84995.
......
...@@ -2126,7 +2126,6 @@ process_alt_operands (int only_alternative) ...@@ -2126,7 +2126,6 @@ process_alt_operands (int only_alternative)
&& curr_operand_mode[m] != curr_operand_mode[nop]) && curr_operand_mode[m] != curr_operand_mode[nop])
break; break;
this_alternative_matches = m;
m_hregno = get_hard_regno (*curr_id->operand_loc[m], false); m_hregno = get_hard_regno (*curr_id->operand_loc[m], false);
/* We are supposed to match a previous operand. /* We are supposed to match a previous operand.
If we do, we win if that one did. If we do If we do, we win if that one did. If we do
...@@ -2228,6 +2227,7 @@ process_alt_operands (int only_alternative) ...@@ -2228,6 +2227,7 @@ process_alt_operands (int only_alternative)
else else
did_match = true; did_match = true;
this_alternative_matches = m;
/* This can be fixed with reloads if the operand /* This can be fixed with reloads if the operand
we are supposed to match can be fixed with we are supposed to match can be fixed with
reloads. */ reloads. */
......
2018-03-29 Vladimir Makarov <vmakarov@redhat.com>
PR inline-asm/84985
* gcc.target/i386/pr84985.c: New.
2018-03-29 David Malcolm <dmalcolm@redhat.com> 2018-03-29 David Malcolm <dmalcolm@redhat.com>
PR c++/85110 PR c++/85110
......
/* { dg-do compile } */
/* { dg-options "-O0" } */
int main() {
int a;
asm("" : "=d"(a) : "0"(a), "0ae"(&a));
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment