target-arm: Add the THUMB_DSP feature
commit62b44f059a84d1ac580a653fc4110dfabaef6b83
authorAurelio C. Remonda <aurelioremonda@gmail.com>
Mon, 15 Jun 2015 17:06:09 +0000 (15 18:06 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 15 Jun 2015 17:06:09 +0000 (15 18:06 +0100)
tree1e626439b0f46595fedee0643a4b6351374845cf
parent13e1e476b4bc111d36fffaea025f90d8db52b697
target-arm: Add the THUMB_DSP feature

Create an ARM_FEATURE_THUMB_DSP controlling the Thumb encodings of
the 85 DSP instructions (these are all Thumb2). This is enabled for
all non-M-profile CPUs with Thumb2 support, as the instructions are
mandatory for R and A profiles. On M profile they are optional and
not present in the Cortex-M3 (though they are in the M4).

The effect of this commit is that we will now treat the DSP
encodings as illegal instructions on M3, when previously we
incorrectly implemented them.

Signed-off-by: Aurelio C. Remonda <aurelioremonda@gmail.com>
Message-id: 1434311355-26554-1-git-send-email-aurelioremonda@gmail.com
[PMM: added clz/crc32/crc32c and default case to the early-decode switch;
 minor format/spacing fixups; reworded commit message a bit]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/cpu.c
target-arm/cpu.h
target-arm/translate.c