[PATCH] gas/arm: Misses deprecated IT instruction warning for ARMv8

Jiong Wang jiong.wang@arm.com
Mon Jun 16 15:31:00 GMT 2014


On 16/06/14 15:41, Richard Earnshaw wrote:
> On 13/06/14 16:55, Nicholas Clifton wrote:
>> Hi Jiong,
>>
>>> given code:
>>>
>>> .thumb
>>> .syntax unified
>>>
>>> it eq
>>> addeq sp, sp, #12
>>>
>>> assembled with -march=armv8-a -mthumb, gas fails to warn
>>> that this is a deprecated form.
>> Where is this deprecation specified ?   Please can you give a reference
>> so that I can check it ?
>>
>> Cheers
>>     Nick
>>
>>
> It's in section F6.2 of the v8 ARM ARM:
>
> Registered users can get a copy from here:
>
> http://arminfo.emea.arm.com/help/topic/com.arm.doc.ddi0487a.b/DDI0487A_b_armv8_arm.pdf
>
> But this doesn't look right, since the instructions you need to match
> don't follow this pattern:
>
> +  { 0x00dd, 0x7fff, N_("ADD/SUB sp, sp #imm") },
>
> Specifically SUB SP is 0b101100001xxxxxxx
> and ADD SP is 0b101100000xxxxxxx.
>
> Iff your mask is right, it needs a comment to explain why.

yes, the mask confuse people at the first glance.

the reason to put "0x00dd" there is because arm assembler is using the
pseudo "tvalue" which is from the table "T16_32_TAB", instead of the
original encoding when that checking happen.

the real encoding will be converted back at later stage in "md_apply_fix".

OK for trunk?

Thanks

>
> R.
>
>




More information about the Binutils mailing list