Add support for AArch32 CRC instruction in ARMv8.
authorKyrylo Tkachov <ktkachov@sourceware.org>
Mon, 11 Mar 2013 11:09:33 +0000 (11:09 +0000)
committerKyrylo Tkachov <ktkachov@sourceware.org>
Mon, 11 Mar 2013 11:09:33 +0000 (11:09 +0000)
commitdd5181d57f54aba7df0cee40028b9b446ef55f57
treeea975d618fc936f9cb625ab747620f1212b2a2c2
parent2f1d9bddccc54e02e2c5a94e8aa21e3c2f430068
Add support for AArch32 CRC instruction in ARMv8.

gas/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/tc-arm.c (crc_ext_armv8): New feature set.
(UNPRED_REG): New macro.
(do_crc32_1): New function.
(do_crc32b, do_crc32h, do_crc32w, do_crc32cb,
do_crc32ch, do_crc32cw): Likewise.
(TUEc): New macro.
(insns): Add entries for crc32 mnemonics.
(arm_extensions): Add entry for crc.

include/opcode/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* arm.h (CRC_EXT_ARMV8): New constant.
(ARCH_CRC_ARMV8): New macro.

opcodes/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* arm-dis.c (arm_opcodes): Add entries for CRC instructions.
(thumb32_opcodes): Likewise.
(print_insn_thumb32): Handle 'S' control char.

gas/testsuite/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gas/arm/crc32-bad.d: New file.
* gas/arm/crc32-bad.l: Likewise.
* gas/arm/crc32-bad.s: Likewise.
* gas/arm/crc32.d: Likewise.
* gas/arm/crc32.s: Likewise.
12 files changed:
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/crc32-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/crc32-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/crc32-bad.s [new file with mode: 0644]
gas/testsuite/gas/arm/crc32.d [new file with mode: 0644]
gas/testsuite/gas/arm/crc32.s [new file with mode: 0644]
include/opcode/ChangeLog
include/opcode/arm.h
opcodes/ChangeLog
opcodes/arm-dis.c