retitle 655468 valgrind doesn't support the AVX instruction set.
severity 655468 wishlist
thanks

On Wed, Jan 11, 2012 at 02:29:25PM +0100, Ondra Lengal wrote:
> Package: valgrind
> Version: 1:3.7.0-1
> Severity: important
> 
>   Hi,
> 
> I have a problem while debugging a GCC-compiled program on my Intel Core
> i7-2600 (Sandy Bridge) with valgrind. Although the program runs and GDB
> does not object as well, when run in valgrind it terminates with the
> "unhandled instruction bytes" message (see the attached report), so
> valgrind (and callgrind, ...) is currently unusable for me. My
> unqualified guess is that there is a problem is with the use of SSE4.2
> instructions.
> 
> Do you have any advice how to remove this error?

It's nothing to do with sse4.2.

> vex amd64->IR: unhandled instruction bytes: 0xC5 0xFA 0x10 0x5 0x7E 0x70 0xE 
> 0x0

Doing this:

    $ cat ~/a.c
    int main(void)
    {
        asm(".byte 0xC5, 0xFA, 0x10, 0x5, 0x7E, 0x70, 0xE, 0x0");
        return 0;
    }
    $ make a

Shows in gdb:
Dump of assembler code for function main:
   0x00000000004004d4 <+0>:     push   %rbp
   0x00000000004004d5 <+1>:     mov    %rsp,%rbp
   0x00000000004004d8 <+4>:     vmovss 0xe707e(%rip),%xmm0        # 0x4e755e
   0x00000000004004e0 <+12>:    mov    $0x0,%eax
   0x00000000004004e5 <+17>:    pop    %rbp
   0x00000000004004e6 <+18>:    retq   

vmovss is AVX and valgrind doesn't support avx instructions.

Solution: do not generate AVX insns (see gcc doc for that). It's likely that
you're either passing -mavx to your GCC or are optimizing for an AVX
enabled CPU. Just don't, it's not supported and documented.
-- 
·O·  Pierre Habouzit
··O                                                madco...@debian.org
OOO                                                http://www.madism.org



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to