Commit Graph

113636 Commits

Author SHA1 Message Date
Ian Lance Taylor
08ee945e0b runtime: If no sem_timedwait, use pthread_cond_timedwait.
From-SVN: r181821
2011-11-29 21:58:48 +00:00
DJ Delorie
85b8555ed3 .
* configure.ac (rl78-*-*) New case.
	* configure: Regenerate.
	* MAINTAINERS: Add myself as RL78 maintainer.

libgcc
	* config.host (rl78-*-elf): New case.
	* config/rl78: New directory for the Renesas RL78.

gcc
	* config.gcc (rl78-*-elf): New case.
	* doc/extend.texi: Add RL78 documentation.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/contrib.texi: Add RL78.
	* doc/install.texi: Add rl78-*-elf.
	* config/rl78: New directory for the Renesas RL78.

contrib
	* config-list.mk (LIST): Add rl78-elf.

From-SVN: r181819
2011-11-29 16:36:43 -05:00
Jakub Jelinek
c360c0fb8a re PR tree-optimization/51247 (ICE in set_value_range, at tree-vrp.c:417)
PR tree-optimization/51247
	* tree-vrp.c (extract_range_from_assert): For signed 1-bit precision
	types instead of adding 1 subtract -1 and instead of subtracting 1
	add -1 to avoid overflows.

	* gcc.c-torture/compile/pr51247.c: New test.

From-SVN: r181818
2011-11-29 22:03:09 +01:00
Andreas Tobler
781c528f2e config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up.
2011-11-29  Andreas Tobler  <andreast@fgznet.ch>

	* config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up.
	(libname_spec): Likewise.
	* configure: Regenerate with autoconf -I ../../.

From-SVN: r181816
2011-11-29 21:12:00 +01:00
Andrew MacLeod
91f59d8bf4 re PR target/50123 (cmpxchg generated for atomic and with zero/or with -1)
2011-11-29  Andrew MacLeod  <amacleod@redhat.com>

	PR target/50123
	* optabs.c (maybe_optimize_fetch_op): New.  Look for more optimal
	instructions for a FECTH_OP or OP_FECTH sequence.
	(expand_atomic_fetch_op): Call maybe_optimize_fetch_op.
	* testsuite/gcc.dg/atomic-op-optimize.c: New.  Test for optimizations.

