This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, GAS/ARM] Allow assembly of IT blocks with AL condition


On 22/03/17 13:54, Prakhar Bahuguna wrote:
> On 22/03/2017 11:44:46, Richard Earnshaw (lists) wrote:
>> It would also be nice to have an error test that shows that 'ite al'
>> generates a suitable diagnostic.
> 
> Noted, I'll add one shortly.
> 
>> Is 'al' mandatory within such a block, or would we accept 'mov	r0, #0'?
>> (I'd be inclined to say we shouldn't, but that could be debated).
> 
> The current behaviour with the patch accepts 'mov	r0, #0' within the IT
> block, as the 'al' suffix is implicit if there isn't a conditional suffix.
> Would it be preferable to explicitly demand the 'al' suffix in this particular
> instance for clarity?
> 

Yes, it will catch cases where you have

ITT AL
MOVAL  ...
MOVAL  ...
MOV    ...

and then remove one of the instructions but forget to update the IT
instruction.

>> What happens when -mimplicit-it=always is on and I write 'moval r0, #0'
>> outside of an explicit IT block?  Do I get a normal instruction, or does
>> it insert an IT instruction before it?
> 
> The behaviour of implicit IT blocks is unaffected, so 'moval' on its own should
> always give the normal instruction as again the 'al' suffix is considered
> implicit if no conditional suffix is specified.
> 
> --
> 
> Prakhar Bahuguna
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]