aboutsummaryrefslogtreecommitdiff
path: root/opcodes/mips-opc.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2003-11-18 21:22:57 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2003-11-18 21:22:57 +0000
commit1abe91b1db3777cfb5ed135baa33e16c7744abfd (patch)
tree41fbff7437dc55eab52e797ec43524ae21dece2c /opcodes/mips-opc.c
parent5659daa1d9d69b21490a7624abaa6f88e9e33f31 (diff)
downloadgdb-1abe91b1db3777cfb5ed135baa33e16c7744abfd.zip
gdb-1abe91b1db3777cfb5ed135baa33e16c7744abfd.tar.gz
gdb-1abe91b1db3777cfb5ed135baa33e16c7744abfd.tar.bz2
* config/tc-mips.c (macro): Handle new macros: "lca" and "dlca"
for loading addresses using CALL relocations. Don't emit CALL relocations when a base register is used. * gas/mips/lca-svr4pic.d: New test for the "lca" macro. * gas/mips/lca-xgot.d: Likewise. * gas/mips/lca.s: Source for the new tests. * gas/mips/mips.exp: Run the new tests. * opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB. * mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and "dlca".
Diffstat (limited to 'opcodes/mips-opc.c')
-rw-r--r--opcodes/mips-opc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
index 340a084..9a80e53 100644
--- a/opcodes/mips-opc.c
+++ b/opcodes/mips-opc.c
@@ -517,6 +517,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"divu", "d,v,t", 0, (int) M_DIVU_3, INSN_MACRO, I1 },
{"divu", "d,v,I", 0, (int) M_DIVU_3I, INSN_MACRO, I1 },
{"dla", "t,A(b)", 0, (int) M_DLA_AB, INSN_MACRO, I3 },
+{"dlca", "t,A(b)", 0, (int) M_DLCA_AB, INSN_MACRO, I3 },
{"dli", "t,j", 0x24000000, 0xffe00000, WR_t, I3 }, /* addiu */
{"dli", "t,i", 0x34000000, 0xffe00000, WR_t, I3 }, /* ori */
{"dli", "t,I", 0, (int) M_DLI, INSN_MACRO, I3 },
@@ -640,6 +641,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"lb", "t,A(b)", 0, (int) M_LB_AB, INSN_MACRO, I1 },
{"lbu", "t,o(b)", 0x90000000, 0xfc000000, LDD|RD_b|WR_t, I1 },
{"lbu", "t,A(b)", 0, (int) M_LBU_AB, INSN_MACRO, I1 },
+{"lca", "t,A(b)", 0, (int) M_LCA_AB, INSN_MACRO, I1 },
{"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_t|RD_b, I3 },
{"ld", "t,o(b)", 0, (int) M_LD_OB, INSN_MACRO, I1 },
{"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, I1 },