Commit Graph

113697 Commits

Author SHA1 Message Date
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
Gerald Pfeifer
70c6e9cb80 run_doxygen (problematic): Change Linux reference to GNU/Linux.
* scripts/run_doxygen (problematic): Change Linux reference to
	GNU/Linux.

From-SVN: r181757
2011-11-27 01:09:22 +00:00
Gerald Pfeifer
4aa3ff2b2e abi.xml (Prerequisites): Refer to GNU/Linux.
* doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
	Fix reference to GCC.

From-SVN: r181756
2011-11-27 00:21:28 +00:00
Richard Henderson
380af8096d arm: Install __sync libfuncs for Linux.
* config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs
        for Linux.

From-SVN: r181755
2011-11-26 16:20:48 -08:00
GCC Administrator
14bb3de00f Daily bump.
From-SVN: r181754
2011-11-27 00:18:34 +00:00
Richard Henderson
2b894715ba Fix expand_atomic_fetch_op wrt unused_result.
* optabs.c (expand_atomic_fetch_op): Always return result.

From-SVN: r181750
2011-11-26 16:10:18 -08:00
Richard Henderson
022c0cd11d Fix init_sync_libfuncs_1 iteration.
* optabs.c (init_sync_libfuncs_1): Include max in iteration.

From-SVN: r181749
2011-11-26 16:06:16 -08:00
Richard Henderson
fec2ef4b68 omp-low: Assume anything aligned to BIGGEST_ALIGNMENT is aligned.
* omp-low.c (expand_omp_atomic): Assume anything aligned to
        BIGGEST_ALIGNMENT is aligned.

From-SVN: r181748
2011-11-26 16:01:04 -08:00
Richard Henderson
7b45b59bc5 m68k: Implement CAS and TAS patterns.
* config/m68k/m68k.md (UNSPECV_CAS_1, UNSPECV_CAS_2): New.
        (UNSPECV_TAS_1, UNSPECV_TAS_2): New.
        (I): New mode iterator.
        (xz): New mode attribute.
        * config/m68k/sync.md: New file.

From-SVN: r181747
2011-11-26 15:59:56 -08:00
Richard Henderson
8b281334a0 m68k-linux: Implement atomic operations via syscall.
libgcc/
	* config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
	* config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
gcc/
	* config/m68k/linux-atomic.c: New file.
	* config/m68k/t-linux: New file.
	* config.host (m68k-uclinux, m68k-linux): Use it.

From-SVN: r181746
2011-11-26 15:57:37 -08:00
Nathan Sidwell
84ec53b6ac re PR gcov-profile/51297 (Many gcov tests FAIL on Tru64, Solaris 8 and 9)
PR gcov-profile/51297
	* gcov.c (main): Allocate initial names and sources arrays.
	(find_source): Don't check for null name or source arrays here.

From-SVN: r181745
2011-11-26 21:44:24 +00:00
Richard Henderson
7546aa9db2 crtstuff: adjust tm clones for no attribute hidden
* crtstuff.c (__TMC_LIST__): Mark used not unused.
        (__TMC_END__): Only declare if hidden is available; in the definition,
        if hidden is unavailable add a null record.
        (deregister_tm_clones, register_tm_clones): New.
        (__do_global_dtors_aux, frame_dummy): Use them.
        (__do_global_dtors, __do_global_ctors_1): Likewise.

From-SVN: r181744
2011-11-26 13:16:49 -08:00
Jakub Jelinek
7e872b900f re PR rtl-optimization/49912 (ICE from -freorder-blocks-and-partition : verify_flow_info failed)
PR rtl-optimization/49912
	* cfgrtl.c (rtl_verify_flow_info_1): Ignore also EDGE_PRESERVE bit
	when counting n_branch.

	* g++.dg/other/pr49912.C: New test.

From-SVN: r181743
2011-11-26 21:50:28 +01:00
Uros Bizjak
a1c63c5fb9 fast-math-vect-call-2.c: Require vect_double effective target.
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
	effective target.
	* gcc.dg/vect/fast-math-bb-slp-call-2.c: Ditto.

