]> git.ipfire.org Git - thirdparty/valgrind.git/commit
Fix rounding mode check and instruction stxvl
authorCarl Love <cel@us.ibm.com>
Mon, 3 Oct 2016 15:30:46 +0000 (15:30 +0000)
committerCarl Love <cel@us.ibm.com>
Mon, 3 Oct 2016 15:30:46 +0000 (15:30 +0000)
commit316575fda35b5a16ba17338846253ecf1a7fa70a
treecca661046b19249637ba6064de4c241195768978
parente8db825ccf5f550fe53742e387d084c8e829d175
Fix rounding mode check and instruction stxvl

In BE mode, the function FPU_rounding_mode_isOdd() has the assert
  vassert(mode->Iex.Const.con->Ico.U8 == 0x8);
The value was set using mkU32 but in BE mode the U8 maps to the upper
bits in the memory location not the lower bits.  The comparison was
fixed by changing the .U8 to .U32 to be consistent with how the field
was set.

The stxvl instruction called the 64-bit NOT not the 128-bit NOT when
calculating the store_val.

The stxvx instruction the temp word values were initialized I32 not I64.
Not sure why this wasn't caught on LE.

bugzilla  369175

git-svn-id: svn://svn.valgrind.org/vex/trunk@3252
VEX/priv/guest_ppc_toIR.c
VEX/priv/host_ppc_isel.c