Bug 402519 - POWER 3.0 addex instruction incorrectly implemented
commit2c1f016e634bf79faf45e81c14c955c711bc202f
authorMark Wielaard <mark@klomp.org>
Mon, 31 Dec 2018 21:26:31 +0000 (31 22:26 +0100)
committerMark Wielaard <mark@klomp.org>
Mon, 31 Dec 2018 21:26:31 +0000 (31 22:26 +0100)
tree23ba7ae2b4ea346647c0955503f7caf23f8bd75c
parent9966fa6b6915722154ffbe4cea3f5a173515fb96
Bug 402519 - POWER 3.0 addex instruction incorrectly implemented

addex uses OV as carry in and carry out. For all other instructions
OV is the signed overflow flag. And instructions like adde use CA
as carry.

Replace set_XER_OV_OV32 with set_XER_OV_OV32_ADDEX, which will
call calculate_XER_CA_64 and calculate_XER_CA_32, but with OV
as input, and sets OV and OV32.

Enable test_addex in none/tests/ppc64/test_isa_3_0.c and update
the expected output. test_addex would fail to match the expected
output before this patch.
NEWS
VEX/priv/guest_ppc_toIR.c
none/tests/ppc64/test_isa_3_0.c
none/tests/ppc64/test_isa_3_0_other.stdout.exp-LE