Respect the dead.
Sorry for the name.
When I did a FillQWord
for !544 (merged) I accidentally noticed a bug (typo) in 💀CompareWord_Plain💀
that causes
var
a, b: array of uint16;
begin
a := [1, 0, 3, 4];
b := [1, 1, 3, 4];
writeln(CompareWord_Plain(pUint16(a)^, pUint16(b)^, length(a)));
end.
to print 1
instead of a negative value. Also, sub $2, %ecx; jle .LLastPtrUint
never jumps because ecx
≥ 3 at this point.