diff options
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 4 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/insn-opts.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/insn-opts.s | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 1 |
6 files changed, 56 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 4f923ed..d246494 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2014-10-21 Maciej W. Rozycki <macro@codesourcery.com> + + * config/tc-mips.c (s_insn): Set file options. + 2014-10-21 Jan Beulich <jbeulich@suse.com> * read.c (HANDLE_CONDITIONAL_ASSEMBLY): New parameter "num_read". diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 8d4a80b..54442f4 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -16344,6 +16344,10 @@ s_cpadd (int ignore ATTRIBUTE_UNUSED) static void s_insn (int ignore ATTRIBUTE_UNUSED) { + file_mips_check_options (); + file_ase_mips16 |= mips_opts.mips16; + file_ase_micromips |= mips_opts.micromips; + mips_mark_labels (); demand_empty_rest_of_line (); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a79cd1c..4988b00 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-10-21 Maciej W. Rozycki <macro@codesourcery.com> + + * gas/mips/insn-opts.d: New test. + * gas/mips/insn-opts.s: New test source. + * gas/mips/mips.exp: Run the new test. + 2014-10-21 Jan Beulich <jbeulich@suse.com> * gas/gas/all/cond.s: Also test processing of leading double diff --git a/gas/testsuite/gas/mips/insn-opts.d b/gas/testsuite/gas/mips/insn-opts.d new file mode 100644 index 0000000..a61c95e --- /dev/null +++ b/gas/testsuite/gas/mips/insn-opts.d @@ -0,0 +1,18 @@ +#objdump: -dtz -j .text --prefix-addresses --show-raw-insn +#name: MIPS .insn default file options + +# Check that .insn at the beginning of assembly sees default file options +# such as the ISA mode right. + +.*: +file format .*mips.* + +SYMBOL TABLE: +0+000000 l d \.text 0+000000 \.text +0+000000 g F \.text 0+000004 foo +0+000004 g F \.text 0+000004 0x80 bar +0+000008 g O \.text 0+000004 baz + +Disassembly of section \.text: +0+000000 <foo> 00000000 nop +0+000004 <bar> 0000 0000 nop +0+000008 <baz> .* diff --git a/gas/testsuite/gas/mips/insn-opts.s b/gas/testsuite/gas/mips/insn-opts.s new file mode 100644 index 0000000..a9ece0b --- /dev/null +++ b/gas/testsuite/gas/mips/insn-opts.s @@ -0,0 +1,23 @@ + .text + + .globl foo + .type foo, @function +foo: + .insn + .dc.l 0 + .size foo, . - foo + + .set micromips + + .globl bar + .type bar, @function +bar: + .insn + .dc.l 0 + .size bar, . - bar + + .globl baz + .type baz, @object +baz: + .dc.l 0 + .size baz, . - baz diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 4afd367..5750b75 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1134,6 +1134,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "align3" run_dump_test "odd-float" run_dump_test "ehword" + run_dump_test "insn-opts" run_list_test_arches "mips-macro-ill-sfp" "-32 -msingle-float" \ [mips_arch_list_matching mips2] |