[Issue 12873] New: Valgrind unhandled instruction bytes 0x48 0xDB (redundant REX_W prefix on x87 load)
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Jun 6 16:43:03 PDT 2014
https://issues.dlang.org/show_bug.cgi?id=12873
Issue ID: 12873
Summary: Valgrind unhandled instruction bytes 0x48 0xDB
(redundant REX_W prefix on x87 load)
Product: D
Version: D1 & D2
Hardware: x86_64
OS: All
Status: NEW
Severity: major
Priority: P1
Component: DMD
Assignee: yebblies at gmail.com
Reporter: yebblies at gmail.com
This code, compiled with 2.066 master, fails to run under valgrind
module complex;
struct complex_t
{
real re = 0;
real im = 0;
int opEquals(complex_t y) { return re == y.re && im == y.im; }
};
void main()
{
auto x = complex_t(0);
assert(x == x);
}
Gives (among other messages)
vex amd64->IR: unhandled instruction bytes: 0x48 0xDB 0x6B 0x70 0x48 0x83
This is a bug in valgrind, where it doesn't accept the redundant 0x48 (REX_W)
prefix on the fld instruction.
We can work around this by not emitting the REX_W prefix on this instruction.
--
More information about the Digitalmars-d-bugs
mailing list