| Summary: | valgrind appears to choke on the xmms instruction "roundsd" on x86_64 | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | srp |
| Component: | vex | Assignee: | Julian Seward <jseward> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | lichunhui2001, njn |
| Priority: | NOR | ||
| Version First Reported In: | 3.4.1 | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
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. *** |
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.