[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/ppc: Fix rlwinm on ppc64
From: |
Richard Henderson |
Subject: |
Re: [PATCH] target/ppc: Fix rlwinm on ppc64 |
Date: |
Mon, 9 Mar 2020 21:13:05 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
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: address@hidden
> Signed-off-by: Vitaly Chikunov <address@hidden>
> ---
Reviewed-by: Richard Henderson <address@hidden>
r~