f64f1f8704
LQ, STQ have the same register-pair ordering as LQARX/STQARX., which is the even (lower) register contains the most significant bits. This is not implemented correctly for big-endian. do_ldst_quad() has variables low_addr_gpr and high_addr_gpr which is confusing because they are low and high addresses, whereas LQARX/STQARX. and most such things use the low and high values for lo/hi variables. The conversion to native 128-bit memory access functions missed this strangeness. Fix this by changing the if condition, and change the variable names to hi/lo to match convention. Cc: qemu-stable@nongnu.org Reported-by: Ivan Warren <ivan@vmfacility.fr> Fixes: |
||
---|---|---|
.. | ||
branch-impl.c.inc | ||
dfp-impl.c.inc | ||
fixedpoint-impl.c.inc | ||
fp-impl.c.inc | ||
fp-ops.c.inc | ||
processor-ctrl-impl.c.inc | ||
spe-impl.c.inc | ||
spe-ops.c.inc | ||
storage-ctrl-impl.c.inc | ||
vmx-impl.c.inc | ||
vmx-ops.c.inc | ||
vsx-impl.c.inc | ||
vsx-ops.c.inc |