From-SVN: r181742
2011-11-26 16:48:39 +01:00
Uros Bizjak
d0d03b1ccb fast-math-vect-call-2.c: Require vect_double effective target.
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
	effective target.

From-SVN: r181741
2011-11-26 16:35:33 +01:00
Jonathan Wakely
3a612dd1d0 re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX)
PR libstdc++/51296
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
	on alpha*-*-osf*.
	* testsuite/30_threads/future/cons/constexpr.cc: Disable debug
	symbols.
	* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.

From-SVN: r181740
2011-11-26 15:15:22 +00:00
Uros Bizjak
cdfdf187ac sync.md (movdi_via_fpu): Add %Z insn suffixes.
* config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.

From-SVN: r181739
2011-11-26 11:55:09 +01:00
Joern Rennecke
4189fb53f2 re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)
PR middle-end/50074
        * calls.c (mem_overlaps_already_clobbered_arg_p):
        Return false if no outgoing arguments have been stored so far.

From-SVN: r181738
2011-11-26 09:21:47 +00:00
GCC Administrator
ace7f915fc Daily bump.
From-SVN: r181735
2011-11-26 00:18:23 +00:00
Mikael Morin
3120f5119c trans-array.c (set_loop_bounds): Remove dead conditions.
* trans-array.c (set_loop_bounds): Remove dead conditions.

From-SVN: r181731
2011-11-25 20:24:10 +00:00
Mikael Morin
f6a40ccda3 re PR fortran/51250 (Bug with SUM(,dim,mask))
fortran/
	PR fortran/51250
	PR fortran/43829
	* trans-array.c (gfc_trans_create_temp_array): Get dimension from
	the right gfc_ss struct.

testsuite/
	PR fortran/51250
	PR fortran/43829
	* gfortran.dg/inline_sum_3.f90: New test.

From-SVN: r181730
2011-11-25 20:18:21 +00:00
Uros Bizjak
9e08718a4a re PR testsuite/51258 (64-bit gcc.dg/atomic-compare-exchange-5.c link failure on 32-bit Solaris/x86)
PR testsuite/51258
	* lib/target-supports.exp
	(check_effective_target_sync_long_long): Also supported on 32bit
	x86 targets.  Add comment about required dg-options.
	Add alpha*-*-* targets.
	(check_effective_target_sync_long_long_runtime): Ditto.

	* gcc.dg/atomic-op-4.c (dg-options): Add -march=pentium for
	32bit x86 targets.
	* gcc.dg/atomic-compare-exchange-4.c: Ditto.
	* gcc.dg/atomic-exchange-4.c: Ditto.
	* gcc.dg/atomic-load-4.c: Ditto.
	* gcc.dg/atomic-store-4.c: Ditto.
	* gcc.dg/di-longlong64-sync-1.c: Ditto.
	* gcc.dg/di-sync-multithread.c: Ditto.
	* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
	* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

From-SVN: r181728
2011-11-25 20:30:58 +01:00
Uros Bizjak
bf71de9423 re PR testsuite/51258 (64-bit gcc.dg/atomic-compare-exchange-5.c link failure on 32-bit Solaris/x86)
PR testsuite/51258
	* lib/target-supports.exp
	(check_effective_target_sync_int_128_runtime): New procedure.
	(check_effective_target_sync_long_long_runtime): Ditto.
	(check_effective_target_sync_long_long): Add arm*-*-*.
	(check_effective_target_sync_longlong): Remove.

	* gcc.dg/atomic-op-5.c: Require sync_int_128_runtime effective target.
	* gcc.dg/atomic-compare-exchange-5.c: Ditto.
	* gcc.dg/atomic-exchange-5.c: Ditto.
	* gcc.dg/atomic-load-5.c: Ditto.
	* gcc.dg/atomic-store-5.c: Ditto.
	* gcc.dg/simulate-thread/atomic-load-int128.c: Ditto.
	* gcc.dg/simulate-thread/atomic-other-int128.c: Ditto.
	* gcc.dg/atomic-op-4.c: Require sync_long_long_runtime
	effective target.
	* gcc.dg/atomic-compare-exchange-4.c: Ditto.
	* gcc.dg/atomic-exchange-4.c: Ditto.
	* gcc.dg/atomic-load-4.c: Ditto.
	* gcc.dg/atomic-store-4.c: Ditto.
	* gcc.dg/di-longlong64-sync-1.c: Ditto.
	* gcc.dg/di-sync-multithread.c: Ditto.
	* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
	* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

