From f08d8ce3cd39f34f26dbc681d873e59a0d7e6780 Mon Sep 17 00:00:00 2001 From: Andre Vieira Date: Thu, 16 May 2019 13:55:20 +0100 Subject: [PATCH] [PATCH 38/57][Arm][OBJDUMP] Disable the use of MVE reserved coproc numbers in coprocessor instructions opcodes/ChangeLog: 2019-05-16 Andre Vieira * arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors 8, 14 and 15 for Armv8.1-M Mainline. --- opcodes/ChangeLog | 5 +++++ opcodes/arm-dis.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ad73bdf8df..c2f78fc178 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2019-05-16 Andre Vieira + + * arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors + 8, 14 and 15 for Armv8.1-M Mainline. + 2019-05-16 Andre Vieira Michael Collison diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 615f34ffca..ddf707d6b1 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -3731,6 +3731,13 @@ print_insn_coprocessor (bfd_vma pc, { if (cp_num == 9 || cp_num == 10 || cp_num == 11) is_unpredictable = TRUE; + + /* Armv8.1-M Mainline FP & MVE instructions. */ + if (ARM_CPU_HAS_FEATURE (arm_ext_v8_1m_main, allowed_arches) + && !ARM_CPU_IS_ANY (allowed_arches) + && (cp_num == 8 || cp_num == 14 || cp_num == 15)) + continue; + } else if (insn->value == 0x0e000000 /* cdp */ || insn->value == 0xfe000000 /* cdp2 */