]> git.ipfire.org Git - thirdparty/gcc.git/commit - libgcc/ChangeLog
mips16.S: Don't build for microMIPS.
authorCatherine Moore <clm@codesourcery.com>
Sun, 24 Feb 2013 23:46:44 +0000 (18:46 -0500)
committerCatherine Moore <clm@gcc.gnu.org>
Sun, 24 Feb 2013 23:46:44 +0000 (18:46 -0500)
commit6941b508c92e7db65710276388564954a9bec3d5
treec22b13665e6c705b1279ef8b3c3a3c5cb6a62673
parentcdebbc6d8dcade8634ca18060205f2065bb9973f
mips16.S: Don't build for microMIPS.

libgcc/
2013-02-24  Catherine Moore  <clm@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>
    Chao-ying Fu  <fu@mips.com>

* config/mips/mips16.S:  Don't build for microMIPS.
* config/mips/linux-unwind.h: Handle microMIPS frame.
* config/mips/crtn.S (fini, init): New labels.

gcc/
2013-02-24  Catherine Moore  <clm@codesourcery.com>
    Maciej W. Rozycki  <macro@codesourcery.com>
    Tom de Vries  <tom@codesourcery.com>
    Nathan Sidwell <nathan@codesourcery.com>
    Iain Sandoe  <iain@codesourcery.com>
    Nathan Froyd  <froydnj@codesourcery.com>
    Chao-ying Fu <fu@mips.com>

* doc/extend.texi: (micromips, nomicromips, nocompression):
Document new function attributes.
* doc/invoke.texi (minterlink-compressed, mmicromips,
m14k, m14ke, m14kec): Document new options.
(minterlink-mips16): Update documentation.
* doc/md.texi (ZC, ZD): Document new constraints.
* configure.ac (gcc_cv_as_micromips): Check if linker
supports the .set micromips directive.
* configure: Regenerate.
* config.in: Regenerate.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/micromips.md: New file.
* constraints.md (ZC, AD): New constraints.
* config/mips/predicates.md (movep_src_register): New predicate.
(movep_src_operand): New predicate.
(non_volatile_mem_operand): New predicate.
* config/mips/mips.md (multimem): New type.
(length): Differentiate between 17-bit and 18-bit branch offsets.
(MOVEP1, MOVEP2): New mode iterator.
  (mov_<load>l): Use ZC constraint.
