On 15 August 2018 at 09:30, Roman Kapl <roman.k...@sysgo.com> wrote:
> Hi and thanks for review,
>
> On 08/14/2018 08:12 PM, Peter Maydell wrote:
>>
>> On 14 August 2018 at 17:54, Roman Kapl <r...@sysgo.com> wrote:
>>>
>>> If an instruction is conditional (like CBZ) and it is executed
>>> conditionally
>>> (using the ITx instruction), a jump to undefined label is generated.
>>>
>>> Fix the 'skip on condtion' code to create a new label only if it does not
>>> already exist. Previously multiple labels were created, but only the last
>>> one of
>>> them was set.
>>
>>
>> Hi; thanks for the bug report and the patch.
>>
>> This case (CBZ inside an IT block) is architecturally UNPREDICTABLE,
>> but we certainly shouldn't crash QEMU.
>
>
> Hm... I am not able to find that claim in my ARMv7 reference manual (but I
> am no ARM expert).

v7A Arm ARM DDI0406C.b, section A8.8.29 "CBNZ, CBZ":
pseudocode says "if InITBlock() then UNPREDICTABLE;".

thanks
-- PMM

Reply via email to