gcc/libgcc/config
Catherine Moore 6941b508c9 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
2013-02-24 18:46:44 -05:00
..
aarch64 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
alpha Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
arm Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
avr re PR target/54222 ([avr] Implement fixed-point support) 2013-02-12 14:55:16 +00:00
bfin Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
c6x Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
cr16 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
cris Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
epiphany Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fr30 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
frv Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
h8300 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
i386 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
ia64 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
iq2000 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libbid Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
lm32 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
m32c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
m32r Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
m68k Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
mcore Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
mep Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
microblaze modsi3.S (modsi3): Fix case with 0x80000000 as dividend. 2013-02-19 23:00:50 +00:00
mips mips16.S: Don't build for microMIPS. 2013-02-24 18:46:44 -05:00
mmix Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
moxie Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
pa Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
pdp11
picochip Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
rl78 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
rs6000 re PR target/55431 (Invalid auxv search in ppc linux-unwind code.) 2013-02-16 00:23:40 +10:30
rx Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
s390 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
score Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
sh Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
sparc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
spu Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
stormy16 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
tilegx
tilepro Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
v850 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
vax Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
vms Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
xtensa Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
darwin-64.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
darwin-crt3.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
darwin-crt-tm.c re PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271) 2013-02-11 23:30:10 +00:00
gmon-sol2.c
gthr-lynx.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gthr-rtems.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gthr-vxworks.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc-glibc.ver Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc-libsystem.ver
no-sfp-machine.h
no-unwind.h
t-crtfm Remove obsolete Tru64 UNIX V5.1B support 2012-03-12 15:35:56 +00:00
t-crtstuff-pic
t-darwin * config/t-darwin (crt3.0): Remove work-around for fixed PR26840. 2012-07-14 13:50:59 +00:00
t-dfprules
t-eh-dw2-dip
t-fdpbit
t-fixedpoint-gnu-prefix
t-fpbit
t-freebsd-thread
t-gnu-prefix
t-libgcc-pic
t-libunwind
t-libunwind-elf Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
t-linux
t-openbsd-thread
t-rtems
t-slibgcc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
t-slibgcc-darwin
t-slibgcc-elf-ver
t-slibgcc-gld
t-slibgcc-gld-nover
t-slibgcc-hpux
t-slibgcc-libgcc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
t-slibgcc-nolc-override
t-slibgcc-sld
t-slibgcc-vms
t-softfp Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
t-softfp-excl
t-softfp-sfdf
t-softfp-tf
t-sol2 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
t-stack
t-tls
t-vxworks
unwind-dw2-fde-darwin.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
vxlib-tls.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
vxlib.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00