------- Comment #2 from jakub at gcc dot gnu dot org  2010-03-22 18:22 -------
In the second testcase it is actually TER that breaks this (both on the trunk
and 4.4-RH).
In *.nrv we still have:
  [d.c : 4:4] l_2 = l_1(D) + 1;
  [d.c : 4:4] # DEBUG l => l_2
  [d.c : 6:9] # DEBUG h => n_3(D)
  [d.c : 7:11] # DEBUG i => k_5(D)
  [d.c : 7:19] k_7 = k_5(D) + 1;
  [d.c : 7:19] # DEBUG k => k_7
  [d.c : 8:11] # DEBUG j => m_8(D)
  [d.c : 8:19] m_10 = m_8(D) + 1;
  [d.c : 8:19] # DEBUG m => m_10
  [d.c : 10:3] __asm__ __volatile__("" :  : "r" k_7, "r" l_2, "r" m_10);
  [d.c : 11:1] return;
and the right block.  Not sure why we do TER for "r" constraint, but even if we
do and it turns that some of the generated insns match what has been TERed, it
would be good to adjust locus and block of the insns.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matz at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43479

Reply via email to