aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2018-04-25 13:37:30 +0100
committerTamar Christina <tamar.christina@arm.com>2018-04-25 13:38:35 +0100
commit10bba94bd44045559cfd048cd34376090dd8107a (patch)
treec58a6dab6066e3f8e743dc352aa19fdacf7731ec /opcodes
parent1e84581ff0b66168d15270079e8a4d2d12948925 (diff)
downloadgdb-10bba94bd44045559cfd048cd34376090dd8107a.zip
gdb-10bba94bd44045559cfd048cd34376090dd8107a.tar.gz
gdb-10bba94bd44045559cfd048cd34376090dd8107a.tar.bz2
Fix the mask for the sqrdml(a|s)h instructions.
Rn is supposed to have a 5 bit range but instead was given 4 bits causing these instructions to disassemble as unknown instructions. opcodes/ * aarch64-tbl.h (sqrdmlah, sqrdmlsh): Fix masks. gas/ * testsuite/gas/aarch64/rdma.s: Test for larger register numbers. * testsuite/gas/aarch64/rdma.d: Update results. * testsuite/gas/aarch64/rdma-directive.d: Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/aarch64-tbl.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 3ae9be4..c287c1f 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2018-04-25 Tamar Christina <tamar.christina@arm.com>
+
+ * aarch64-tbl.h (sqrdmlah, sqrdmlsh): Fix masks.
+
2018-04-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
* i386-dis.c: Add REG_0F1C_MOD_0, MOD_0F1C_PREFIX_0,
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 26fed8e..36afdd1 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -2601,8 +2601,8 @@ struct aarch64_opcode aarch64_opcode_table[] =
SIMD_INSN ("bit", 0x2ea01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
SIMD_INSN ("bif", 0x2ee01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
/* AdvSIMD three same extension. */
- RDMA_INSN ("sqrdmlah",0x2e008400, 0xbf20fe00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
- RDMA_INSN ("sqrdmlsh",0x2e008c00, 0xbf20fe00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
+ RDMA_INSN ("sqrdmlah",0x2e008400, 0xbf20fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
+ RDMA_INSN ("sqrdmlsh",0x2e008c00, 0xbf20fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
CNUM_INSN ("fcmla", 0x2e00c400, 0xbf20e400, asimdsame, 0, OP4 (Vd, Vn, Vm, IMM_ROT1), QL_V3SAMEHSD_ROT, F_SIZEQ),
CNUM_INSN ("fcadd", 0x2e00e400, 0xbf20ec00, asimdsame, 0, OP4 (Vd, Vn, Vm, IMM_ROT3), QL_V3SAMEHSD_ROT, F_SIZEQ),
/* AdvSIMD shift by immediate. */