When gcc (4.3.3-5ubuntu4) compiling my code with "-march=nocana -ffast-math -mfpmath=sse,387" and then running it under valgrind i get the following crash: vex amd64->IR: unhandled instruction bytes: 0x66 0xF 0x3A 0xB 0xC0 0x2 <snip> ==18455== Either way, Valgrind will now raise a SIGILL signal which will ==18455== probably kill your program. "66 0f 3a 0b" appears t be the roundsd instruction (from intel manual 2b): ROUNDSD — Round Scalar Double Precision Floating-Point Values Opcode Instruction 64-bit Compat/ Description Mode Leg Mode 66 0F 3A 0B ROUNDSD xmm1, Valid Valid Round the low packed double /r ib xmm2/m64, imm8 precision floating-point value in xmm2/m64 and place the result in xmm1. The rounding mode is determined by imm8.
What CPU is this running on?
At the moment core 2 duo (T7600), but it also happened on a xeon box. sRp ----- Original Message ----- From: "Julian Seward" <jseward@acm.org> Sent: Sun, June 21, 2009 9:53 Subject:[Bug 197266] valgrind appears to choke on the xmms instruction"roundsd" on x86_64 https://bugs.kde.org/show_bug.cgi?id=197266 --- Comment #1 from Julian Seward <jseward acm org> 2009-06-21 18:53:09 --- What CPU is this running on?
Fixed (vex r1985).
*** Bug 283743 has been marked as a duplicate of this bug. ***