https://bugs.kde.org/show_bug.cgi?id=359472
Bug ID: 359472
Summary: The Power PC vsubuqm instruction doesn't always give
the correct result.
Product: valgrind
Version: 3.12 SVN
Platform: Other
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: vex
Assignee: [email protected]
Reporter: [email protected]
The vsubuqm instruction is used to do the following 128-bit add.
vi0 = 00008000000000000000000000000000 (hex)
vi1= 00000000000000000001000000000000 (hex)
vi0+vi1 = 00007fffffffffffffff000000000000 (expected result in hex)
vi0+vi1 = 00007ffffffffffffffeffff000000000 (actual result in hex)
The instruction in Valgrind is emulated by taking the 128-bit operands as four
32-bit operands and adding them. The carry from each 32-bit value is
calculated and propagated to the next 32-bit chunk. The issue is the
calculation for the carry is not correct for all cases. It is only checking
if the result of the 32-bit add is less then one of the inputs not both inputs.
Reproducible: Always
--
You are receiving this mail because:
You are watching all bug changes.