aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2006-05-05 15:41:23 +0000
committerThiemo Seufer <ths@networkno.de>2006-05-05 15:41:23 +0000
commitd43b4baf078e9ebb63508ccb8a9d9f0f2416655a (patch)
tree80c9a9e8894c82e47baeea1ebef6827b1c16cf83 /gas/config
parent77df29685b94bf65d393172abf0a8755205d3426 (diff)
downloadgdb-d43b4baf078e9ebb63508ccb8a9d9f0f2416655a.zip
gdb-d43b4baf078e9ebb63508ccb8a9d9f0f2416655a.tar.gz
gdb-d43b4baf078e9ebb63508ccb8a9d9f0f2416655a.tar.bz2
[ gas/ChangeLog ]
* config/tc-mips.c (macro_build): Add case 'k' to handle cache instruction. (macro): Add new case M_CACHE_AB. [ opcodes/ChangeLog ] * mips-opc.c: Add macro for cache instruction. [ include/opcode/ChangeLog ] * mips.h (enum): Add macro M_CACHE_AB.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-mips.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 3315fb1..3418787 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -3196,6 +3196,10 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...)
insn.insn_opcode |= va_arg (args, unsigned long);
continue;
+ case 'k':
+ insn.insn_opcode |= va_arg (args, unsigned long) << OP_SH_CACHE;
+ continue;
+
default:
internalError ();
}
@@ -5820,6 +5824,9 @@ macro (struct mips_cl_insn *ip)
case M_SCD_AB:
s = "scd";
goto st;
+ case M_CACHE_AB:
+ s = "cache";
+ goto st;
case M_SDC1_AB:
if (mips_opts.arch == CPU_R4650)
{
@@ -5857,6 +5864,8 @@ macro (struct mips_cl_insn *ip)
|| mask == M_L_DAB
|| mask == M_S_DAB)
fmt = "T,o(b)";
+ else if (mask == M_CACHE_AB)
+ fmt = "k,o(b)";
else if (coproc)
fmt = "E,o(b)";
else