aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorAndrew Bennett <andrew.bennett@imgtec.com>2019-04-22 15:12:09 -0700
committerFaraz Shahbazker <fshahbazker@wavecomp.com>2019-04-26 18:28:05 -0700
commita45328b93bdd5399da8a9e56817e445cc2068edd (patch)
treed611c35292391d313d6d99f80aa1495fdbdef046 /include/opcode
parent45f0ab12d463cb3999a4286e679bdef05884b3a3 (diff)
downloadgdb-a45328b93bdd5399da8a9e56817e445cc2068edd.zip
gdb-a45328b93bdd5399da8a9e56817e445cc2068edd.tar.gz
gdb-a45328b93bdd5399da8a9e56817e445cc2068edd.tar.bz2
[MIPS] Add load-link, store-conditional paired instructions
Add several baseline MIPS32R6[1] and MIPS64R6[2] instructions that were omitted from the initial spec. These instructions are optional in implementations but not associated with any ASE or pseudo-ASE. Their presence is indicated by the XNP bit in the Config5 register. [1] "MIPS Architecture for Programmers Volume II-A: The MIPS32 Instruction Set Manual", Imagination Technologies Ltd., Document Number: MD00086, Revision 6.06, December 15, 2016, Section 3.2 "Alphabetical List of Instructions", pp. 228-229, pp. 354-357. [2] "MIPS Architecture for Programmers Volume II-A: The MIPS64 Instruction Set Manual", Imagination Technologies Ltd., Document Number: MD00087, Revision 6.06, December 15, 2016, Section 3.2 "Alphabetical List of Instructions", pp. 289-290 and pp. 458-460. gas/ * config/tc-mips.c (macro) <M_LLWP_AB, M_LLDP_AB, M_SCWP_AB, M_SCDP_AB>: New cases and expansions for paired instructions. * testsuite/gas/mips/llpscp-32.s: New test source. * testsuite/gas/mips/llpscp-64.s: Likewise. * testsuite/gas/mips/llpscp-32.d: New test. * testsuite/gas/mips/llpscp-64.d: Likewise. * testsuite/gas/mips/mips.exp: Run the new tests. * testsuite/gas/mips/r6.s: Add new instructions to test source. * testsuite/gas/mips/r6-64.s: Likewise. * testsuite/gas/mips/r6-64-n32.d: Check new instructions. * testsuite/gas/mips/r6-64-n64.d: Likewise. * testsuite/gas/mips/r6-n32.d: Likewise. * testsuite/gas/mips/r6-n64.d: Likwwise. * testsuite/gas/mips/r6.d: Likewise. include/ * opcode/mips.h (M_LLWP_AB, M_LLDP_AB): New enum values. (M_SCWP_AB, M_SCDP_AB): Likewise. opcodes/ * mips-opc.c (mips_builtin_opcodes): Add llwp, lldp, scwp, scdp.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/mips.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index 4309e1a..bc7deec 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -1628,7 +1628,9 @@ enum
M_LI_SS,
M_LL_AB,
M_LLD_AB,
+ M_LLDP_AB,
M_LLE_AB,
+ M_LLWP_AB,
M_LQ_AB,
M_LW_AB,
M_LWE_AB,
@@ -1679,7 +1681,9 @@ enum
M_SAAD_AB,
M_SC_AB,
M_SCD_AB,
+ M_SCDP_AB,
M_SCE_AB,
+ M_SCWP_AB,
M_SD_AB,
M_SDC1_AB,
M_SDC2_AB,