From-SVN: r181727
2011-11-25 18:41:44 +01:00
Tobias Burnus
f29bda8308 re PR fortran/50408 (ICE in transfer_expr)
2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50408
        * trans-decl.c (gfc_get_module_backend_decl): Also copy
        ts.u.derived from the gsym if the ts.type is BT_CLASS.
        (gfc_get_extern_function_decl): Copy also the backend_decl
        for the symbol's ts.u.{derived,cl} from the gsym.
        * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
        return if "from" and "to" are the same.

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

        PR fortran/50408
        * gfortran.dg/whole_file_35.f90: New.

From-SVN: r181725
2011-11-25 17:26:47 +01:00
Tobias Burnus
8594f636ac re PR fortran/51302 (ICE with VOLATILE loop variable)
2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51302
        * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.

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

        PR fortran/51302
        * gfortran.dg/volatile13.f90: New.

From-SVN: r181724
2011-11-25 16:18:06 +01:00
Sameera Deshpande
d6b1c2dc3d Add myself in write-after-approval list
From-SVN: r181723
2011-11-25 20:31:16 +05:30
Georg-Johann Lay
2cc11a884f avr.c (print_operand): Support code = 'i' for CONST_INT.
* config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.

From-SVN: r181722
2011-11-25 15:00:39 +00:00
Andrew MacLeod
0c1e7e423a re PR other/51011 (FAIL: gcc.dg/atomic-generic.c (test for excess errors))
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

	PR other/51011
	* tree.h (is_builtin_name): No longer external.
	* builtins.c (is_builtin_name): Make static.
	* varasm.c (incorporeal_function_p): __sync and __atomic external calls
	are not incorporeal and may need asm label processing.

From-SVN: r181721
2011-11-25 13:35:13 +00:00
Georg-Johann Lay
b5e3577030 re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
PR target/50566
	* config/avr/avr-protos.h (avr_log_t): Add field .builtin.
	* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
	Don't bypass TARGET_ALL_DEBUG.  Print self-info with ?.
	(avr_log_vadump): Support %D and %X to print double_int.
	(avr_double_int_pop_digit): New static function.
	(avr_dump_double_int_hex): New static function.

From-SVN: r181718
2011-11-25 10:46:10 +00:00
Kirill Yukhin
c07e938571 Fix ChangeLog typo for last commit.
From-SVN: r181715
2011-11-25 10:34:16 +00:00
Enkovich Ilya
696095350b re PR target/51287 (252.eon compfail with -march=atom)
PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

