On 3/9/20 1:45 PM, Vitaly Chikunov wrote: > rlwinm cannot just AND with Mask if shift value is zero on ppc64 when > Mask Begin is greater than Mask End and high bits are set to 1. > > Note that PowerISA 3.0B says that for `rlwinm' ROTL32 is used, and > ROTL32 is defined (in 3.3.14) so that rotated value should have two > copies of lower word of the source value. > > This seems to be another incarnation of the fix from 820724d170 > ("target-ppc: Fix rlwimi, rlwinm, rlwnm again"), except I leave > optimization when Mask value is less than 32 bits. > > Fixes: 7b4d326f47 ("target-ppc: Use the new deposit and extract ops") > Cc: qemu-sta...@nongnu.org > Signed-off-by: Vitaly Chikunov <v...@altlinux.org> > ---
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~