(mov_<load>r): Likewise.
(mov_<store>l): Likewise.
(mov_<store>r): Likewise.
(*branch_equality<mode>_inverted): Add microMIPS support.
(*branch_equality<mode>): Likewise.
(*jump_absolute): Likewise.
(indirect_jump_<mode>): Likewise.
(tablejump_<mode>): Likewise.
(<optab>_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(prefetch): Use constraint ZD.
* config/mips/mips.opt (minterlink-compressed): New option.
(minterlink-mips16): Now an alias for minterlink-compressed.
(mmicromips): New option.
* config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
(compare_and_swap_12): Likewise.
(sync_add<mode>): Likewise.
(sync_<optab>_12): Likewise.
(sync_old_<optab>_12): Likewise.
(sync_new_<optab>_12): Likewise.
(sync_nand_12): Likewise.
(sync_old_nand_12): Likewise.
(sync_new_nand_12): Likewise.
(sync_sub<mode>): Likewise.
(sync_old_add<mode>): Likewise.
(sync_old_sub<mode>): Likewise.
(sync_new_add<mode>): Likewise.
(sync_new_sub<mode>): Likewise.
(sync_<optab><mode>): Likewise.
(sync_old_<optab><mode>): Likewise.
(sync_new_<optab><mode>): Likewise.
(sync_nand<mode>): Likewise.
(sync_old_nand<mode>): Likewise.
(sync_new_nand<mode>): Likewise.
(sync_lock_test_and_set<mode>): Likewise.
(test_and_set_12): Likewise.
(atomic_compare_and_swap<mode>): Likewise.
(atomic_exchange<mode>_llsc): Likewise.
(atomic_fetch_add<mode>_llsc): Likewise.
* config/mips/mips-cpus.def (m14kc, m14k): New processors.
* config/mips/mips-protos.h (umips_output_save_restore): New prototype.
(umips_save_restore_pattern_p): Likewise.
(umips_load_store_pair_p): Likewise.
(umips_output_load_store_pair): Likewise.
(umips_movep_target_p): Likewise.
(umips_12bit_offset_address_p): Likewise.
* config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
(mips_base_mips16): Rename this...
(mips_base_compression_flags): ...to this. Update all uses.
(mips_attribute_table): Add micromips, nomicromips and nocompression.
(mips_mips16_decl_p): Delete.
(mips_nomips16_decl_p): Delete.
  (mips_get_compress_on_flags): New function.
(mips_get_compress_off_flags): New function.
(mips_get_compress_mode): New function.
(mips_get_compress_on_name): New function.
(mips_get_compress_off_name): New function.
(mips_insert_attributes): Support multiple compression types.
(mips_merge_decl_attributes): Likewise.
(umips_12bit_offset_address_p): New function.
(mips_start_function_definition): Emit .set micromips directive.
(mips_call_may_need_jalx_p): New function.
(mips_function_ok_for_sibcall): Add microMIPS support.
(mips_print_operand_punctuation): Support short delay slots and
compact jumps.
(umips_swm_mask, umips_swm_encoding): New.
(umips_build_save_restore): New function.
(mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
(was_mips16_p): Remove.
(old_compression_mode): New.
(mips_set_compression_mode): New function.
(mips_set_current_function): Add microMIPS support.
(mips_option_override): Likewise.
(umips_save_restore_pattern_p): New function.
(umips_output_save_restore): New function.
(umips_load_store_pair_p_1): New function.
(umips_load_store_pair_p): New function.
(umips_output_load_store_pair_1): New function.
(umips_output_load_store_pair): New function.
(umips_movep_target_p) New function.
(mips_prepare_pch_save): Add microMIPS support.
* config/mips/mips.h (TARGET_COMPRESSION): New.
(TARGET_CPU_CPP_BUILTINS): Update macro
to use new compression flags and to support microMIPS.
(MIPS_ISA_LEVEL_SPEC): Add m14k processors.
(MIPS_ARCH_FLOAT_SPEC): Likewise.
(ISA_HAS_LWXS): Include TARGET_MICROMIPS.
(ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
(ASM_SPEC): Support mmicromips and mno-micromips.
(M16STORE_REG_P): New macro.
(MIPS_CALL): Support TARGET_MICROMIPS.
(MICROMIPS_J): New macro.
(mips_base_mips16): Rename this...
(mips_base_compression_flags): ...to this.
(UMIPS_12BIT_OFFSET_P): New macro.
* config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
(MULTILIB_DIRNAMES): Likewise.

gcc/testsuite/
2013-02-24  Catherine Moore  <clm@codesourcery.com>
    Richard Sandiford <rdsandiford@googlemail.com>

* gcc.target/mips/mips.exp: Add microMIPS support.
* gcc.target/mips/umips-movep-2.c: New test.
* gcc.target/mips/umips-lwp-2.c: New test.
* gcc.target/mips/umips-swp-5.c: New test.
* gcc.target/mips/umips-constraints-1.c: New test.
* gcc.target/mips/umips-lwp-3.c: New test.
* gcc.target/mips/umips-swp-6.c: New test.
* gcc.target/mips/umips-constraints-2.c: New test.
* gcc.target/mips/umips-save-restore-1.c: New test.
* gcc.target/mips/umips-lwp-4.c: New test.
* gcc.target/mips/umips-swp-7.c: New test.
* gcc.target/mips/umips-save-restore-2.c: New test.
* gcc.target/mips/umips-lwp-swp-volatile.c: New test.
* gcc.target/mips/umips-lwp-5.c: New test.
* gcc.target/mips/umips-save-restore-3.c: New test.
* gcc.target/mips/umips-lwp-6.c: New test.
* gcc.target/mips/umips-swp-1.c: New test.
* gcc.target/mips/umips-lwp-7.c: New test.
* gcc.target/mips/umips-swp-2.c: New test.
* gcc.target/mips/umips-lwp-8.c: New test.
* gcc.target/mips/umips-swp-3.c: New test.
* gcc.target/mips/umips-movep-1.c: New test.
* gcc.target/mips/umips-lwp-1.c: New test.
* gcc.target/mips/umips-swp-4.c: New test.

Co-Authored-By: Chao-ying Fu <fu@mips.com>
Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Maciej W. Rozycki <macro@codesourcery.com>
Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r196246
48 files changed:
gcc/ChangeLog
gcc/config.in
gcc/config/mips/constraints.md
gcc/config/mips/micromips.md [new file with mode: 0644]
gcc/config/mips/mips-cpus.def
gcc/config/mips/mips-protos.h
gcc/config/mips/mips-tables.opt
gcc/config/mips/mips.c
gcc/config/mips/mips.h
gcc/config/mips/mips.md
gcc/config/mips/mips.opt
gcc/config/mips/predicates.md
gcc/config/mips/sync.md
gcc/config/mips/t-sde
gcc/configure
gcc/configure.ac
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/doc/md.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/mips.exp
gcc/testsuite/gcc.target/mips/umips-constraints-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-constraints-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-lwp-swp-volatile.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-movep-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-movep-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-save-restore-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-save-restore-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-save-restore-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/umips-swp-7.c [new file with mode: 0644]
libgcc/ChangeLog
libgcc/config/mips/crtn.S
libgcc/config/mips/linux-unwind.h
libgcc/config/mips/mips16.S