From-SVN: r181713
2011-11-25 09:46:27 +00:00
Andrew MacLeod
c466c4ff90 re PR c/51256 (ICE with invalid parameter for __atomic builtin)
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

	PR c/51256
	* c-common.c (get_atomic_generic_size): Check for various error 
	conditions
	(resolve_overloaded_atomic_exchange, 
	resolve_overloaded_atomic_compare_exchange, 
	resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
	error_mark_node for error conditions.
	* gcc.dg/atomic-pr51256.c: New.  Test error conditions.

From-SVN: r181709
2011-11-25 03:00:38 +00:00
Paolo Carlini
c138ee6de2 re PR c++/51227 ([c++0x] ICE with invalid parameter in lambda expression)
/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51227
	* pt.c (instantiate_class_template_1): If lambda_function (type)
	is NULL_TREE do not instantiate_decl.

/testsuite
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51227
	* g++.dg/cpp0x/lambda/lambda-ice5.C: New.

From-SVN: r181707
2011-11-25 01:00:44 +00:00
GCC Administrator
28a4bba202 Daily bump.
From-SVN: r181706
2011-11-25 00:18:59 +00:00
Andrew MacLeod
744accb21b optab.c (maybe_emit_atomic_exchange): New.
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

	* optab.c (maybe_emit_atomic_exchange): New.  Try to emit an
	atomic_exchange pattern.
	(maybe_emit_sync_lock_test_and_set): New.  Try to emit an exchange
	using __sync_lock_test_and_set.
	(maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
	exchange using a compare_and_swap loop.
	(expand_sync_lock_test_and_set): New.  Expand sync_lock_test_and_set.
	(expand_atomic_test_and_set): New.  Expand test_and_set operation.
	(expand_atomic_exchange): Use new maybe_emit_* functions.
	(expand_atomic_store): Use new maybe_emit_* functions.
	* builtins.c (expand_builtin_sync_lock_test_and_set): Call
	expand_sync_lock_test_and_set routine.
	(expand_builtin_atomic_exchange): Remove parameter from call.
	(expand_builtin_atomic_clear): Use atomic_clear pattern if present.
	(expand_builtin_atomic_test_and_set): Add target and simply call
	expand_atomic_test_and_set.
	(expand_builtin): Add target to expand_builtin_atomic_test_and_set.
	* expr.h (expand_atomic_exchange): Add parameter.
	(expand_sync_lock_test_and_set): New prototype.
	(expand_atomic_test_and_set, expand_atomic_clear): New prototypes.

From-SVN: r181702
2011-11-24 23:14:31 +00:00
H.J. Lu
bee51209f6 Revert revision 181357.
gcc/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/51134
	* config/i386/i386.h (processor_costs): Revert revision 181357.
	* config/i386/i386.c (cost models): Likewise.
	(core_cost): Likewise.
	(promote_duplicated_reg): Likewise.
	(promote_duplicated_reg_to_size): Likewise.
	(processor_target): Likewise.
	(expand_set_or_movmem_via_loop_with_iter): Likewise.
	(expand_set_or_movmem_via_loop): Likewise.
	(emit_strset): Likewise.
	(expand_movmem_epilogue): Likewise.
	(expand_setmem_epilogue): Likewise.
	(expand_movmem_prologue): Likewise.
	(expand_setmem_prologue): Likewise.
	(expand_constant_movmem_prologue): Likewise.
	(expand_constant_setmem_prologue): Likewise.
	(decide_alg): Likewise.
	(decide_alignment): Likewise.
	(ix86_expand_movmem): Likewise.
	(ix86_expand_setmem): Likewise.
	(ix86_slow_unaligned_access): Likewise.
	* config/i386/i386.md (strset): Likewise.
	* config/i386/sse.md (vec_dupv4si): Likewise.
	(vec_dupv2di): Likewise.

gcc/testsuite/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/51134
	* gcc.target/i386/sw-1.c: Revert revision 181357.

From-SVN: r181701
2011-11-24 14:11:12 -08:00
Georg-Johann Lay
f456d73721 avr.md (*rotlhi2.15): Set length to 4.
* config/avr/avr.md (*rotlhi2.15): Set length to 4.

From-SVN: r181700
2011-11-24 21:12:00 +00:00
Tobias Burnus
3d2cea8c44 re PR fortran/51218 (Potential optimization bug due to implicit_pure?)
2011-11-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51218
        * resolve.c (pure_subroutine): If called subroutine is
        impure, unset implicit_pure.
        (resolve_function): Move impure check to simplify code.

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

        PR fortran/51218
        * gfortran.dg/implicit_pure_1.f90: New.

From-SVN: r181698
2011-11-24 18:57:41 +01:00
Rainer Orth
603518caa7 Fix several atomic tests on 32-bit x86 (PR testsuite/51258)
PR testsuite/51258
	* gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
	* gcc.dg/atomic-exchange-5.c: Likewise.
	* gcc.dg/atomic-load-5.c: Likewise.
	* gcc.dg/atomic-op-5.c: Likewise.
	* gcc.dg/atomic-store-5.c: Likewise.
	* gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.

From-SVN: r181697
2011-11-24 16:34:09 +00:00
Rainer Orth
bf75cdbe7b Fix bootstrap error in s-taprop-tru64.adb
* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.

From-SVN: r181696
2011-11-24 16:27:31 +00:00