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

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-23 
13:45:36 UTC ---
On the branch I see:

   0x000000000040d1b3 <+50131>: rdtsc  
   0x000000000040d1b5 <+50133>: mov    %edx,%r11d
   0x000000000040d1b8 <+50136>: mov    0x8(%rsp),%rdx
   0x000000000040d1bd <+50141>: movslq %ecx,%rbp
   0x000000000040d1c0 <+50144>: xor    $0x1,%ecx
   0x000000000040d1c3 <+50147>: movslq %ecx,%rcx
   0x000000000040d1c6 <+50150>: lea    (%rdx,%rbp,4),%r14
   0x000000000040d1ca <+50154>: movslq %esi,%rbp
---Type <return> to continue, or q <return> to quit---
   0x000000000040d1cd <+50157>: xor    $0x4,%esi
   0x000000000040d1d0 <+50160>: movslq %esi,%rsi
   0x000000000040d1d3 <+50163>: lea    (%rdx,%rbp,4),%r13
   0x000000000040d1d7 <+50167>: lea    (%rdx,%rcx,4),%r12
   0x000000000040d1db <+50171>: lea    (%rdx,%rsi,4),%rbp
   0x000000000040d1df <+50175>: movslq %eax,%rsi
=> 0x000000000040d1e2 <+50178>: mov    0x6101c0(,%rsi,4),%ecx

which isn't a bright thing to do (offset RESULT by tsc counter read).  It's
also obviously not what the source does.

Reply via email to