qemu-stable
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] target/ppc: Fix lxvx/stxvx facility check


From: Claudio Fontana
Subject: Re: [PATCH] target/ppc: Fix lxvx/stxvx facility check
Date: Wed, 18 Sep 2024 17:11:12 +0200
User-agent: Mozilla Thunderbird

Adding Ilya FYI.

Ciao,

Claudio

On 9/11/24 18:19, Claudio Fontana wrote:
> On 9/11/24 16:16, Fabiano Rosas wrote:
>> The XT check for the lxvx/stxvx instructions is currently
>> inverted. This was introduced during the move to decodetree.
>>
>> From the ISA:
>>   Chapter 7. Vector-Scalar Extension Facility
>>   Load VSX Vector Indexed X-form
>>
>>   lxvx XT,RA,RB
>>   if TX=0 & MSR.VSX=0 then VSX_Unavailable()
>>   if TX=1 & MSR.VEC=0 then Vector_Unavailable()
>>   ...
>>   Let XT be the value 32×TX + T.
>>
>> The code currently does the opposite:
>>
>>     if (paired || a->rt >= 32) {
>>         REQUIRE_VSX(ctx);
>>     } else {
>>         REQUIRE_VECTOR(ctx);
>>     }
>>
>> This was already fixed for lxv/stxv at commit "2cc0e449d1 (target/ppc:
>> Fix lxv/stxv MSR facility check)", but the indexed forms were missed.
>>
>> Cc: qemu-stable@nongnu.org
>> Fixes: 70426b5bb7 ("target/ppc: moved stxvx and lxvx from legacy to 
>> decodtree")
>> Signed-off-by: Fabiano Rosas <farosas@suse.de>
>> ---
>>  target/ppc/translate/vsx-impl.c.inc | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target/ppc/translate/vsx-impl.c.inc 
>> b/target/ppc/translate/vsx-impl.c.inc
>> index 40a87ddc4a..a869f30e86 100644
>> --- a/target/ppc/translate/vsx-impl.c.inc
>> +++ b/target/ppc/translate/vsx-impl.c.inc
>> @@ -2244,7 +2244,7 @@ static bool do_lstxv_PLS_D(DisasContext *ctx, 
>> arg_PLS_D *a,
>>  
>>  static bool do_lstxv_X(DisasContext *ctx, arg_X *a, bool store, bool paired)
>>  {
>> -    if (paired || a->rt >= 32) {
>> +    if (paired || a->rt < 32) {
>>          REQUIRE_VSX(ctx);
>>      } else {
>>          REQUIRE_VECTOR(ctx);
> 
> Reviewed-by: Claudio Fontana <cfontana@suse.de>
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]