On 30 May 2017 at 16:39, Peter Maydell <peter.mayd...@linaro.org> wrote:
> On 30 May 2017 at 16:26, Nikunj A Dadhania <nik...@linux.vnet.ibm.com> wrote:
>> Sandipan Das <sandipandas1...@gmail.com> writes:
>>
>>> The patterns for the following instructions are fixed:
>>>  * Rotate Left Doubleword then Clear Right (rldcr[.])
>>>  * Rotate Left Doubleword Immediate then Clear Right (rldicr[.])
>>>  * Rotate Left Doubleword Immediate then Mask Insert (rldimi[.])
>>>
>>> The first instruction has a typo. For the other two instructions,
>>> the extended opcodes are incorrect and the shift field 'sha' is
>>> absent. Also, the shift field 'sh' should be used in place of the
>>> register field 'rb'.
>>>
>>> Signed-off-by: Sandipan Das <sandipandas1...@gmail.com>
>>
>> Reviewed-by: Nikunj A Dadhania <nik...@linux.vnet.ibm.com>
>
> Thanks; applied to risu master.

...but I foolishly didn't run build-all-archs first, which
points out that there's a bug:
Syntax error detected evaluating RLDIMId PPC64LE constraints string:         ]
{ $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; }
Global symbol "$rb" requires explicit package name (did you forget to
declare "my $rb"?) at (eval 429) line 1.
Global symbol "$rb" requires explicit package name (did you forget to
declare "my $rb"?) at (eval 429) line 1.

You forgot to update the constraints when you changed the
field names... I think that the constraints on $rb should
be removed rather than just changed to use $sh because this
field is an immediate, not a register number, so we don't need
to make it avoid 1 and 13. This would bring them into line with
the other rotate-immediates. I'll post a patch in a second.

thanks
-- PMM

Reply via email to