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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-04-14 
12:35:20 UTC ---
Created attachment 23980
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23980
gcc46-pr48597.patch

Untested fix.  Better testcase where the bug isn't mitigated by the CFI
optimization patch mentioned earlier:

void
foo (void)
{
  register long r __asm ("r12");
  register long s __asm ("r13");
  register long t __asm ("r14");
  register long u __asm ("r15");
  asm volatile ("xorq %0, %0" : "=r" (r));
  asm volatile ("xorq %0, %0" : "=r" (s));
  asm volatile ("xorq %0, %0" : "=r" (t));
  asm volatile ("xorq %0, %0" : "=r" (u));
}

Reply via email to