Commit Graph

102394 Commits

Author SHA1 Message Date
Richard Guenther
d15adbeb3f re PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)
2010-08-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45379
	* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
	if addr->index is NULL or zero.
	* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
	TARGET_MEM_REF more properly.
	(indirect_ref_may_alias_decl_p): Likewise.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
	* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more
	properly.

From-SVN: r163519
2010-08-24 13:25:25 +00:00
Mingjie Xing
1991282b0e check loongson targets in vect.exp
From-SVN: r163495
2010-08-24 03:22:07 +00:00
GCC Administrator
e17683227d Daily bump.
From-SVN: r163494
2010-08-24 00:17:23 +00:00
Anatoly Sokolov
f28f2337c6 m32c.c (m32c_function_value_regno_p): Make static.
* config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
	(m32c_override_options): Rename to...
	(m32c_option_override): ...this. Make static.
	(TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
	* config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
	Remove.
	* config/m32c/m32c-protos.h (m32c_override_options,
	m32c_function_value_regno_p): Remove.

From-SVN: r163488
2010-08-23 23:34:15 +04:00
Gerald Pfeifer
52965ca612 gcc_release (snapshot_print): Also include an sha1 hash for every tarball.
* gcc_release (snapshot_print): Also include an sha1 hash for
	every tarball.  Slightly tweak indentation.

From-SVN: r163487
2010-08-23 18:52:06 +00:00
Changpeng Fang
756f50ce38 Fix a typo in the previous commit
* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Fix a
	typo ("could not taken" --> "could not be taken")

From-SVN: r163485
2010-08-23 18:50:22 +00:00
Mikael Morin
c0d15a7748 re PR fortran/45380 (ICE in gfc_conv_intrinsic_any_all at -O{n>0})
2010-08-23  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/45380
	* frontend-passes.c (optimize_equality): Don't optimize array equality

From-SVN: r163484
2010-08-23 18:42:21 +00:00
Kai Tietz
0b3f008892 tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Pre-initialize innerloop_iters to one.
2010-08-23  Kai Tietz  <kai.tietz@onevision.com>

        * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
        Pre-initialize innerloop_iters to one.

From-SVN: r163477
2010-08-23 20:08:47 +02:00
Changpeng Fang
bc068a23d0 pr45260 Don't generate prefetch if the address of base could not be taken.
* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
	existing static function global.

	*tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
	is changed to global.

	*tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
	may_be_nonaddressable_p on base, and don't collect this reference
	if the address of the base could not be taken.

From-SVN: r163475
2010-08-23 17:45:08 +00:00
Michael Meissner
f8895c4b7f Add missing file
From-SVN: r163473
2010-08-23 17:31:56 +00:00
Michael Meissner
b36cf9d28f Update to use -mveclibabi=mass instead of -mmass
From-SVN: r163471
2010-08-23 16:47:01 +00:00
Michael Meissner
8bcc030417 Add -mveclibabi=mass
From-SVN: r163470
2010-08-23 16:41:10 +00:00
Tobias Burnus
a4a7e2f5f7 re PR libfortran/45323 (warnings compiling libgfortran/io/write.c: array subscript has type 'char')
2010-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45323
        * io/write.c (nml_write_obj, namelist_write): Cast argument
        of toupper to int.

From-SVN: r163469
2010-08-23 14:39:20 +02:00
Janus Weil
2fcac97d03 re PR fortran/45366 (Problem with procedure pointer dummy in PURE function)
2010-08-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45366
	* resolve.c (resolve_procedure_interface): New function split off from
	'resolve_symbol'.
	(resolve_formal_arglist): Call it here ...
	(resolve_symbol): ... and here.


2010-08-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45366
	* gfortran.dg/proc_ptr_29.f90: New.

From-SVN: r163468
2010-08-23 14:26:42 +02:00
GCC Administrator
5573628560 Daily bump.
From-SVN: r163465
2010-08-23 00:17:17 +00:00
John David Anglin
8c157f90f9 re PR boehm-gc/34544 (pthread_default_stacksize_np failed.)
PR boehm-gc/34544
	* gthr-posix.h (__gthread_active_init): Delete.
	(__gthread_active_p): Do activity check here.
	Don't include errno.h on hppa-hpux.  Update comment.
	* gthr-posix95.h (__gthread_active_init): Delete.
	(__gthread_active_p): Do activity check here.
	Don't include errno.h on hppa-hpux.  Update comment.
	* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
	* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
	add -lpthread when -mt or -pthread is specified.
	* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
	(LINK_GCC_C_SEQUENCE_SPEC): Define.
	* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
	(stublib.c, pthread_default_stacksize_np-stub.o,
	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
	$(T)libgcc_stub.a): Add methods.
	* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
	(stublib.c, pthread_default_stacksize_np-stub.o,
	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
	* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
	pthread_mutex_unlock): New stubs.

From-SVN: r163461
2010-08-22 16:23:38 +00:00
Tobias Burnus
11aa257739 re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Further reduce required accuracy.


Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r163460
2010-08-22 16:05:26 +02:00
Joseph Myers
d9d16a1956 Makefile.in (gccspec.o, cppspec.o): Update dependencies.
* Makefile.in (gccspec.o, cppspec.o): Update dependencies.
	* common.opt (L, nodefaultlibs, nostdlib, pg, static): New
	options.
	* config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
	* config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
	* config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
	* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
	* config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
	"-l".
	* cppspec.c: Include opts.h.
	(lang_specific_driver): Use cl_decoded_option structures.
	* doc/tm.texi.in (MATH_LIBRARY): Update documentation.
	* doc/tm.texi: Regenerate.
	* gcc.c (translate_options): Translate -d to -foutput-class-dir=.
	(driver_handle_option): Allow driver options needing no special
	processing.
	(process_command): Decode options before call to
	lang_specific_driver.  Pass decoded options to
	lang_specific_driver.
	* gcc.h (lang_specific_driver): Update prototype.
	* gccspec.c: Include opts.h.
	(lang_specific_driver): Use cl_decoded_option structures.
	* opts-common.c (option_ok_for_language, generate_option,
	generate_option_input_file): New.
	(decode_cmdline_option): Use option_ok_for_language.
	(decode_cmdline_options_to_array): Use generate_option_input_file.
	(handle_generated_option): Use generate_option.
	* opts.h (generate_option, generate_option_input_file): Declare.

cp:
	* Make-lang.in (g++spec.o): Update dependencies.
	* g++spec.c: Include opts.h
	(MATH_LIBRARY, LIBSTDCXX): Remove initial "-l".
	(lang_specific_driver): Use cl_decoded_option structures.

fortran:
	* Make-lang.in (gfortranspec.o): Update dependencies.
	* gfortranspec.c: Include coretypes.h before gcc.h.  Include
	opts.h.
	(MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l".
	(ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove.
	(g77_xargc): Make unsigned.
	(g77_xargv): Change to g77_x_decoded_options.
	(g77_newargc): Make unsigned.
	(g77_newargv): Change to g77_new_decoded_options.
	(strings_same, options_same): New.
	(append_arg): Use cl_decoded_option structures.
	(append_option): New.
	(add_arg_libgfortran): New.
	(lang_specific_driver): Use cl_decoded_option structures.

java:
	* Make-lang.in (jvspec.o): Update dependencies.
	* jvspec.c: Include opts.h.
	(PARAM_ARG): Remove.
	(find_spec_file): Do not add leading -specs=.
	(lang_specific_driver): Use cl_decoded_option structures.
	* lang.opt (C, CLASSPATH, D, bootclasspath, classpath, encoding,
	extdirs, fmain=, s-bc-abi): New options.

From-SVN: r163459
2010-08-22 13:19:01 +01:00
Tobias Burnus
3607fdb2db re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Fix numeric tolerence.

From-SVN: r163458
2010-08-22 12:24:49 +02:00
Tobias Burnus
302ef3113c Really commit the following change:
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Increase numeric tolerence.

From-SVN: r163457
2010-08-22 12:09:34 +02:00
Anatoly Sokolov
525c561de8 mips.c (mips_override_options): Rename to...
* config/mips/mips.c (mips_override_options): Rename to...
	(mips_option_override): ...this. Make static.
	(TARGET_OPTION_OVERRIDE): Define.
	(mips_in_small_data_p): Update comment.
	* config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
	(FIXED_REGISTERS): Update comment.
	* config/mips/mips-protos.h (mips_override_options): Remove.

From-SVN: r163456
2010-08-22 13:33:45 +04:00
Tobias Burnus
60f22d5d60 re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        * gfortran.dg/bessel_7.f90: Disable accidently enabled debug
        output.

From-SVN: r163455
2010-08-22 10:39:48 +02:00
Tobias Burnus
8af7a07301 re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        PR fortran/36158
        * gfortran.dg/bessel_6.f90: Increase numeric tolerence.
        * gfortran.dg/bessel_7.f90: Increase numeric tolerence.


Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r163454
2010-08-22 10:34:14 +02:00
GCC Administrator
1408f0dd19 Daily bump.
From-SVN: r163453
2010-08-22 00:17:35 +00:00
Olivier Hainque
7402511480 Fix formatting of recently added ChangeLog entry.
From-SVN: r163449
2010-08-21 20:54:18 +00:00
Olivier Hainque
65f1047a57 vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.

From-SVN: r163448
2010-08-21 20:53:16 +00:00
Olivier Hainque
b35525489b vxworks.h: (PREFERRED_STACK_BOUNDARY...
* config/rs6000/vxworks.h:  (PREFERRED_STACK_BOUNDARY, 
        ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.

From-SVN: r163447
2010-08-21 20:48:34 +00:00
Richard Henderson
246a2fcb5e Vectorize fast path of _cpp_clean_line.
* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
	(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
	(ptrdiff_t): Check via AC_CHECK_TYPE.
	* config.in, configure: Rebuild.
	* system.h: Include stdint.h, if available.
	* lex.c (WORDS_BIGENDIAN): Provide default.
	(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
	acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
	search_line_sse2, search_line_sse42, init_vectorized_lexer,
	search_line_fast): New.
	(_cpp_clean_line): Use search_line_fast.  Restructure the fast
	loop to make it clear when we're leaving the loop.  Stay in the
	fast loop for non-trigraph '?'.

Co-Authored-By: Andi Kleen <ak@linux.intel.com>
Co-Authored-By: David S. Miller <davem@davemloft.net>

From-SVN: r163446
2010-08-21 12:05:40 -07:00
Janus Weil
1d0134b3cc re PR fortran/45271 ([OOP] Polymorphic code breaks when changing order of USE statements)
2010-08-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45271
	PR fortran/45290
	* class.c (add_proc_comp): Add static initializer for PPCs.
	(add_procs_to_declared_vtab): Modified comment.
	* module.c (mio_component): Add argument 'vtype'. Don't read/write the
	initializer if the component is part of a vtype.
	(mio_component_list): Add argument 'vtype', pass it on to
	'mio_component'.
	(mio_symbol): Modified call to 'mio_component_list'.
	* trans.h (gfc_conv_initializer): Modified prototype.
	(gfc_trans_assign_vtab_procs): Removed.
	* trans-common.c (create_common): Modified call to
	'gfc_conv_initializer'.
	* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
	gfc_emit_parameter_debug_info): Modified call to
	'gfc_conv_initializer'.
	(build_function_decl): Remove assertion.
	* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
	Removed call to 'gfc_trans_assign_vtab_procs'.
	(gfc_conv_initializer): Add argument 'procptr'.
	(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
	(gfc_trans_assign_vtab_procs): Removed.
	* trans-stmt.c (gfc_trans_allocate): Removed call to
	'gfc_trans_assign_vtab_procs'.


2010-08-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44863
	PR fortran/45271
	PR fortran/45290
	* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
	* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
	* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).

From-SVN: r163445
2010-08-21 16:50:57 +02:00
Eric Botcazou
02be26e48b * tracebak.c: Fix typo in comment.
From-SVN: r163444
2010-08-21 13:25:33 +00:00
Jan Hubicka
9e97ff6183 tree-pass.h (pass_ipa_cdtor_merge): New function.
* tree-pass.h (pass_ipa_cdtor_merge): New function.
	* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
	heap allocated.
	(record_cdtor_fn): Move to ipa.c; do not test for
	have_ctors_dtors.
	(build_cdtor): Move to ipa.c; add code avoiding construction
	when target have ctors/dtors and there is only one ctor/dtor at given
	priority.
	(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize sort;
	reverse order of constructors.
	(cgraph_build_cdtor_fns):Move to ipa.c; rename to build_cdtor_fns.
	(cgraph_finalize_function): Do not call record_cdtor_fn.
	(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
	(cgraph_build_static_cdtor): Move to ipa.c.
	* ipa.c: Include target.h and tree-iterator.h.
	(cgraph_build_static_cdtor, static_ctors, static_dtors,
	record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
	build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
	pass_ipa_cdtor_merge): New.
	* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
	* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of bounds access.

From-SVN: r163443
2010-08-21 12:36:19 +00:00
Jan Hubicka
000eef232b Fix previous commit.
From-SVN: r163442
2010-08-21 12:24:41 +00:00
Ralf Wildenhues
75bc9e5e0d Fix misquoting in stdint.m4.
config/:
	PR target/45084
	* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
	of AC_MSG_ERROR.

libdecnumber/:
	* configure: Regenerate.

libgfortran/:
	* configure: Regenerate.

libgomp/:
	* configure: Regenerate.

libstdc++-v3/:
	* configure: Regenerate.

From-SVN: r163441
2010-08-21 12:18:02 +00:00
Tobias Burnus
47b996944d re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * intrinsic.c (add_sym): Init value attribute.
        (set_attr_value): New function.
        (add_functions) Use it and add JN/YN resolvers.
        * symbol.c (gfc_copy_formal_args_intr): Copy value attr.
        * intrinsic.h (gfc_resolve_bessel_n2): New prototype.
        * gfortran.h (gfc_intrinsic_arg): Add value attribute.
        * iresolve.c (gfc_resolve_bessel_n2): New function.
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Create
        formal arg list.
        (gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
        Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
        * simplify.c (): For YN set to -INF if previous values
        was -INF.
        * trans-expr.c (gfc_conv_procedure_call): Don't crash
        if sym->as is NULL.
        * iresolve.c (gfc_resolve_extends_type_of): Set the
        type of the dummy argument to the one of the actual.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * m4/bessel.m4: Implement bessel_jn and bessel_yn.
        * gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
        and bessel_yn_r{4,8,10,16}.
        * Makefile.am: Add bessel.m4.
        * Makefile.in: Regenerated.
        * generated/bessel_r4.c: Generated.
        * generated/bessel_r16.c: Generated.
        * generated/bessel_r8.c: Generated.
        * generated/bessel_r10.c: Generated.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * gfortran.dg/bessel_6.f90: New.
        * gfortran.dg/bessel_7.f90: New.

From-SVN: r163440
2010-08-21 12:12:53 +02:00
Jan Hubicka
508e475706 re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
	PR c++/17736
	* cgraph.h (cgraph_only_called_directly_p,
	cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
	static cdtors.
	* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
	are not needed.
	(cgraph_finalize_function): Static cdtors are reachable.
	(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.

	* gcc.dg/ipa/ctor-empty-1.c: Add testcase.
	* g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out.

From-SVN: r163439
2010-08-21 09:46:15 +00:00
Jan Hubicka
f1395d4a6e lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
	* lto-streamer-out.c (lto_output): Likewise.
	* passes.c (ipa_write_optimization_summaries): Initialize statement uids.
	
	* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
	(lto_wpa_write_files): Update comments.

From-SVN: r163438
2010-08-21 08:13:27 +00:00
GCC Administrator
12523de099 Daily bump.
From-SVN: r163437
2010-08-21 00:16:55 +00:00
Maciej W. Rozycki
93f36faad1 pex-common.c (pex_read_err): Set stderr_pipe to -1 if a corresponding stream has been opened.
* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
	corresponding stream has been opened.
	(pex_free): Close pipe file descriptors corresponding to child's
	stdout and stderr before waiting.

From-SVN: r163426
2010-08-20 22:39:58 +00:00
Olivier Hainque
b4d456ffc0 tree.h (alias_diag_flags): New enum.
* tree.h (alias_diag_flags): New enum.
        (alias_pair): Add an 'emitted_diags' field.
        * varasm.c (finish_aliases_1): Honor and update
        * p->emitted_diags.
        (assemble_alias): Initialize emitted_diags of new pairs.

From-SVN: r163425
2010-08-20 22:08:41 +00:00
Eric Botcazou
39acb18f66 aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
	* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	(STACK_CHECK_PROTECT): Define.
	* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
	(output_probe_stack_range): Likewise.
	(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
	builtin stack checking is enabled.
	* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
	* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
	(probe_stack_range): New insn.

From-SVN: r163424
2010-08-20 21:22:16 +00:00
H.J. Lu
410841c6d5 Cast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.
gcc/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45336
	* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
	short first.

	* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
	char first.

gcc/testsuite/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45336
	* gcc.target/i386/pr45336-1.c: New.
	* gcc.target/i386/pr45336-2.c: Likewise.
	* gcc.target/i386/pr45336-3.c: Likewise.
	* gcc.target/i386/pr45336-4.c: Likewise.

From-SVN: r163421
2010-08-20 13:57:56 -07:00
Jakub Jelinek
50d724a750 re PR target/45336 (pextr{b,w,d}, (worse than) redundant extensions)
PR target/45336
	* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
	to cover zero extension into 64-bit register.
	(*sse2_pextrw): Likewise.
	(*sse4_1_pextrd_zext): New insn.

From-SVN: r163420
2010-08-20 22:54:25 +02:00
Iain Sandoe
c6d8116af9 revert r163410, partially revert r163267.
* config/rs6000/darwin.h (LIB_SPEC): Remove.
	* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all 
	Darwin versions.

From-SVN: r163419
2010-08-20 20:10:42 +00:00
Uros Bizjak
26e4a41748 re PR testsuite/45361 (gcc.target/i386/volatile-2.c failed)
PR testsuite/45361
	* gcc.target/i386/volatile-2.c: Update scan strings to also
	include (%rip) for the memory reference on x86_64.

From-SVN: r163416
2010-08-20 21:23:52 +02:00
Jakub Jelinek
994fc9abdd re PR middle-end/44974 (Function with attribute noreturn omits a call to another function with noreturn)
PR middle-end/44974
	* builtins.c (expand_builtin): Don't optimize away
	calls to DECL_LOOPING_CONST_OR_PURE_P builtins.

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

From-SVN: r163415
2010-08-20 20:49:46 +02:00
Uros Bizjak
6c33409079 i386.md (ashift RSP splitter): Remove splitter.
* config/i386/i386.md (ashift RSP splitter): Remove splitter.
	(pro_epilogue_adjust_stack_di_2): Use "l" constraint for
	alternative 1 of operand 2.

From-SVN: r163414
2010-08-20 20:40:56 +02:00
Jakub Jelinek
561da6bc0b simplify-rtx.c (simplify_unary_operation_1): Optimize (sign_extend (zero_extend ()) and ({sign,zero}_extend (lshiftrt...
* simplify-rtx.c (simplify_unary_operation_1): Optimize
	(sign_extend (zero_extend ()) and
	({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r163413
2010-08-20 20:08:10 +02:00
Jakub Jelinek
89ad0f25dc re PR rtl-optimization/45353 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in sel_bb_head, at sel-sched-ir.c:4329 with -fselective-scheduling and __builtin_unreachable())
PR rtl-optimization/45353
	* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
	after bb_note is a BARRIER.

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

From-SVN: r163412
2010-08-20 20:07:12 +02:00
Iain Sandoe
bf794e41ee darwin.h (LIB_SPEC): New.
* config/rs6000/darwin.h (LIB_SPEC): New. Provide save/restFP by 
	linking libgcc.a.

From-SVN: r163410
2010-08-20 16:12:14 +00:00
Jakub Jelinek
521fdcda19 tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
* tree-ssa-address.c (tree_mem_ref_addr): Convert offset to
	sizetype.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r163409
2010-08-20 17:56:14 +02:00