On Sat, 2012-02-25 at 22:10 +0100, Steve Burden wrote:
> 
> I should've mentioned of course that I'm using 3.8.0-SVN, checked out
> about a week ago (at home now so I cannot check the exact revision
> number right now).
> 
> 
> In any case, the fresh air on the walk home made me think:
>   0x000000000616aeee <+606>: prefetchw BYTE PTR [rdi+0x340]
> The prefetchw instruction doesn't sound as something common to me, so
> I would not be surprised if it is not implemented in Callgrind/LibVex.
> I can't explain yet why that instruction is hit only with certain data
> though.
> 
> 
> Is there an 'implemented instructions' list available for LibVex ?
I guess the only way for this is to look at guest_amd64_toIR.c

It looks like that prefetchw instruction should be supported
(see below extract of the code).
What you could do is to replace the 'goto decode_failure'
with  {
         VG_(printf) ("describe decode failure here\n");
         goto decode_failure;
      }
then run and see why it cannot be decoded.
You might also put Valgrind in gdb (see README_DEVELOPPERS),
and put breaks on the VG_(printf).

Philippe
 


      /* =-=-=-=-=-=-=-=-=- PREFETCH =-=-=-=-=-=-=-=-=-= */
      case 0x0D: /* 0F 0D /0 -- prefetch mem8 */
                 /* 0F 0D /1 -- prefetchw mem8 */
         if (have66orF2orF3(pfx)) goto decode_failure;
         modrm = getUChar(delta);
         if (epartIsReg(modrm)) goto decode_failure;
         if (gregLO3ofRM(modrm) != 0 && gregLO3ofRM(modrm) != 1)
            goto decode_failure;

         addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
         delta += alen;

         switch (gregLO3ofRM(modrm)) {
            case 0: DIP("prefetch %s\n", dis_buf); break;
            case 1: DIP("prefetchw %s\n", dis_buf); break;
            default: vassert(0); /*NOTREACHED*/
         }
         break;




------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to