aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMatthew Malcomson <matthew.malcomson@arm.com>2019-11-07 16:53:40 +0000
committerMatthew Malcomson <matthew.malcomson@arm.com>2019-11-07 16:55:29 +0000
commit33593eafc92b6376a71bef49f5cebd6e09abd283 (patch)
tree1152423bcfc13fc259e66fc5b2f1bfebd379a80c /gas
parentdf6780137dc9d832db8c5525ecc760acdbcde5c9 (diff)
downloadfsf-binutils-gdb-33593eafc92b6376a71bef49f5cebd6e09abd283.zip
fsf-binutils-gdb-33593eafc92b6376a71bef49f5cebd6e09abd283.tar.gz
fsf-binutils-gdb-33593eafc92b6376a71bef49f5cebd6e09abd283.tar.bz2
[Patch][binutils][arm] Create a new generic coprocessor array [3/10]
Hi, This patch is part of a series that adds support for Armv8.6-A (Matrix Multiply and BFloat16 extensions) to binutils. Some generic instructions match a large range of encoding space (e.g. stc, mcr, mrc). Currently these instructions are in the coprocessor_opcodes array, which means they are checked before many other instructions when disassembling arm and thumb32 codes. This patch moves the generic instructions into a separate array to be checked later on. This is done in order to avoid instruction conflict between the generic instructions and newer ones -- this has already been seen with MVE, and is also a problem with BFloat16. One way to avoid the conflict could be to swap the search order between coprocessor_opcodes and neon_opcodes. We avoid this since it's a larger change that may introduce extra bugs (that aren't caught by the testsuite). We have decided against searching the generic array after searching the arm specific and thumb32 specific arrays with a similar reasoning about keeping the change small. Regression tested with arm-none-linux-gnueabihf. Committed on behalf of Mihail Ionescu. opcodes/ChangeLog: 2019-10-29 Mihail Ionescu <mihail.ionescu@arm.com> 2019-10-29 Matthew Malcomson <matthew.malcomson@arm.com> * arm-dis.c (print_insn_coprocessor, print_insn_generic_coprocessor): Create wrapper functions around the implementation of the print_insn_coprocessor control codes. (print_insn_coprocessor_1): Original print_insn_coprocessor function that now takes which array to look at as an argument. (print_insn_arm): Use both print_insn_coprocessor and print_insn_generic_coprocessor. (print_insn_thumb32): As above. Is it ok for trunk? Regards, Mihail
Diffstat (limited to 'gas')
0 files changed, 0 insertions, 0 deletions