re PR target/51287 (252.eon compfail with -march=atom)

PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

From-SVN: r181713
This commit is contained in:
Enkovich Ilya 2011-11-25 09:46:27 +00:00 committed by Kirill Yukhin
parent c466c4ff90
commit 696095350b
2 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2011-11-24 Enkovich Ilya <ilya.enkovich@intel.com>
PR target/51287
* i386.c (distance_non_agu_define): Fix insn attr check.
2011-11-24 Andrew MacLeod <amacleod@redhat.com>
* optab.c (maybe_emit_atomic_exchange): New. Try to emit an

View File

@ -16273,7 +16273,6 @@ distance_non_agu_define_in_bb (unsigned int regno1, unsigned int regno2,
basic_block bb = start ? BLOCK_FOR_INSN (start) : NULL;
rtx prev = start;
rtx next = NULL;
enum attr_type insn_type;
*found = false;
@ -16286,8 +16285,8 @@ distance_non_agu_define_in_bb (unsigned int regno1, unsigned int regno2,
distance = increase_distance (prev, next, distance);
if (insn_defines_reg (regno1, regno2, prev))
{
insn_type = get_attr_type (prev);
if (insn_type != TYPE_LEA)
if (recog_memoized (prev) < 0
|| get_attr_type (prev) != TYPE_LEA)
{
*found = true;
return distance;