Jeff Law
711eeac0eb
* config/tc-mn10300.c (md_assemble): Fix "errmsg" initialization
...
to work with internationalization code. Issue an error when two
operands match that are not allowed to match.
1998-07-28 17:03:05 +00:00
Jeff Law
41e9f56c74
* config/tc-mn10300.c (md_assemble): Make sure "errmsg" has a non-NULL
...
value.
1998-07-23 19:20:47 +00:00
Jeff Law
3be26805cc
* config/tc-mn10300.c (set_arch_mach): New function.
...
(md_pseudo_table): Add pseudo-ops to set the current machine type.
(md_begin): Default to mn10300 mode.
(md_assemble): Only accept instructions for the core mn10300
chip and the active machine type.
1998-06-26 17:24:34 +00:00
Jeff Law
5d626b5ece
* config/tc-mn10300.c (r_registers): Add a0-a3,d0-d3 and e0-e7
...
as synonyms for "rN" registers.
(xr_registers): Add mcrh, mcrl, mcvf, mdrq and sp as synonyms
for "xrN" registers.
(md_assemble): Fix typo computing the size of relocations.
1998-06-24 15:44:27 +00:00
Jeff Law
573916e377
* config/tc-mn10300: Handle FMT_D10 instructions.
1998-06-22 19:50:23 +00:00
Jeff Law
e7ffb037ca
start-sanitize-am33
...
* config/tc-mn10300.c (r_registers): Add missing registers.
(xr_registers): New set of registers.
(xr_register_name): New function.
(md_assemble): Handle XRREG and PLUS operands. Tweak handling of
RREG operand insertion. Handle new D6 and D7 instruction formats.
end-sanitize-am33
* config/tc-mn10300.c (mn10300_insert_operand): Do not hardcode the
shift amount for a repeated operand. The shift amount for the
repeated copy comes from the size of the operand.
1998-06-19 15:54:22 +00:00
Ian Lance Taylor
590c50d82c
* as.h (bfd_alloc_by_size_t): Don't declare.
...
* Many files: Use xmalloc rather than bfd_alloc_by_size_t.
1997-03-17 16:29:29 +00:00
Jeff Law
a405bb3eb0
* config/tc-mn10300.c (md_assemble): Don't use any MN10300 specific
...
relocs anymore. Tweak fx_offset for pc-relative relocs.
Cleanup/simplification of mn10300 port. Bring over changes from mn10200 port.
1997-03-06 20:58:22 +00:00
Jeff Law
8ca7163145
* config/tc-mn10300.c (md_assemble): Update to handle endianness
...
issues correctly.
1996-12-11 06:19:43 +00:00
Jeff Law
42aa243574
* config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid!
...
* config/tc-mn10300.c (md_assemble): Likewise.
Found by mn10200 gas testsuite.
1996-12-10 19:33:48 +00:00
Jeff Law
ca82e4ebdb
* config/tc-mn10300.c: Fix various gcc -Wall warnings.
...
Remove '$' prefixing for registers.
1996-12-06 22:44:30 +00:00
Jeff Law
f98905f13d
* config/tc-mn10300.c (address_registers): Use '%' prefix for regs.
...
(data_registers, other_registers, md_assemble): Likewise.
1996-11-25 18:24:14 +00:00
Jeff Law
0671e7f6c6
* config/tc-mn10300.c (md_assemble): Correctly determine the
...
correct location and type for each relocation.
(md_pcrel_from): Simplify.
Last week's reloc work.
1996-11-25 15:54:43 +00:00
Jeff Law
d9a9c18fad
* config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this.
...
(tc_fix_adjustable): Don't adjust relocs against weak symbols or
pc-relative relocs.
* config/tc-mn10300.c (md_begin): Set linkrelax.
(md_assemble): Create fixups as needed.
(md_apply_fix3): Gut. It shouldn't ever get called anymore.
First stab at fixups/relocs.
1996-11-21 18:58:26 +00:00
Jeff Law
7f02192d13
* config/tc-mn10300.c (md_assemble): Handle MN10300_OPERAND_REG_LIST.
...
So GCC can use movm in prologue/epilogues.
1996-11-19 20:35:19 +00:00
Jeff Law
43d695a1e9
* config/tc-mn10300.c (mn10300_insert_operand): Provide prototype
...
via PARAMS.
(check_operand): Likewise.
1996-11-18 23:05:06 +00:00
Jeff Law
bdd91d4f41
* config/tc-mn10300.c (mn10300_insert_operand): Shift low part
...
of a MN10300_OPERAND_SPLIT operand by operand->shift.
For bset, bclr & btst.
1996-11-06 21:20:56 +00:00
Jeff Law
cdde2f5cee
* config/tc-mn10300.c (mn10300_insert_operand): Handle
...
MN10300_OPERAND_SPLIT.
For handling of 32bit operands.
1996-11-06 20:48:36 +00:00
Jeff Law
bfe5059c70
* config/tc-mn10300.c (md_assemble): Insert operands into
...
the extension part of the instruction if necessary.
(mn10300_insert_operand): Accept pointer to extension word
argument. Make insn a pointer argument too. Return type
is now void. All callers changed.
So we can correct insert operands into any instruction except those
which have 32bit operands.
1996-11-05 20:32:07 +00:00
Jeff Law
68328dc6bd
* config/tc-mn10300.c (mn10300_insert_operand): Handle
...
repeated register operands.
For mov imm8,dn
mov imm8,an
cmp imm8,dn
cmp imm8,an
The register appears twice in the bit pattern... Egad.
1996-11-04 19:54:50 +00:00
Jeff Law
778c521b85
* config/tc-mn10300.c (md_assemble): Use FMT_* macros for
...
formats rather than hard-coded constants.
Minor cleanup.
1996-10-10 20:33:47 +00:00
Jeff Law
1c3ae169f7
* config/tc-mn10300.c (md_assemble): Format D5 instructions
...
are 7 bytes long. Write out instructions in big-endian format.
Matsushita.
1996-10-10 18:07:37 +00:00
Jeff Law
a6be605a1a
* config/tc-mn10300.h (md_assemble): Tweak further so
...
that all instructions are parsed correctly.
1996-10-08 20:59:28 +00:00
Jeff Law
1217102f2c
* config/tc-mn10300.h (pre_defined_registers) Remove.
...
(system_registers, cc_names): Likewise.
(address_registers, data_registers, other_registers): New register
arrays.
(register_name, system_register_name, cc_name): Remove.
(mn10300_reloc_prefix): Likewise.
(data_register_name): New function.
(address_register_name, other_register_name): Likewise.
(md_assemble): Rough cut at parsing operands. Remove lots of
unwanted code.
(md_apply_fix3): Disable for now.
Checkpointing today's Matsushita work.
1996-10-07 22:59:04 +00:00
Jeff Law
ae1b99e42d
Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
...
with a single generic configuration. So break them up into two different
configurations. See the individual ChangeLogs for additional detail.
1996-10-03 16:42:22 +00:00