[Arm, 3/3] Add Execution and Data Prediction instructions for AArch32
authorSudakshina Das <sudi.das@arm.com>
Fri, 5 Oct 2018 09:51:22 +0000 (10:51 +0100)
committerRichard Earnshaw <Richard.Earnshaw@arm.com>
Fri, 5 Oct 2018 10:31:21 +0000 (11:31 +0100)
commitdad0c3bfb5e32ff3f2a03830dc189fe207c7ae00
treefde5239ba63c1a055cc6a99b0a65d1a411d72ebf
parent7fadb25d6faf2665305016ceb4aeaeeb86015569
[Arm, 3/3] Add Execution and Data Prediction instructions for AArch32

This patch is part of the patch series to add support for ARMv8.5-A
extensions.

(https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools)

This patch adds the Execution and Data Prediction Restriction
instructions (that is, cfprctx, dvprxtc, cpprctx). These are all
aliases to MCR and are disassembled as such.

This instruction is retrospectively made optional for all versions of
the architecture from ARMv8.0 to ARMv8.4 and is mandatory from
ARMv8.5.  Hence adding a new +predres for older versions of the
architecture.

*** include/ChangeLog ***

2018-10-05  Sudakshina Das  <sudi.das@arm.com>

* opcode/arm.h (ARM_EXT2_PREDRES): New.
(ARM_ARCH_V8_5A): Add ARM_EXT2_PREDRES by default.

*** gas/ChangeLog ***

2018-10-05  Sudakshina Das  <sudi.das@arm.com>

* config/tc-arm.c (arm_ext_predres): New.
(insns): Add new cfprctx, dvprctx and cpprctx instructions.
(arm_extensions): Add "predres".
* doc/c-arm.texi: Document the above.
* testsuite/gas/arm/predres-bad.d: New test.
* testsuite/gas/arm/predres-bad.l: New test.
* testsuite/gas/arm/predres.s: New test.
* testsuite/gas/arm/predres1.d: New test.
* testsuite/gas/arm/predres2.d: New test.
gas/ChangeLog
gas/config/tc-arm.c
gas/doc/c-arm.texi
gas/testsuite/gas/arm/predres-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/predres-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/predres.s [new file with mode: 0644]
gas/testsuite/gas/arm/predres1.d [new file with mode: 0644]
gas/testsuite/gas/arm/predres2.d [new file with mode: 0644]
include/ChangeLog
include/opcode/arm.h
This page took 0.031778 seconds and 4 git commands to generate.