1. 17 Sep, 2013 1 commit
  2. 16 Sep, 2013 2 commits
    • * config/rl78/vregs.h: Add G10 register definitions. · 844ad6c6
      From-SVN: r202638
      DJ Delorie committed
    • rl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10. · 5c0029de
      * config/rl78/rl78.c (rl78_asm_file_start): Specify alternate
      vregs location for RL78/G10.
      (rl78_expand_prologue): Avoid SEL on G10.
      (rl78_expand_epilogue): Likewise.
      (rl78_peep_movhi_p): Can't move a constant to memory in HImode.
      * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
      __RL78_G10__ when appropriate.
      (ASM_SPEC): Pass -mg10 along to the assembler.
      * config/rl78/rl78.md (sel_rb): Disable for G10.
      * config/rl78/rl78.opt: Add -mg10 option.
      * config/rl78/t-rl78: Add -mg10 multilib.
      
      * config/rl78/lib2mul.c: Enable for RL78/G10.
      * config/rl78/lib2div.c: Likewise.
      * config/rl78/lshrsi3.S: Use vregs.h.
      * config/rl78/cmpsi2.S: Likewise.
      * config/rl78/trampoline.S: Likewise.
      * config/rl78/mulsi2.S: Likewise.  Disable for RL78/G10.
      
      From-SVN: r202637
      DJ Delorie committed
  3. 14 Sep, 2013 1 commit
    • mulsi3.S: Remove a few unneeded moves and branches. · ceb2fc49
      * config/rl78/mulsi3.S: Remove a few unneeded moves and branches.
      * config/rl78/vregs.h: New.
      * config/rl78/signbit.S: New file.  Implements signbit function.
      * config/rl78/divmodsi.S: New.
      * config/rl78/divmodhi.S: New.
      * config/rl78/divmodqi.S: New.
      * config/rl78/t-rl78: Build them here...
      * config/rl78/lib2div.c: ...but not here.
      
      Co-Authored-By: Nick Clifton <nickc@redhat.com>
      
      From-SVN: r202588
      DJ Delorie committed
  4. 12 Sep, 2013 1 commit
    • MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers. · f6a83b4a
      * MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430
      maintainers.
      
      [gcc]
      * config/msp430/: New port.
      * config.gcc (msp430): Added.
      * doc/invoke.texi: Document MSP430 options.
      * doc/install.texi: Document msp430-elf
      * doc/md.texi: Document msp430-elf
      * doc/contrib.texi: Document msp430-elf
      
      [libgcc]
      * config.host (msp*-*-elf): New.
      * config/msp430/: New port.
      
      [contrib]
      * config-list.mk: Add msp430-elf.
      
      From-SVN: r202535
      DJ Delorie committed
  5. 18 Aug, 2013 1 commit
  6. 16 Aug, 2013 1 commit
    • mips16.S (CE_STARTFN, CE_ENDFN): New macros. · 0f9bde1f
      	* config/mips/mips16.S (CE_STARTFN, CE_ENDFN): New macros.
      	(RET_FUNCTION): Use them in place of STARTFN and ENDFN.
      	(CALL_STUB_NO_RET): Likewise.
      	(CALL_STUB_RET): Likewise.
      	* config/mips/libgcc-mips16.ver: Remove __mips16_call_stub and
      	__mips16_ret call/return stub symbols.
      	* config.host <mips*-*-linux>: For non-R5900 add t-slibgcc-libgcc
      	to tmake_file.
      
      Co-Authored-By: Catherine Moore <clm@codesourcery.com>
      Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
      
      From-SVN: r201805
      Maciej W. Rozycki committed
  7. 13 Aug, 2013 1 commit
  8. 10 Aug, 2013 1 commit
    • Workaround binutils PR14342 · 748d71f3
      	Workaround binutils PR14342
      	* tree-profile.c (init_ic_make_global_vars): Add LTO path.
      	(gimple_init_edge_profiler): Likewise.
      	(gimple_gen_ic_func_profiler): Likewise.
      
      	* Makefile.in: Add _gcov_indirect_call_profiler_v2 symbol.
      	* libgcov.c (L_gcov_indirect_call_profiler): Restore original API.
      	(L_gcov_indirect_call_profiler_v2): New.
      
      From-SVN: r201648
      Jan Hubicka committed
  9. 09 Aug, 2013 1 commit
    • cgraph.h (cgraph_node): Add profile_id. · 2fa3d31b
      	* cgraph.h (cgraph_node): Add profile_id.
      	* value-prof.c (cgraph_node_map): Turn into pointer_map.
      	(init_node_map): Rewrite to handle hashes increas of incremental
      	IDs.
      	(del_node_map): Update.
      	(find_func_by_funcdef_no): Replace by ...
      	(find_func_by_profile_id): ... this one.
      	(gimple_ic_transform): Do not remove useful histograms when
      	speculation is not done; dump info when indirect call removal
      	can happen at LTO.
      	* value-prof.h (find_func_by_profile_id, gimple_ic): Declare.
      	* gcov-io.h (__gcov_indirect_call_profiler): Replace by ...
      	(__gcov_indirect_call_profiler_v2): .. this one.
      	* profile.h (init_node_map): Update.
      	* coverage.c (coverage_compute_profile_id): New function.
      	* coverage.h (coverage_compute_profile_id): Declare.
      	* tree-profile.c (init_ic_make_global_vars): Make
      	__gcov_indirect_call_callee and  __gcov_indirect_call_counters global.
      	(gimple_init_edge_profiler): Update prototype of
      	__gcov_indirect_call_profiler.
      	(gimple_gen_ic_func_profiler): Simplify.
      	(tree_profiling): Use init_node_map
      
      From-SVN: r201634
      Jan Hubicka committed
  10. 08 Aug, 2013 1 commit
  11. 07 Aug, 2013 1 commit
    • Commit the vtable verification feature. · 2077db1b
      Commit the vtable verification feature.  This feature is designed to
      detect, at run time, if/when the vtable pointer in a C++ object has
      been corrupted, before allowing virtual calls through that pointer. 
      If pointer corruption is detected, execution of the program is halted.
      
      libstdc++-v3 ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * fragment.am: Add XTEMPLATE_FLAGS.
              * configure.ac: Add definitions for --enable-vtable-verify.
              * acinclude.m4:  Add --enable-vtable-verify and
              --disable-vtable-verify; define --enable-vtable-verify; define
              VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
              * config/abi/pre/gnu.ver: Export symbols for vtable verification.
              * libsupc++/Makefile.am: Define vtv_sources and add it to
              libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
              * libsupc++/vtv_stubs.cc: New file.
              * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
              * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
              VTV_CXXLINKFLAGS to CXXLINK.
              * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
              to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
              * src/C++11/Makefile.am: Ditto.
              * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
              * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
              cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
              * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
              libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
              cxxvtvflags to cxx_final.
              * testsuite/18_support/bad_exception/23591_thread-1.c: Add
              -fvtable-verify=none to compiler flags.
              * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
              to compiler flags.
              * configure: Regenerated.
              * Makefile.in: Regenerated.
              * python/Makefile.in: Regenerated.
              * include/Makefile.in: Regenerated.
              * libsupc++/Makefile.in: Regenerated.
              * config.h.in: Regenerated.
              * po/Makefile.in: Regenerated.
              * src/Makefile.in: Regenerated.
              * src/c++98/Makefile.in: Regenerated.
              * src/c++11/Makefile.in: Regenerated.
              * doc/Makefile.in: Regenerated.
              * testsuite/Makefile.in: Regenerated.
      
      top level ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * configure.ac: Add target-libvtv to target_libraries; disable libvtv
              on non-linux systems; add target-libvtv to noconfigdirs; add
              libsupc++/.libs to C++ library search paths.
              * configure: Regenerated.
              * Makefile.def: Add libvtv to target_modules; make libvtv depend on
              libstdc++ and libgcc.
              * Makefile.in: Regenerated.
      
      include/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * vtv-change-permission.h: New file.
      
      contrib/ChangeLog:
      2013-08-06  Caroline Tice4  <cmtice@google.com>
      
              * gcc_update: Add libvtv files.
      
      libgcc/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              config.host (extra_parts): Add vtv_start.o, vtv_end.o
              vtv_start_preinit.o and vtv_end_preinit.o.
              configure.ac: Add code to check/set enable_vtable_verify.
              Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
              true.
              vtv_start_preinit.c: New file.
              vtv_end_preinit.c: New file.
              vtv_start.c: New file.
              vtv_end.c: New file.
              configure: Regenerated.
      
      gcc/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * gcc.c (VTABLE_VERIFICATION_SPEC): New definition.
              (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC.
              * tree-pass.h: Add pass_vtable_verify.
              * varasm.c (assemble_variable): Add code to properly set the comdat
              section and name for the .vtable_map_vars section.
              (assemble_vtyv_preinit_initializer): New function.
              (default_sectin_type_flags):  Make sure .vtable_map_vars section has
              LINK_ONCE flag.
              * output.h: Add function decl for assemble_vtv_preinit_initializer.
              * vtable-verify.c: New file.
              * vtable-verify.h: New file.
              * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify
              initialiation levels.
              * timevar.def (TV_VTABLE_VERIFICATION): New definition.
              * passes.def: Insert pass_vtable_verify.
              * aclocal.m4: Reorder includes.
              * doc/invoke.texi: Add documentation for the flags -fvtable-verify=,
      	-fvtv-debug and -fvtv-counts.
              * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o,
      as appropriate, if -fvtable-verify=... is used.
              (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if
              -fvtable-verify=... is used.
              * Makefile.in (OBJS):  Add vtable-verify.o to list.
              (vtable-verify.o): Add new build rule.
              (GTFILES): Add vtable-verify.c to list.
              * common.opt (fvtable-verify=): New flag.
              (vtv_priority): Values for fvtable-verify= flag.
              (fvtv-counts): New flag.
      (fvtv-debug): New flag.
              * tree.h (save_vtable_map_decl): New extern function decl.
      
      
      gcc/cp/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * Make-lang.in (*CXX_AND_OBJCXX_OBJS):  Add vtable-class-hierarchy.o to
              list.
              (vtable-class-hierarchy.o): Add build rule.
              * cp-tree.h (vtv_start_verification_constructor_init_function): New
              extern function decl.
              (vtv_finish_verification_constructor_init_function): New extern
              function decl.
              (build_vtbl_address): New extern function decl.
              (get_mangled_vtable_map_var_name): New extern function decl.
              (vtv_compute_class_hierarchy_transitive_closure): New extern function
              decl.
              (vtv_generate_init_routine): New extern function decl.
              (vtv_save_class_info): New extern function decl.
              (vtv_recover_class_info): New extern function decl.
              (vtv_build_vtable_verify_fndecl): New extern function decl.
              * class.c (finish_struct_1): Add call to vtv_save_class_info if
              flag_vtable_verify is true.
              * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list.
              * vtable-class-hierarchy.c: New file.
              * mangle.c (get_mangled_vtable_map_var_name):  New function.
              * decl2.c (start_objects): Update function comment.
              (cp_write_global_declarations): Call vtv_recover_class_info,
              vtv_compute_class_hierarchy_transitive_closure and
              vtv_build_vtable_verify_fndecl, before calling
              finalize_compilation_unit, and call vtv_generate_init_rount after, IFF
              flag_vtable_verify is true.
              (vtv_start_verification_constructor_init_function): New function.
              (vtv_finish_verification_constructor_init_function): New function.
              * init.c (build_vtbl_address): Remove static qualifier from function.
      
      libvtv/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              Initial check-in of new vtable verification feature.
              * configure.ac : New file.
              * acinclude.m4 : New file.
              * Makefile.am : New file.
              * aclocal.m4 : New file.
              * configure.tgt : New file.
              * configure: New file (generated).
              * Makefile.in: New file (generated).
              * vtv_set.h : New file.
              * vtv_utils.cc : New file.
              * vtv_utils.h : New file.
              * vtv_malloc.cc : New file.
              * vtv_rts.cc : New file.
              * vtv_malloc.h : New file.
              * vtv_rts.h : New file.
              * vtv_fail.cc : New file.
              * vtv_fail.h : New file.
              * vtv_map.h : New file.
              * scripts/run-testsuite.sh : New file.
              * scripts/sum-vtv-counts.c : New file.
              * testsuite/parts-test-main.h : New file.
              * testusite/dataentry.cc : New file.
              * testsuite/temp_deriv.cc : New file.
              * testsuite/register_pair.cc : New file.
              * testsuite/virtual_inheritance.cc : New file.
              * testsuite/field-test.cc : New file.
              * testsuite/nested_vcall_test.cc : New file.
              * testsuite/template-list-iostream.cc : New file.
              * testsuite/register_pair_inserts.cc : New file.
              * testsuite/register_pair_inserts_mt.cc : New file.
              * testsuite/event.list : New file.
              * testsuite/parts-test-extra-parts-views.cc : New file.
              * testsuite/parts-test-extra-parts-views.h : New file.
              * testsuite/environment-fail-32.s : New file.
              * testsuite/parts-test-extra-parts.h : New file.
              * testsuite/temp_deriv2.cc : New file.
              * testsuite/dlopen_mt.cc : New file.
              * testsuite/event.h : New file.
              * testsuite/template-list.cc : New file.
              * testsuite/replace-fail.cc : New file.
              * testsuite/Makefile.am : New file.
              * testsuite/Makefile.in: New file (generated).
              * testsuite/mempool_negative.c : New file.
              * testsuite/parts-test-main.cc : New file.
              * testsuite/event-private.cc : New file.
              * testsuite/thunk.cc : New file.
              * testsuite/event-defintiions.cc : New file.
              * testsuite/event-private.h : New file.
              * testsuite/parts-test.list : New file.
              * testusite/register_pair_mt.cc : New file.
              * testsuite/povray-derived.cc : New file.
              * testsuite/event-main.cc : New file.
              * testsuite/environment.cc : New file.
              * testsuite/template-list2.cc : New file.
              * testsuite/thunk_vtable_map_attack.cc : New file.
              * testsuite/parts-test-extra-parts.cc : New file.
              * testsuite/environment-fail-64.s : New file.
              * testsuite/dlopen.cc : New file.
              * testsuite/so.cc : New file.
              * testsuite/temp_deriv3.cc : New file.
              * testsuite/const_vtable.cc : New file.
              * testsuite/mempool_positive.c : New file.
              * testsuite/dup_name.cc : New file.
      
      From-SVN: r201555
      Caroline Tice committed
  12. 01 Aug, 2013 1 commit
  13. 30 Jul, 2013 1 commit
  14. 23 Jul, 2013 1 commit
  15. 19 Jul, 2013 1 commit
    • re PR target/57516 ([avr] Incorrect fixed-point rounding result in the overflow case) · 02371798
      gcc/
      	PR target/57516
      	* config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
      	* config/avr/avr.md (adjust_len): Add `round'.
      	* config/avr/avr-protos.h (avr_out_round): New prototype.
      	(avr_out_plus): Add `out_label' argument.
      	* config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
      	(avr_out_plus): Pass down `out_label' to avr_out_plus_1.
      	Handle the case where `insn' is just a pattern.
      	(avr_out_bitop): Handle the case where `insn' is just a pattern.
      	(avr_out_round): New function.
      	(avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
      
      libgcc/
      	PR target/57516
      	* config/avr/lib1funcs-fixed.S (__roundqq3, __rounduqq3)
      	(__round_s2_const, __round_u2_const)
      	(__round_s4_const, __round_u4_const, __round_x8):
      	Saturate result if addition result cannot be represented.
      
      gcc/testsuite/
      	PR target/57516
      	* gcc.target/avr/torture/builtins-4-roundfx.c (test2hr, test2k):
      	Adjust to corrected rounding.
      
      From-SVN: r201051
      Georg-Johann Lay committed
  16. 15 Jul, 2013 1 commit
  17. 09 Jul, 2013 1 commit
  18. 06 Jul, 2013 1 commit
    • re PR target/29776 (result of ffs/clz/ctz/popcount/parity are already sign-extended) · 1f6eac90
      	PR target/29776
      	* fold-const.c (tree_call_nonnegative_warnv_p): Return true
      	for BUILT_IN_C{LZ,LRSB}*.
      	* tree.h (CASE_INT_FN): Add FN##IMAX case.
      	* tree-vrp.c (extract_range_basic): Handle
      	BUILT_IN_{FFS,PARITY,POPCOUNT,C{LZ,TZ,LRSB}}*.  For
      	BUILT_IN_CONSTANT_P if argument isn't (D) of PARM_DECL,
      	fall thru to code calling set_value*.
      	* builtins.c (expand_builtin): Remove *IMAX cases.
      	(fold_builtin_bitop): For BUILT_IN_CLRSB* return NULL_TREE
      	if width is bigger than 2*HWI.
      
      	* libgcc2.c (__floattisf): Avoid undefined signed overflow.
      
      	* gcc.dg/tree-ssa/vrp89.c: New test.
      
      From-SVN: r200731
      Jakub Jelinek committed
  19. 28 Jun, 2013 1 commit
  20. 25 Jun, 2013 1 commit
  21. 21 Jun, 2013 1 commit
    • re PR other/53317 (Conversion from __int128 to __float128) · fa1e55b0
      	PR other/53317
      
      gcc/testsuite:
      	* gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test.
      
      libgcc:
      	* soft-fp/adddf3.c: Update from glibc.
      	* soft-fp/addsf3.c: Likewise.
      	* soft-fp/addtf3.c: Likewise.
      	* soft-fp/divdf3.c: Likewise.
      	* soft-fp/divsf3.c: Likewise.
      	* soft-fp/divtf3.c: Likewise.
      	* soft-fp/double.h: Likewise.
      	* soft-fp/eqdf2.c: Likewise.
      	* soft-fp/eqsf2.c: Likewise.
      	* soft-fp/eqtf2.c: Likewise.
      	* soft-fp/extenddftf2.c: Likewise.
      	* soft-fp/extended.h: Likewise.
      	* soft-fp/extendsfdf2.c: Likewise.
      	* soft-fp/extendsftf2.c: Likewise.
      	* soft-fp/fixdfdi.c: Likewise.
      	* soft-fp/fixdfsi.c: Likewise.
      	* soft-fp/fixsfdi.c: Likewise.
      	* soft-fp/fixsfsi.c: Likewise.
      	* soft-fp/fixtfdi.c: Likewise.
      	* soft-fp/fixtfsi.c: Likewise.
      	* soft-fp/fixunsdfdi.c: Likewise.
      	* soft-fp/fixunsdfsi.c: Likewise.
      	* soft-fp/fixunssfdi.c: Likewise.
      	* soft-fp/fixunssfsi.c: Likewise.
      	* soft-fp/fixunstfdi.c: Likewise.
      	* soft-fp/fixunstfsi.c: Likewise.
      	* soft-fp/floatdidf.c: Likewise.
      	* soft-fp/floatdisf.c: Likewise.
      	* soft-fp/floatditf.c: Likewise.
      	* soft-fp/floatsidf.c: Likewise.
      	* soft-fp/floatsisf.c: Likewise.
      	* soft-fp/floatsitf.c: Likewise.
      	* soft-fp/floatundidf.c: Likewise.
      	* soft-fp/floatundisf.c: Likewise.
      	* soft-fp/floatunditf.c: Likewise.
      	* soft-fp/floatunsidf.c: Likewise.
      	* soft-fp/floatunsisf.c: Likewise.
      	* soft-fp/floatunsitf.c: Likewise.
      	* soft-fp/gedf2.c: Likewise.
      	* soft-fp/gesf2.c: Likewise.
      	* soft-fp/getf2.c: Likewise.
      	* soft-fp/ledf2.c: Likewise.
      	* soft-fp/lesf2.c: Likewise.
      	* soft-fp/letf2.c: Likewise.
      	* soft-fp/muldf3.c: Likewise.
      	* soft-fp/mulsf3.c: Likewise.
      	* soft-fp/multf3.c: Likewise.
      	* soft-fp/negdf2.c: Likewise.
      	* soft-fp/negsf2.c: Likewise.
      	* soft-fp/negtf2.c: Likewise.
      	* soft-fp/op-1.h: Likewise.
      	* soft-fp/op-2.h: Likewise.
      	* soft-fp/op-4.h: Likewise.
      	* soft-fp/op-8.h: Likewise.
      	* soft-fp/op-common.h: Likewise.
      	* soft-fp/quad.h: Likewise.
      	* soft-fp/single.h: Likewise.
      	* soft-fp/soft-fp.h: Likewise.
      	* soft-fp/subdf3.c: Likewise.
      	* soft-fp/subsf3.c: Likewise.
      	* soft-fp/subtf3.c: Likewise.
      	* soft-fp/truncdfsf2.c: Likewise.
      	* soft-fp/trunctfdf2.c: Likewise.
      	* soft-fp/trunctfsf2.c: Likewise.
      	* soft-fp/unorddf2.c: Likewise.
      	* soft-fp/unordsf2.c: Likewise.
      	* soft-fp/unordtf2.c: Likewise.
      	* config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0.
      	* config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      	* config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise.
      	* config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise.
      	* config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
      
      From-SVN: r200318
      Joseph Myers committed
  22. 16 Jun, 2013 1 commit
    • mips.h (ISA_HAS_MUL3): Include TARGET_MIPS5900. · 0de86a92
      gcc/
      2013-06-16  Jürgen Urban  <JuergenUrban@gmx.de>
      
      	* config/mips/mips.h (ISA_HAS_MUL3): Include TARGET_MIPS5900.
      	(ISA_HAS_MULT, ISA_HAS_DMULT, ISA_HAS_DIV, ISA_HAS_DDIV): New macros.
      	* config/mips/mips.md (mul<mode>3, mul<mode>3_internal)
      	(mul<mode>3_r4000): Require ISA_HAS_<D>MULT.
      	(mul<mode>3_mul3): Handle TARGET_MIPS5900.
      	(mulsidi3_64bit_dmul): Remove redundant TARGET_64BIT test.
      	(<su>muldi3_highpart, <su>muldi3_highpart_internal, <u>mulditi3)
      	(<u>mulditi3_internal, <u>mulditi3_r4000): Require ISA_HAS_DMULT
      	instead of TARGET_64BIT.
      	(divmod<mode>4, udivmod<mode>4, <u>divmod<GPR:mode>4_hilo_<HILO:mode>):
      	Require ISA_HAS_<D>DIV.
      
      libgcc/
      2013-06-16  Jürgen Urban  <JuergenUrban@gmx.de>
      
      	* config/mips/lib2funcs.c: New file.
      	* config/mips/t-mips (LIB2ADD_ST): Add it.
      
      From-SVN: r200140
      Jürgen Urban committed
  23. 09 Jun, 2013 1 commit
  24. 08 Jun, 2013 1 commit
  25. 06 Jun, 2013 1 commit
  26. 04 Jun, 2013 2 commits
    • gcc/ · 107eea2c
      2013-06-03  Jürgen Urban  <JuergenUrban@gmx.de>
      
      	* config.gcc (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*)
      	(mips64r5900el-*-elf*): New configurations.
      	* config/mips/mips-cpus.def (r5900): New processor.
      	* config/mips/mips-tables.opt: Regenerate.
      	* config/mips/mips.c (mips_rtx_cost_data): Add an R5900 entry.
      	(mips_issue_rate): Handle PROCESSOR_R5900.
      	(mips_reorg_process_insns): Force reorder mode for the R5900.
      	* config/mips/mips.h (TARGET_MIPS5900): Define.
      	(ISA_HAS_CONDMOVE, ISA_HAS_PREFETCH, ISA_HAS_HILO_INTERLOCKS): Include
      	TARGET_MIPS5900.
      	(ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY): Exclude
      	TARGET_MIPS5900.
      	* config/mips/mips.md (processor): Add r5900.
      	(MOVECC): Disallow CCmode conditions for TARGET_MIPS5900.
      
      libgcc/
      2013-06-03  Jürgen Urban  <JuergenUrban@gmx.de>
      
      	* config.host (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*)
      	(mips64r5900el-*-elf*): New configurations.
      
      From-SVN: r199666
      Jürgen Urban committed
    • ibm-ldouble.c: Enable for little-endian. · 5cc19c62
      	* config/rs6000/ibm-ldouble.c: Enable for little-endian.
      
      From-SVN: r199650
      Alan Modra committed
  27. 03 Jun, 2013 1 commit
    • i386.c (ix86_lea_outperforms): Fix formatting. · 0f1d3965
      	* config/i386/i386.c (ix86_lea_outperforms): Fix formatting.
      	(ix86_avoid_lea_for_addr): Likewise.
      	(exact_dependency_1): Likewise.
      	(ix86_adjust_cost): Likewise.
      	(swap_top_of_ready_list): Fix formatting and !reload_completed check
      	removed.
      	(do_reorder_for_imul): Fix typo, formatting and
      	!reload_completed check removed.
      	(ix86_sched_reorder): Fix typo and formatting.
      	(fold_builtin_cpu): Move M_INTEL_SLM at the end of processor types
      	list.
      
      	* config/i386/cpuinfo.c (INTEL_SLM): New enum value.
      
      From-SVN: r199611
      Yuri Rumyantsev committed
  28. 30 May, 2013 1 commit
    • Silvermont (SLM) architecture pipeline model, tuning and insn selection. · 0b871ccf
              Silvermont (SLM) architecture pipeline model, tuning and
              insn selection.
              * config.gcc: Add slm config options and target.
      
              * config/i386/slm.md: New.
      
              * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.
      
              * gcc/config/i386/i386-c.c (ix86_target_macros_internal):  New case
              PROCESSOR_SLM.
              (ix86_target_macros_internal): Likewise.
      
              * gcc/config/i386/i386.c (slm_cost): New cost.
              (m_SLM): New macro flag.
              (initial_ix86_tune_features): Set m_SLM.
              (x86_accumulate_outgoing_args): Likewise.
              (x86_arch_always_fancy_math_387): Likewise.
              (processor_target_table): Add slm cost.
              (cpu_names): Add slm cpu name.
              (x86_option_override_internal): Set SLM ISA.
              (ix86_issue_rate): New case PROCESSOR_SLM.
              (ia32_multipass_dfa_lookahead): Likewise.
              (fold_builtin_cpu): Add slm.
      
              * config/i386/i386.h (TARGET_SLM): New target macro.
              (target_cpu_default): Add TARGET_CPU_DEFAULT_slm.
              (processor_type): Add PROCESSOR_SLM.
      
              * config/i386/i386.md (cpu): Add new value "slm".
              (slm.md): Include slm.md.
      
              * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value.
      
      
      Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
      
      From-SVN: r199444
      Yuri Rumyantsev committed
  29. 28 May, 2013 1 commit
  30. 22 May, 2013 2 commits
  31. 17 May, 2013 1 commit
  32. 08 May, 2013 1 commit
  33. 06 May, 2013 2 commits
  34. 25 Apr, 2013 1 commit
    • config.host: Match little-endian powerpc-linux. · b9a7eb5d
      libgcc/
      	* config.host: Match little-endian powerpc-linux.
      gcc/
      	* config.gcc: Support little-endian powerpc-linux targets.
      	* config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
      	(LINK_OS_LINUX_SPEC): Define.
      	* config/rs6000/linuxspe.h (TARGET_DEFAULT):
      	Preserve MASK_LITTLE_ENDIAN.
      	* config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
      	* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
      	* config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
      	(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
      	(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
      	* config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
      	Correct fp word order for little-endian.  Don't shift toc entries
      	smaller than a word for little-endian.
      	* config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
      	(bswapdi2 splits): Correct low-part subreg for little-endian.
      	Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
      	low/high where such is correct only for be.
      	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
      	little-endian for -mcall-aixdesc.
      
      From-SVN: r198273
      Alan Modra committed
  35. 19 Apr, 2013 1 commit
  36. 11 Apr, 2013 1 commit
    • libgcc/ · b6b9af2f
      	* config/arm/linux-atomic.c (SUBWORD_SYNC_OP, SUBWORD_VAL_CAS)
      	(SUBWORD_TEST_AND_SET): Use signed char/short types instead of
      	unsigned char/unsigned short.
      	(__sync_val_compare_and_swap_{1,2}): Handle signed argument.
      
      From-SVN: r197806
      Julian Brown committed