X86: Remove double-cast in Cvtf2i micro-op
This double cast led to rounding errors which caused some benchmarks to get the wrong values, most notably lucas which failed spectacularly due to CVTTSD2SI returning an off-by-one value. equake was also broken.
This commit is contained in:
@@ -1237,7 +1237,7 @@ let {{
|
||||
}
|
||||
|
||||
if (destSize == 4) {
|
||||
argBits = (uint32_t)(float)arg;
|
||||
argBits = (uint32_t)arg;
|
||||
} else {
|
||||
argBits = (uint64_t)arg;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user