From-SVN: r181815
2011-11-29 19:42:44 +00:00
Ian Lance Taylor
421ecf992e runtime: If O_CLOEXEC is not defined, define it as 0.
From-SVN: r181814
2011-11-29 19:26:00 +00:00
Sanjoy Das
8afa2bfbdc compiler: Define and use backend-independent Location class.
From Sanjoy Das.

	* go-location.h: New file.
	* go-linemap.cc: New file.
	* go-gcc.cc: Change all uses of source_location to Location.
	* Make-lang.in (GO_OBJS): Add go/go-linemap.o.
	(GO_LINEMAP_H): New variable.
	(GO_LEX_H): Use $(GO_LINEMAP_H).
	(GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
	(go/go-linemap.o): New target.

Co-Authored-By: Ian Lance Taylor <iant@google.com>

From-SVN: r181813
2011-11-29 19:10:50 +00:00
Uros Bizjak
09ad58e618 sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
* config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
	(movdi_via_fpu): Remove.
	(loaddi_via_fpu): New insn pattern.
	(storedi_via_fpu): Ditto.
	(atomic_loaddi_fpu): Use loaddi_via_fpu and storedi_via_fpu.
	(atomic_storedi_fpu): Ditto.
	* reg-stack.c (get_true_reg): Handle UNSPEC_LDA.
	(subst_stack_regs_pat): Handle UNSPEC_STA.

From-SVN: r181812
2011-11-29 20:03:08 +01:00
Uros Bizjak
c6b4cec7ea i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for alternative 0.
* config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not
	allocate scratch memory for alternative 0.

From-SVN: r181811
2011-11-29 18:55:29 +01:00
Thomas Koenig
645e511b20 re PR fortran/40958 (module files too large)
2011-11-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40958
	* module.c (prev_module_line):  New variable.
	(prev_module_column):  New variable.
	(prev_character):  New variable.
	(module_char):  Update the new variables.
	(module_unget_char):  New function.
	(parse_string):  Use module_unget_char.
	(parse_integer):  Likewise.
	(parse_name):  Likewise.

From-SVN: r181810
2011-11-29 17:49:24 +00:00
Michael Meissner
7fa14a0130 Enable target specific builtins and macros when using the target attribute or pragma on rs6000
From-SVN: r181809
2011-11-29 17:33:05 +00:00
David Edelsohn
8f5c9d6659 tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
2011-11-29  Dodji Seketeli  <dodji@redhat.com>

        * tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
        (maybe_unwind_expanded_macro_loc): Adjust.

From-SVN: r181808
2011-11-29 11:40:50 -05:00
David Edelsohn
43042ea701 trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl if DECL_ONE_ONLY.
2011-11-21  David Edelsohn  <dje.gcc@gmail.com>
            Aldy Hernandez  <aldyh@redhat.com>

        * trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl
        if DECL_ONE_ONLY.
        (ipa_tm_create_version): Same.

Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>

From-SVN: r181807
2011-11-29 11:32:28 -05:00
Bernd Schmidt
89ff14c265 haifa-sched.c (recompute_todo_spec): Simplify and correct the code checking for a clobber of a condition register...
* haifa-sched.c (recompute_todo_spec): Simplify and correct the
	code checking for a clobber of a condition register when deciding
	whether to predicate.

From-SVN: r181806
2011-11-29 15:58:05 +00:00
Bernd Schmidt
4d5ae4eadc config.host (tic6x-*-uclinux): Append to extra_parts.
* config.host (tic6x-*-uclinux): Append to extra_parts.  Fix
	formatting.

From-SVN: r181805
2011-11-29 15:55:38 +00:00
Yufeng Zhang
9645592c93 Use complex floating-point constant in CDBL.
2011-11-29  Yufeng Zhang  <yufeng.zhang@arm.com>

	Use complex floating-point constant in CDBL.

	* gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i.

From-SVN: r181804
2011-11-29 15:27:33 +00:00
Diego Novillo
e62acfd26f gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
* gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
 	Update field call_stmt_cannot_inline_p from call graph edge, if
 	needed.
 	* gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.

From-SVN: r181803
2011-11-29 09:16:16 -05:00
Sameera Deshpande
635a48fbd6 arm.md (arm_movdi): Update NEG_POOL_RANGE.
* config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE.
	  (movdf_soft_insn): Likewise.

	* config/arm/fpa.md (thumb2_movdf_fpa): Likewise.

	* config/arm/neon.md (neon_mov<mode>): Likewise.

	* config/arm/vfp.md (movdi_vfp): Likewise.
	  (movdi_vfp_cortexa8): Likewise.
	  (movdf_vfp): Likewise.

From-SVN: r181802
2011-11-29 18:22:27 +05:30
Tobias Burnus
e0516b0583 re PR fortran/51306 (MOVE_ALLOC: Make more middle end friendlier)
2011-11-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51306
        PR fortran/48700
        * check.c (gfc_check_move_alloc): Make sure that from/to
        are both polymorphic or neither.
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,
        generate inline code.

2011-11-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51306
        PR fortran/48700
        * gfortran.dg/move_alloc_5.f90: Add dg-error.
        * gfortran.dg/select_type_23.f03: Add dg-error.
        * gfortran.dg/move_alloc_6.f90: New.
        * gfortran.dg/move_alloc_7.f90: New.

From-SVN: r181801
2011-11-29 10:57:40 +01:00
Jakub Jelinek
825298c450 re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)
PR middle-end/50074
	* expr.c (expand_expr_addr_expr_1): Don't call force_operand for
	EXPAND_SUM modifier.

