diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2020-11-13 08:59:48 +0000 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2020-11-19 10:07:51 +0000 |
commit | 33973d228c9bdaf36746e9e2d7c0b07c2eb0d2c3 (patch) | |
tree | 478d2e487c4ae5d1d8849c9a99a469e437e15c19 | |
parent | 0c8652fe2885dbace91ae70f676b9cac6f1c2a07 (diff) | |
download | gdb-33973d228c9bdaf36746e9e2d7c0b07c2eb0d2c3.zip gdb-33973d228c9bdaf36746e9e2d7c0b07c2eb0d2c3.tar.gz gdb-33973d228c9bdaf36746e9e2d7c0b07c2eb0d2c3.tar.bz2 |
gas, arm: PR26858 Fix availability of single precision vmul/vmla in arm mode
This patch fixes a mistake when enabling MVE instructions that disabled support
for single precision vmla and vmul for arm mode.
gas/ChangeLog:
2020-11-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
Backport from mainline.
2020-11-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
PR 26858
* config/tc-arm.c (asm_opcode insns): Fix vmul and vmla's ARM_VARIANT.
* testsuite/gas/arm/pr26858.s: New test.
* testsuite/gas/arm/pr26858.d: New test.
-rw-r--r-- | gas/config/tc-arm.c | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/pr26858.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/pr26858.s | 6 |
3 files changed, 16 insertions, 2 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index b6bb0de..d7849ba 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -26002,14 +26002,14 @@ static const struct asm_opcode insns[] = #define ARM_VARIANT & fpu_vfp_ext_v1 #undef THUMB_VARIANT #define THUMB_VARIANT & arm_ext_v6t2 - mnCEF(vmla, _vmla, 3, (RNSDQMQ, oRNSDQMQ, RNSDQ_RNSC_MQ_RR), neon_mac_maybe_scalar), - mnCEF(vmul, _vmul, 3, (RNSDQMQ, oRNSDQMQ, RNSDQ_RNSC_MQ_RR), neon_mul), mcCE(fcpyd, eb00b40, 2, (RVD, RVD), vfp_dp_rd_rm), #undef ARM_VARIANT #define ARM_VARIANT & fpu_vfp_ext_v1xd + mnCEF(vmla, _vmla, 3, (RNSDQMQ, oRNSDQMQ, RNSDQ_RNSC_MQ_RR), neon_mac_maybe_scalar), + mnCEF(vmul, _vmul, 3, (RNSDQMQ, oRNSDQMQ, RNSDQ_RNSC_MQ_RR), neon_mul), MNCE(vmov, 0, 1, (VMOV), neon_mov), mcCE(fmrs, e100a10, 2, (RR, RVS), vfp_reg_from_sp), mcCE(fmsr, e000a10, 2, (RVS, RR), vfp_sp_from_reg), diff --git a/gas/testsuite/gas/arm/pr26858.d b/gas/testsuite/gas/arm/pr26858.d new file mode 100644 index 0000000..dbe4d71 --- /dev/null +++ b/gas/testsuite/gas/arm/pr26858.d @@ -0,0 +1,8 @@ +# name: PR26858 +# objdump: -dr --prefix-addresses --show-raw-insn + +.*: +file format .*arm.* + +Disassembly of section .text: +[^>]*> ee266a87 vmul.f32 s12, s13, s14 +[^>]*> ee000a81 vmla.f32 s0, s1, s2 diff --git a/gas/testsuite/gas/arm/pr26858.s b/gas/testsuite/gas/arm/pr26858.s new file mode 100644 index 0000000..5a450e7 --- /dev/null +++ b/gas/testsuite/gas/arm/pr26858.s @@ -0,0 +1,6 @@ +.syntax unified +.arch armv8-r +.arm +.fpu fpv5-sp-d16 +vmul.f32 s12, s13, s14 +vmla.f32 s0, s1, s2 |