diff options
author | Catherine Moore <clm@redhat.com> | 2010-05-26 12:59:56 +0000 |
---|---|---|
committer | Catherine Moore <clm@redhat.com> | 2010-05-26 12:59:56 +0000 |
commit | f79e2745b210313ede58d9509e718f0e2506e045 (patch) | |
tree | 1595cca36751635dd0d84bb1cfa98848de13554e /gas | |
parent | f9eeb9c926526185210dd56597014ba89ee29b53 (diff) | |
download | gdb-f79e2745b210313ede58d9509e718f0e2506e045.zip gdb-f79e2745b210313ede58d9509e718f0e2506e045.tar.gz gdb-f79e2745b210313ede58d9509e718f0e2506e045.tar.bz2 |
gas/
* config/tc-mips.c (is_opcode_valid): Remove expansionp.
(macro_build): Change invocation of is_opcode_valid.
(mips_ip): Likewise.
gas/testsuite/
* gas/mips/mips-no-jalx.l: Delete.
* gas/mips/mips-no-jalx.s: Delete.
* gas/mips/mips-jalx-2.d: New.
* gas/mips/mips-jalx-2.s: New.
* gas/mips/mips.exp (mips-jalx-2): Run new test.
(mips-no-jalx): Remove deleted test.
include/
* opcode/mips.h (INSN_MIPS16): Remove.
opcodes/
* mips-dis.c (mips_arch): Remove INSN_MIPS16.
* mips-opc.c (I16): Remove.
(mips_builtin_op): Reclassify jalx.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 14 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips-jalx-2.d | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips-jalx-2.s | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips-no-jalx.l | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips-no-jalx.s | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 2 |
8 files changed, 45 insertions, 16 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 80d1cdf..d0be0a3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2010-05-26 Catherine Moore <clm@codesourcery.com> + + * config/tc-mips.c (is_opcode_valid): Remove expansionp. + (macro_build): Change invocation of is_opcode_valid. + (mips_ip): Likewise. + 2010-05-25 Nick Clifton <nickc@redhat.com> * Makefile.am (MOSTLYCLEANFILES): Fix typo. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index f901ae4..9753a55 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1817,11 +1817,10 @@ reg_lookup (char **s, unsigned int types, unsigned int *regnop) } /* Return TRUE if opcode MO is valid on the currently selected ISA and - architecture. If EXPANSIONP is TRUE then this check is done while - expanding a macro. Use is_opcode_valid_16 for MIPS16 opcodes. */ + architecture. Use is_opcode_valid_16 for MIPS16 opcodes. */ static bfd_boolean -is_opcode_valid (const struct mips_opcode *mo, bfd_boolean expansionp) +is_opcode_valid (const struct mips_opcode *mo) { int isa = mips_opts.isa; int fp_s, fp_d; @@ -1841,11 +1840,6 @@ is_opcode_valid (const struct mips_opcode *mo, bfd_boolean expansionp) if (mips_opts.ase_smartmips) isa |= INSN_SMARTMIPS; - /* For user code we don't check for mips_opts.mips16 since we want - to allow jalx if -mips16 was specified on the command line. */ - if (expansionp ? mips_opts.mips16 : file_ase_mips16) - isa |= INSN_MIPS16; - /* Don't accept instructions based on the ISA if the CPU does not implement all the coprocessor insns. */ if (NO_ISA_COP (mips_opts.arch) @@ -3638,7 +3632,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...) macros will never generate MDMX, MIPS-3D, or MT instructions. */ if (strcmp (fmt, mo->args) == 0 && mo->pinfo != INSN_MACRO - && is_opcode_valid (mo, TRUE)) + && is_opcode_valid (mo)) break; ++mo; @@ -8776,7 +8770,7 @@ mips_ip (char *str, struct mips_cl_insn *ip) gas_assert (strcmp (insn->name, str) == 0); - ok = is_opcode_valid (insn, FALSE); + ok = is_opcode_valid (insn); if (! ok) { if (insn + 1 < &mips_opcodes[NUMOPCODES] diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 5d2a4f3..8620bf6 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2010-05-26 Catherine Moore <clm@codesoucery.com> + + * gas/mips/mips-no-jalx.l: Delete. + * gas/mips/mips-no-jalx.s: Delete. + * gas/mips/mips-jalx-2.d: New. + * gas/mips/mips-jalx-2.s: New. + * gas/mips/mips.exp (mips-jalx-2): Run new test. + (mips-no-jalx): Remove deleted test. + 2010-05-25 Daniel Jacobowitz <dan@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Andrew Stubbs <ams@codesourcery.com> diff --git a/gas/testsuite/gas/mips/mips-jalx-2.d b/gas/testsuite/gas/mips/mips-jalx-2.d new file mode 100644 index 0000000..fa8bfac --- /dev/null +++ b/gas/testsuite/gas/mips/mips-jalx-2.d @@ -0,0 +1,15 @@ +#objdump: -d +#as: +#name: mips jalx-2 + +.*: file format .* + +Disassembly of section .text: + +[ 0-9a-f]+ <text_sym>: +[ 0-9a-f]+: 74000000 jalx 0 <.[^>]*> +[ 0-9a-f]+: 00000000 nop + +[ 0-9a-f]+ <.[^>]*>: +[ 0-9a-f]+: 6500 nop + \.\.\. diff --git a/gas/testsuite/gas/mips/mips-jalx-2.s b/gas/testsuite/gas/mips/mips-jalx-2.s new file mode 100644 index 0000000..17e1a24 --- /dev/null +++ b/gas/testsuite/gas/mips/mips-jalx-2.s @@ -0,0 +1,10 @@ +text_sym: + .text + jalx 1f + + .set mips16 + .align 1 +1: nop + .set nomips16 + .align 2 + .fill 8 diff --git a/gas/testsuite/gas/mips/mips-no-jalx.l b/gas/testsuite/gas/mips/mips-no-jalx.l deleted file mode 100644 index 9233591..0000000 --- a/gas/testsuite/gas/mips/mips-no-jalx.l +++ /dev/null @@ -1,2 +0,0 @@ -.*: Assembler messages: -.*:3: Error: opcode not supported (at this ISA level|on this processor: .*) \(mips.*\) `jalx external_label' diff --git a/gas/testsuite/gas/mips/mips-no-jalx.s b/gas/testsuite/gas/mips/mips-no-jalx.s deleted file mode 100644 index 84cbafd..0000000 --- a/gas/testsuite/gas/mips/mips-no-jalx.s +++ /dev/null @@ -1,3 +0,0 @@ -# Test the generation of jalx opcodes - .set nomips16 - jalx external_label diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 34bb5ea..3a541fe 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -526,6 +526,7 @@ if { [istarget mips*-*-vxworks*] } { # Check jalx handling run_dump_test "mips16-jalx" run_dump_test "mips-jalx" + run_dump_test "mips-jalx-2" # Check MIPS16 HI16/LO16 relocations run_dump_test "mips16-hilo" if $has_newabi { @@ -533,7 +534,6 @@ if { [istarget mips*-*-vxworks*] } { } run_dump_test "mips16-hilo-match" } - run_list_test "mips-no-jalx" "-32" run_dump_test "delay" run_dump_test "nodelay" run_dump_test "mips4010" |