From-SVN: r181800
2011-11-29 09:48:41 +01:00
François Dumont
40207762a8 hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in...
2011-11-29  François Dumont <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
	useless now that the hashtable implementation put the hash code in
	cache if the hash functor throws.
	* testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
	checking also distance between begin and end iterators to validate
	underlying data model.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/2.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/2.cc: New.

From-SVN: r181799
2011-11-29 07:45:58 +00:00
Ian Lance Taylor
714cb9f01a Implement predefined error interface.
From-SVN: r181798
2011-11-29 07:03:49 +00:00
Ira Rosen
b2a1a74d99 re PR tree-optimization/51301 (Compiler ICE in vect_is_simple_use_1)
PR tree-optimization/51301
        * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
        that the last statement doesn't convert to a bigger type than the
        original type of the computation.

From-SVN: r181797
2011-11-29 07:00:53 +00:00
Richard Henderson
db4e52814d rs6000: Streamline boolval output for compare-and-swap.
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
        Handle overlap between retval and oldval.  Always compute boolval
        from CR0 EQ value.

From-SVN: r181796
2011-11-28 20:50:13 -08:00
Richard Henderson
20bc9eb1b8 rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target after convert_modes.
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
        new pseudo for target after convert_modes.
        (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.

From-SVN: r181795
2011-11-28 20:50:01 -08:00
Richard Henderson
cef86eb288 * libgomp.h (enum memmodel): New.
From-SVN: r181794
2011-11-28 18:19:05 -08:00
GCC Administrator
de4f64c73d Daily bump.
From-SVN: r181793
2011-11-29 00:19:06 +00:00
Uros Bizjak
338a1a221b cdce3.C: Use dg-additional-options.
* g++.dg/cdce3.C: Use dg-additional-options.

From-SVN: r181789
2011-11-28 23:05:46 +01:00
Jakub Jelinek
c32f25b885 re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
	* tree-ssa.c (execute_update_addresses_taken): Remove
	var ={v} {CLOBBER} stmts instead of rewriting them into
	var_N ={v} {CLOBBER}.

From-SVN: r181788
2011-11-28 22:04:45 +01:00
Jakub Jelinek
d3b623c7af re PR middle-end/50907 (EDGE_CROSSING incorrectly set across same section with -freorder-blocks-and-partition -fPIC -fprofile-use)
PR middle-end/50907
	* function.c (convert_jumps_to_returns): When redirecting an edge
	succ to EXIT_BLOCK_PTR, clear EDGE_CROSSING flag.

	* gcc.dg/tree-prof/pr50907.c: New test.

From-SVN: r181787
2011-11-28 22:04:10 +01:00
Jakub Jelinek
8c29866f7f re PR tree-optimization/50078 (combine wrong code: volatile accesses optimized out)
PR tree-optimization/50078
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
	TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.

	* gcc.dg/pr50078.c: New test.

From-SVN: r181786
2011-11-28 22:03:11 +01:00
Jakub Jelinek
99d8763e19 re PR tree-optimization/50682 (ICE: SIGSEGV in main_block_label with -O2 -fnon-call-exceptions -ftracer)
PR tree-optimization/50682
	* tree-eh.c (maybe_remove_unreachable_handlers): New function.
	* tree-flow.h (maybe_remove_unreachable_handlers): New prototype.
	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it.

	* g++.dg/opt/pr50682.C: New test.

From-SVN: r181785
2011-11-28 22:02:27 +01:00
Andrew MacLeod
62bad7cd05 c-family
* c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
	predefines in one place.  Add LOCK_FREE predefines.
	(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
	new func.

	libstdc++-v3
	* include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
	predefined macros.
	* testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
	macro checks.  Check for expected compile time values.

From-SVN: r181784
2011-11-28 20:28:23 +00:00
Rainer Orth
f9c55897eb Cleanup rs6000/t-ppccomm configurations (PR other/51022)
PR other/51022
	* config/rs6000/t-savresfgpr: New file.
	* config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
	$(srcdir)/config/rs6000/eabi.S.
	* config/rs6000/t-ppccomm-ldbl: Remove.
	* config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
	tmake_file.
	(powerpc-*-eabispe*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
	to tmake_file, remove rs6000/t-ppccomm-ldbl.
	(powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.

From-SVN: r181782
2011-11-28 16:02:10 +00:00
Tobias Burnus
56828a291c Really commit the test case:
2011-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51308
        * gfortran.dg/iso_c_binding_compiler_4.f90: New.

From-SVN: r181779
2011-11-28 15:47:39 +01:00
Tobias Burnus
fc2a6c8982 re PR fortran/51308 (PARAMETER attribute conflicts with SAVE attribute)
2011-11-28  Tobias Burnus  <burnus@net-b.de>
            Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/51308
        * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER
        conflicts for ISO_C_BINDING variables.
        (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null
        as SAVE.

2011-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51308
        * gfortran.dg/iso_c_binding_compiler_4.f90: New.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r181778
2011-11-28 15:21:33 +01:00
Paolo Carlini
1a30353af8 re PR libstdc++/51288 ([C++0x] get_money implementation is missing the sentry object (does not skip leading whitespace))
2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51288
	* include/std/iomanip (get_money, put_money): Use sentry.
	* testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
	Likewise.

From-SVN: r181775
2011-11-28 13:24:23 +00:00
Georg-Johann Lay
49b2772e24 extend.texi (AVR Built-in Functions): Add documentation for __builtin_avr_map8 and __builtin_avr_map16.
* doc/extend.texi (AVR Built-in Functions): Add documentation for
	__builtin_avr_map8 and __builtin_avr_map16.
	* config/avr/avr.md: Document new %t and %T asm output codes.
	(define_c_enum "unspec"): Add UNSPEC_MAP_BITS.
	(adjust_len): Add map_bits.
	(map_bitsqi, map_bitshi): New insns.
	* config/avr/avr-protos.h (avr_out_map_bits): New.
	* config/avr/avr-protos.c (print_operand): Implement %t and %T.
	(adjust_insn_length): Handle ADJUST_LEN_MAP_BITS.
	(avr_double_int_push_digit): New function.
	(avr_map, avr_revert_map, avr_swap_map, avr_id_map): New functions.
	(avr_sig_map, avr_map_hamming_byte): New functions.
	(avr_out_swap_bits, avr_out_revert_bits, avr_move_bits,
	avr_out_map_bits): New functions.
	(enum avr_builtin_id): Add AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
	(avr_init_builtins): Populate __builtin_avr_map8, __builtin_avr_map16.
	(bdesc_2arg): Add __builtin_avr_map8, __builtin_avr_map16 ...
	(avr_expand_builtin): ...and expand them.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
	__BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.

From-SVN: r181773
2011-11-28 09:58:37 +00:00
Ian Lance Taylor
737087cbc8 runtime: Multiplex goroutines onto OS threads.
From-SVN: r181772
2011-11-28 05:45:49 +00:00
Ian Lance Taylor
a01207c473 generic-morestack.c (__splitstack_find): Check for NULL old stack value.
* generic-morestack.c (__splitstack_find): Check for NULL old
	stack value.
	(__splitstack_resetcontext): New function.
	(__splitstack_releasecontext): New function.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

From-SVN: r181771
2011-11-28 05:44:31 +00:00
GCC Administrator
8ce3007a90 Daily bump.
From-SVN: r181770
2011-11-28 00:19:24 +00:00
Aldy Hernandez
9cafc14fe9 trans-mem-2_0.c: Add dg-lto-do link.
gcc/testsuite:
2011-11-27  Aldy Hernandez  <aldyh@redhat.com>
	    Iain Sandoe  <iains@gcc.gnu.org>

	* gcc.dg/lto/trans-mem-2_0.c: Add dg-lto-do link.  Add dummy
	functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
	* gcc.dg/lto/trans-mem-1_0.c: Add dg-lto-do link.
	* gcc.dg/lto/trans-mem-1_1.c:  Add dummy functions for
	_ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.


Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>

From-SVN: r181766
2011-11-27 14:09:13 +00:00
Iain Sandoe
2b0b8ab2a6 darwin-crt-tm.c: Correct comments, use correct licence.
libgcc:

	* config/darwin-crt-tm.c: Correct comments, use correct licence.

From-SVN: r181765
2011-11-27 13:57:01 +00:00
Iain Sandoe
c1d8101c1d darwin-crt-tm.c: Remove dummy _ITM_ functions.
libgcc:

	* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.

From-SVN: r181764
2011-11-27 13:52:49 +00:00
Richard Sandiford
a1c48edc71 re PR target/51278 (gcc.target/mips/octeon-baddu-1.c fails on the trunk)
gcc/
	PR target/51278
	* config/mips/mips.c (mips_rtx_costs): Handle baddu.

From-SVN: r181763
2011-11-27 10:18:25 +00:00
Richard Sandiford
fd2d6b1b16 mips.c (mips16_unextended_reference_p): Test for BLKmode.
gcc/
	* config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.

From-SVN: r181762
2011-11-27 10:14:57 +00:00
Richard Sandiford
a2ccf3c28c mips-protos.h (mips_emit_binary): Declare.
gcc/
	* config/mips/mips-protos.h (mips_emit_binary): Declare.
	* config/mips/mips.c (mips_emit_binary): Make global.
	(mips_set_mips16_mode): Turn off -mfix-r4000 in MIPS16 mode.
	(mips_conditional_register_usage): Don't treat LO and HI as
	register operands in MIPS16 mode.
	(mips_mulsidi3_gen_fn): Use {u,}mulsidi3_{32,64}bit_mips16
	for MIPS16 code.
	* config/mips/predicates.md (muldiv_target_operand): New predicate.
	(move_operand): Allow hilo_operand.
	* config/mips/mips.md (mul<mode>3): Explicitly specify LO as the
	target of MIPS16 multiplies, then move it into the target register.
	(mul<mode>3_internal, *macc2, *msac2): Use muldiv_target_operand.
	(<u>mulsidi3_32bit_mips16): New expander.
	(<u>mulsidi3_32bit): Use muldiv_target_operand.
	(<u>mulsidi3_32bit_r4000): Disable for ISA_HAS_DSP.
	(<u>mulsidi3_64bit): Require !TARGET_MIPS16.  Split into
	<u>mulsidi3_64bit_split.
	(<u>mulsidi3_64bit_mips16): New expander.
	(<u>mulsidi3_64bit_split): Likewise, using expansions from
	two previous define_splits.
	(<u>mulsidi3_64bit_hilo, *muls<u>_di, <u>msubsidi4): Use
	muldiv_target_operand.
	(<su>mulsi3_highpart): Use <su>mulsi3_highpart_split for MIPS16 code.
	(<su>mulsi3_highpart_internal): Require !TARGET_MIPS16.
	Split into <su>mulsi3_highpart_split.
	(<su>mulsi3_highpart_split): New expander.
	(<su>muldi3_highpart): Turn into a define_expand.
	Use <su>muldi3_highpart_split for MIPS16 code.
	(<su>muldi3_highpart_internal): Renamed from <su>muldi3_highpart.
	Require !TARGET_MIPS16.  Split into <su>muldi3_highpart_split.
	(<su>muldi3_highpart_split): New expander.
	(<u>mulditi3): Explicitly specify LO as the target of MIPS16
	multiplies, then move it into the target register.
	(<u>mulditi3_internal, <u>maddsidi4): Use muldiv_target_operand.
	(divmod<mode>4, udivmod<mode>4): Turn into define_expands.
	Use <u>divmod<mode>4_split for MIPS16 code, then explicitly
	move LO into operand 0.
	(divmod<mode>4_internal, udivmod<mode>4_internal): Renamed
	from <u>divmod<mode>4.  Use muldiv_target_operand.
	Require !TARGET_MIPS16.  Split into <u>divmod<mode>4_split.
	(<u>divmod<mode>4_split): New expander.
	(<u>divmod<GPR:mode>4_hilo_<HILO:mode>): Use muldiv_target_operand.
	(mfhi<GPR:mode>_<HILO:mode>): Use hilo_operand.

gcc/testsuite/
	* gcc.target/mips/mult-2.c, gcc.target/mips/mult-3.c,
	gcc.target/mips/mult-4.c, gcc.target/mips/mult-5.c,
	gcc.target/mips/mult-6.c, gcc.target/mips/mult-7.c,
	gcc.target/mips/mult-8.c, gcc.target/mips/mult-9.c,
	gcc.target/mips/mult-10.c, gcc.target/mips/mult-11.c,
	gcc.target/mips/mult-12.c, gcc.target/mips/mult-13.c,
	gcc.target/mips/mult-14.c, gcc.target/mips/mult-15.c,
	gcc.target/mips/mult-16.c, gcc.target/mips/mult-17.c,
	gcc.target/mips/mult-18.c, gcc.target/mips/mult-19.c,
	gcc.target/mips/div-1.c, gcc.target/mips/div-2.c,
	gcc.target/mips/div-3.c, gcc.target/mips/div-4.c,
	gcc.target/mips/div-5.c, gcc.target/mips/div-6.c,
	gcc.target/mips/div-7.c, gcc.target/mips/div-8.c,
	gcc.target/mips/div-9.c, gcc.target/mips/div-10.c,
	gcc.target/mips/div-11.c, gcc.target/mips/div-12.c: New tests.
	* gcc.target/mips/fix-r4000-1.c (foo, bar): Add NOMIPS16.
	* gcc.target/mips/fix-r4000-2.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-3.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-4.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-5.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-6.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-7.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-8.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-9.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-10.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-11.c (foo): Likewise.
	* gcc.target/mips/fix-r4000-12.c (foo): Likewise.

From-SVN: r181761
2011-11-27 10:09:32 +00:00
Richard Sandiford
006b72bffc hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set and x_operand_reg_set.
gcc/
	* hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set
	and x_operand_reg_set.
	(accessible_reg_set, operand_reg_set): New macros.
	* reginfo.c (init_reg_sets): Initialize accessible_reg_set and
	operand_reg_set.
	(saved_accessible_reg_set, saved_operand_reg_set): New variables.
	(save_register_info): Save them.
	(restore_register_info): Restore them.
	(init_reg_sets_1): Limit operand_reg_set to accessible_reg_set.
	Remove NO_REGS registers from operand_reg_set.  Treat members
	of operand_reg_set as fixed.
	* recog.c (general_operand): Check operand_reg_set rather than
	NO_REGS.
	(register_operand, nonmemory_operand): Likewise.
	* varasm.c (make_decl_rtl): Always use DECL_MODE as the mode of
	register variables.  Check accessible_reg_set and operand_reg_set.
	* config/mips/mips.c (mips_conditional_register_usage): Remove
	inaccessible register from accessible_reg_set, rather than just
	making them fixed.

gcc/testsuite/
	* gcc.target/mips/mips.exp (mips-dg-options): Make -mno-dsp
	imply -mno-dspr2.
	* gcc.target/mips/no-dsp-1.c: New test.
	* gcc.target/mips/soft-float-1.c: Likewise.

From-SVN: r181760
2011-11-27 10:09:15 +00:00
Gerald Pfeifer
a58371f313 * config/pa/pa-linux.h (TARGET_GAS): Remove comment.
From-SVN: r181759
2011-11-27 05:50:12 +00:00
Gerald Pfeifer
f6d93d7483 using.xml (Prerequisites): Refer to x86 instead of i386.
* doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
	of i386.

From-SVN: r181758
2011-11-27 02:42:21 +00:00