[Aarch64] Support ARMv8.2 AT instructions
Tristan Gingold
gingold@adacore.com
Tue Dec 15 10:44:00 GMT 2015
> On 14 Dec 2015, at 17:22, Matthew Wahab <matthew.wahab@foss.arm.com> wrote:
>
> On 14/12/15 16:19, Marcus Shawcroft wrote:
>> On 11 December 2015 at 12:58, Matthew Wahab <matthew.wahab@foss.arm.com> wrote:
>>
> [Re-inserted the context]
> I made a mistake with rebasing the ARMv8.2 AT instruction patch which
> left this part
>
> + /* AT S1E1RP, AT S1E1WP. Values are from aarch64_sys_regs_at. */
> + if ((reg->value == CPENS (0, C7, C9, 0)
> + || reg->value == CPENS (0, C7, C9, 1))
> + && !AARCH64_CPU_HAS_FEATURE (features, AARCH64_FEATURE_V8_2))
> + return FALSE;
>
> in aarch64_pstatefield_supported_p rather than in
> aarch64_sys_ins_reg_supported_p, where it was supposed to be.
>
> The patch adding support for id_aa64mmfr2_el1
> (https://sourceware.org/ml/binutils-cvs/2015-11/msg00163.html), also had
> the effect of removing a conditional branch in aarch64_sys_reg_supported_p.
>
> The effect of both of these is to suppress an error if some ARMv8.2
> system registers are used with the wrong -march settings.
>
>>> This patch fixes these mistakes.
>>>
>>> Tested for aarch64-none-linux-gnu with cross-compiled check-binutils and
>>> check-gas.
>>>
>>> opcodes/
>>> 2015-12-11 Matthew Wahab <matthew.wahab@arm.com>
>>>
>>> * aarch64-opc.c (aarch64_sys_reg_supported_p): Add mistakenly
>>> removed statement.
>>> (aarch64_pstatefield_supported_p): Move feature checks for AT
>>> registers ..
>>> (aarch64_sys_ins_reg_supported_p): .. to here.
>>>
>>
>> OK /Marcus
>>
>
> Thanks.
> Tristan, is this OK for the 2.26 branch?
Yes.
> Matthew
More information about the Binutils
mailing list