Bug 286497

Summary: amd64 + vex: unhandled vcvtsi2ss instruction
Product: [Developer tools] valgrind Reporter: Evgeniy A. Dushistov <dushistov>
Component: vexAssignee: Julian Seward <jseward>
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description Evgeniy A. Dushistov 2011-11-13 15:43:06 UTC
Version:           unspecified
OS:                Linux

I run valgrind on my program linked in Google's libprotobuf and it crashed:

vex amd64->IR: unhandled instruction bytes: 0xC4 0xE1 0xFA 0x2A 0xC3 0xE8 0x16 0xFD
==23717== valgrind: Unrecognised instruction at address 0x64a1328.
==23717==    at 0x64A1328: global constructors keyed to parser.cc (hashtable_policy.h:423)
==23717==    by 0x64A27A5: ??? (in /usr/lib64/libprotobuf.so.6.0.0)
==23717==    by 0x641D9E2: ??? (in /usr/lib64/libprotobuf.so.6.0.0)
==23717== Your program just tried to execute an instruction that Valgrind
==23717== did not recognise.

I disasm code that cause problem:
cc328:        c4 e1 fa 2a c3          vcvtsi2ss %rbx,%xmm0,%xmm0
cc32d:       e8 16 fd f7 ff          callq  4c048 <ceilf@plt>
cc332:       c5 f8 2e 05 9a 2b 00    vucomiss 0x2b9a(%rip),%xmm0 

Reproducible: Didn't try

Steps to Reproduce:
Run valgrind on program with linked libprotobuf,
plus compile libprotobuf using gcc(4.5.3) with flags:
-O2 -march=native on i7 CPU.

Actual Results:  

Expected Results:  
not crahsed
Comment 1 Julian Seward 2012-01-25 12:44:58 UTC

*** This bug has been marked as a duplicate of bug 273475 ***