OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago * reload.c (find_reloads): Don't clear badop if we have a
bernds [Fri, 9 Jul 2010 21:40:48 +0000 (21:40 +0000)]
* reload.c (find_reloads): Don't clear badop if we have a
winreg alternative, but not win, and the class only has fixed
regs.
* hard-reg-set.h (class_only_fixed_regs): Declare.
* reginfo.c (class_only_fixed_regs): New array.
(init_reg_sets_1): Initialize it.
* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
discourage alternatives using the stack pointer.

testsuite/
* gcc.dg/pr32370.c: Allow another kind of error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162019 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Jul 2010 21:37:54 +0000 (21:37 +0000)]
2010-07-09  Richard Guenther  <rguenther@suse.de>

* gimple.c (struct type_fixup_s): New struct and VEC type.
(gimple_register_type_fixups): New static global.
(gimple_queue_type_fixup): New function.
(gimple_types_compatible_p): Queue type fixups instead of
applying them here.
(gimple_register_type): Apply queued fixups for the
canonical type.  Empty the type fixup queue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162017 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config.in: Regenerate.
uros [Fri, 9 Jul 2010 21:09:04 +0000 (21:09 +0000)]
* config.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162016 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
uros [Fri, 9 Jul 2010 21:00:08 +0000 (21:00 +0000)]
    * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162015 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
ebotcazou [Fri, 9 Jul 2010 20:23:14 +0000 (20:23 +0000)]
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
CALL_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162014 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/28632
jakub [Fri, 9 Jul 2010 19:40:03 +0000 (19:40 +0000)]
PR tree-optimization/28632
* tree-vrp.c (zero_nonzero_bits_from_vr): New function.
(extract_range_from_binary_expr): Further optimize
BIT_AND_EXPR and BIT_IOR_EXPR.

* gcc.dg/tree-ssa/vrp51.c: New test.
* gcc.dg/tree-ssa/vrp52.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162009 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/43120
jason [Fri, 9 Jul 2010 19:36:19 +0000 (19:36 +0000)]
PR c++/43120
* cp-tree.h (BV_LOST_PRIMARY): New macro.
* class.c (update_vtable_entry_for_fn): Fix covariant thunk logic.
Set BV_LOST_PRIMARY.
(build_vtbl_initializer): Check BV_LOST_PRIMARY.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162008 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoOutline fold_or_predicates from add_to_predicate_list.
spop [Fri, 9 Jul 2010 18:58:20 +0000 (18:58 +0000)]
Outline fold_or_predicates from add_to_predicate_list.

2010-07-09  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c (fold_or_predicates): New.
(add_to_predicate_list): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162007 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 9 Jul 2010 18:40:09 +0000 (18:40 +0000)]
2010-07-09  Janus Weil  <janus@gcc.gnu.org>

* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
SIZEOF and C_SIZEOF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162006 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Jul 2010 18:32:29 +0000 (18:32 +0000)]
2010-07-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/44890
* tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
if base is a pointer.
* tree-cfg.c (verify_expr): Update MEM_REF checking.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162005 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR 44877
meissner [Fri, 9 Jul 2010 16:10:10 +0000 (16:10 +0000)]
PR 44877

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162002 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
uros [Fri, 9 Jul 2010 16:02:58 +0000 (16:02 +0000)]
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
for "lock addl".
* configure: Regenerate.
* config/i386/i386.c (ix86_print_operand) <case ';'>:
Remove TARGET_MACHO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162001 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
bergner [Fri, 9 Jul 2010 15:00:55 +0000 (15:00 +0000)]
* config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
default ISA flags.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161999 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Tom de Vries <tjvries@xs4all.nl>
rguenth [Fri, 9 Jul 2010 14:22:45 +0000 (14:22 +0000)]
2010-07-09  Tom de Vries  <tjvries@xs4all.nl>

* tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.

* gcc.dg/debug/dwarf2/pr31230.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161998 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/picochip/picochip.md (commsTestPort): Emit more efficient sequence
hariharans [Fri, 9 Jul 2010 12:18:46 +0000 (12:18 +0000)]
  * config/picochip/picochip.md (commsTestPort): Emit more efficient sequence
    for tstport instruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161996 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.c (ix86_veclib_handler): Make static.
uros [Fri, 9 Jul 2010 11:55:31 +0000 (11:55 +0000)]
* config/i386/i386.c (ix86_veclib_handler): Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161995 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Jul 2010 11:24:09 +0000 (11:24 +0000)]
2010-07-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44852
* tree-ssa-alias.c: Include toplev.h for exact_log2.
(indirect_ref_may_alias_decl_p): Properly handle negative offsets
in MEM_REF.
(indirect_refs_may_alias_p): Likewise.
* Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).

* gcc.c-torture/execute/pr44852.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161994 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/x86_64/abi/asm-support.S (snapshot): Replace
ro [Fri, 9 Jul 2010 11:13:30 +0000 (11:13 +0000)]
* gcc.target/x86_64/abi/asm-support.S (snapshot): Replace
multiplication by values.
* gcc.target/x86_64/abi/asm-support-darwin.s (_snapshot): Likewise.
* gcc.target/x86_64/abi/avx/asm-support.S (snapshot): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161991 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Jul 2010 10:05:27 +0000 (10:05 +0000)]
2010-07-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44882
* tree-vect-stmts.c (vectorizable_store): Do not assert alias
sets do conflict.
(vectorizable_load): Likewise.

* gfortran.dg/pr44882.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161990 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Fri, 9 Jul 2010 09:44:14 +0000 (09:44 +0000)]
2010-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/44875
* doc/xml/manual/status_cxx200x.xml: Corrections to status.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161989 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/40657
bernds [Fri, 9 Jul 2010 09:03:22 +0000 (09:03 +0000)]
PR target/40657
* config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
All callers changed.
Handle the case when we're called for the epilogue.
(thumb_unexpanded_epilogue): Use it.
(thumb1_expand_epilogue): Likewise.

testsuite/
PR target/40657
* gcc.target/arm/pr40657-1.c: New test.
* gcc.target/arm/pr40657-2.c: New test.
* gcc.c-torture/execute/pr40657.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161988 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
jakub [Fri, 9 Jul 2010 06:58:42 +0000 (06:58 +0000)]
* tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
both ranges are range_int_cst_p with non-negative minimum,
try harder to derive smaller range.

* gcc.dg/tree-ssa/vrp50.c: New test.
* gcc.dg/vect/slp-perm-4.c (main): Make sure loop isn't vectorized.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161984 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 9 Jul 2010 01:34:40 +0000 (01:34 +0000)]
2010-07-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* genrecog.c: Include diagnostic-core.h before toplev.h.
* genoutput.c: Likewise.
* genextract.c: Likewise.
* genautomata.c: Likewise.
* genemit.c: Likewise.
* genpeep.c: Likewise.
* genattrtab.c: Likewise.
* genconditions.c: Likewise.
* genpreds.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161983 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 9 Jul 2010 00:17:26 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161981 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Janus Weil <janus@gcc.gnu.org>
janus [Thu, 8 Jul 2010 21:29:56 +0000 (21:29 +0000)]
2010-07-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44649
* gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
* intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
gfc_resolve_storage_size): New prototypes.
* check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
* intrinsic.c (add_functions): Add STORAGE_SIZE.
* iresolve.c (gfc_resolve_storage_size): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
arguments.
(gfc_conv_intrinsic_storage_size): New function.
(gfc_conv_intrinsic_function): Handle STORAGE_SIZE.

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

PR fortran/44649
* gfortran.dg/c_sizeof_1.f90: Modified.
* gfortran.dg/storage_size_1.f08: New.
* gfortran.dg/storage_size_2.f08: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161977 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-section-in.c (lto_section_name): Add missing comma.
uros [Thu, 8 Jul 2010 21:02:47 +0000 (21:02 +0000)]
* lto-section-in.c (lto_section_name): Add missing comma.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161976 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
aesok [Thu, 8 Jul 2010 20:43:22 +0000 (20:43 +0000)]
* config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
* config/ia64/ia64-protos.h (ia64_override_options): Remove.
* config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
(ia64_override_options): Rename to...
(ia64_option_override): ... this one. Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161975 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/44843
ebotcazou [Thu, 8 Jul 2010 20:02:29 +0000 (20:02 +0000)]
PR middle-end/44843
* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
pointed-to type of the offset in a MEM_REF to compute the alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161974 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * make_sunver.pl: Remove extra whitespace in regexp.
ebotcazou [Thu, 8 Jul 2010 19:15:21 +0000 (19:15 +0000)]
* make_sunver.pl: Remove extra whitespace in regexp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161973 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Kai Tietz <kai.tietz@onevision.com>
ktietz [Thu, 8 Jul 2010 18:07:52 +0000 (18:07 +0000)]
2010-07-08  Kai Tietz  <kai.tietz@onevision.com>

* final.c (final_scan_insn): Replace
TARGET_UNWIND_INFO macro check by unwind_emit
hook NULL check.
* targhooks.c (default_unwind_emit): Removed.
* targhooks.h (default_unwind_emit): Likewise.
* target.def (unwind_emit): Set default value to NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161972 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Kai Tietz <kai.tietz@onevision.com>
ktietz [Thu, 8 Jul 2010 17:53:44 +0000 (17:53 +0000)]
2010-07-08  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/i386-protos.h (ix86_asm_output_function_label):
New prototype.
* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
for NULL fntype argument and allow 64-bit targets.
(ix86_asm_output_function_label): New function.
(ix86_expand_prologue): Handle 64-bit ms hook prologue.
(ix86_handle_fndecl_attribute): Likewise.
* doc/extend.texi (ms_hook_prologue): Adjust documentation.
* doc/doc/tm.texi: Regenerated.
* doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
(ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
* defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
* config/elfos.h: Likewise.
* config/i386/cygming.h: Likewise.
* config/netbsd-aout.h: Likewise.
* config/openbsd.h: Likewise.
* config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
by ix86_asm_output_function_label function call.
* varasm.c (assemble_start_function): Use
ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161971 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 8 Jul 2010 17:48:12 +0000 (17:48 +0000)]
2010-07-08  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/stl_heap.h: Update markup.
* include/bits/move.h: Same.
* include/bits/algorithmfwd.h: Same.
* include/bits/regex.h: Same.
* include/bits/random.h: Same.
* doc/doxygen/doxygroups.cc: Same.
* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
input file list.
* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
pdf in location consistent with docbook pdf generation.
* doc/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161970 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR fortran/44847
jakub [Thu, 8 Jul 2010 17:30:41 +0000 (17:30 +0000)]
PR fortran/44847
* match.c (match_exit_cycle): Error on EXIT also from collapsed
!$omp do loops.  Error on CYCLE to non-innermost collapsed
!$omp do loops.

* gfortran.dg/gomp/pr44847.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161967 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
hubicka [Thu, 8 Jul 2010 16:46:49 +0000 (16:46 +0000)]
* cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
New function.
* cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
Declare.
* ipa-cp.c (ipcp_estimate_growth): Use it.
* ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161966 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-inline.c (declare_return_variable): Allocate annotation for new
hubicka [Thu, 8 Jul 2010 16:44:54 +0000 (16:44 +0000)]
* tree-inline.c (declare_return_variable): Allocate annotation for new
temporary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161965 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoCall maybe_fold_or_comparisons to fold OR-ed predicates.
spop [Thu, 8 Jul 2010 16:38:00 +0000 (16:38 +0000)]
Call maybe_fold_or_comparisons to fold OR-ed predicates.

2010-07-08  Sebastian Pop  <sebastian.pop@amd.com>

PR tree-optimization/44710
* tree-if-conv.c (parse_predicate): New.
(add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.

* gcc.dg/tree-ssa/ifc-6.c: New.
* gcc.dg/tree-ssa/ifc-pr44710.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161964 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd the -ftree-loop-if-convert flag.
spop [Thu, 8 Jul 2010 16:37:49 +0000 (16:37 +0000)]
Add the -ftree-loop-if-convert flag.

2010-07-08  Sebastian Pop  <sebastian.pop@amd.com>

* common.opt (ftree-loop-if-convert): New flag.
* doc/invoke.texi (ftree-loop-if-convert): Documented.
* tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
when flag_tree_loop_if_convert is set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161963 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.c: Use short syntax for function calls
uros [Thu, 8 Jul 2010 16:31:30 +0000 (16:31 +0000)]
* config/i386/i386.c: Use short syntax for function calls
through function pointers.
* config/i386/i386.md: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161962 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
ebotcazou [Thu, 8 Jul 2010 15:23:45 +0000 (15:23 +0000)]
* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161961 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 8 Jul 2010 15:17:25 +0000 (15:17 +0000)]
2010-07-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * array.c (gfc_match_array_ref): Better error message for
        coarrays with too few ranks.
        (match_subscript): Move one diagnostic to caller.
        * gfortran.h (gfc_get_corank): Add prottype.
        * expr.c (gfc_get_corank): New function.
        * iresolve.c (resolve_bound): Fix rank for cobounds.
        (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
        gfc_resolve_ucobound, gfc_resolve_this_image): Update
        resolve_bound call.

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

        PR fortran/18918
        * gfortran.dg/coarray_10.f90: Add an additional test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161960 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Jul 2010 14:58:20 +0000 (14:58 +0000)]
2010-07-08  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161959 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
jakub [Thu, 8 Jul 2010 14:50:16 +0000 (14:50 +0000)]
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
(loc_list_from_tree): Likewise.
(output_loc_operands): Handle outputting DW_OP_const[48]u
with loc->dtprel set.
(resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161958 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa.c: Include pointer-set.h
hubicka [Thu, 8 Jul 2010 14:20:23 +0000 (14:20 +0000)]
* ipa.c: Include pointer-set.h
(cgraph_externally_visible_p): New attribute ALIASED;
when in LTO, hidden symbols are local unless they are aliased.
(function_and_variable_visibility): Compute aliased nodes;
handle LTO and hidden symbol on functions and vars.
* cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
for COMDAT symbols; handle COMDAT_GROUPS also at vars.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161957 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/44828
bergner [Thu, 8 Jul 2010 14:17:52 +0000 (14:17 +0000)]
PR middle-end/44828
* gcc.c-torture/execute/pr44828.c (foo): Use signed char.
* gcc.c-torture/execute/pr44828.x: Revert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161956 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/43120
jason [Thu, 8 Jul 2010 14:00:26 +0000 (14:00 +0000)]
PR c++/43120
* class.c (update_vtable_entry_for_fn): Fix handling of dummy
virtual bases for covariant thunks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161954 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd gcc.dg/pr44838.c.
hjl [Thu, 8 Jul 2010 13:40:24 +0000 (13:40 +0000)]
Add gcc.dg/pr44838.c.

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

PR rtl-optimization/44838
* gcc.dg/pr44838.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161953 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
ebotcazou [Thu, 8 Jul 2010 12:27:01 +0000 (12:27 +0000)]
* config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
(ix86_gen_probe_stack_range): Likewise.
(override_options): Set them.
(ix86_target_stack_probe): New function.
(ix86_compute_frame_layout): Force use of push instructions to
save registers if stack checking with probes is enabled.
(get_scratch_register_on_entry): New function.
(release_scratch_register_on_entry): Likewise.
(ix86_adjust_stack_and_probe): Likewise.
(output_adjust_stack_and_probe): Likewise.
(ix86_emit_probe_stack_range): Likewise.
(output_probe_stack_range): Likewise.
(ix86_expand_prologue): Emit stack checking code if static built-in
stack checking is enabled.
Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
* config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
(output_adjust_stack_and_probe): Likewise.
(output_probe_stack_range): Likewise.
* config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(allocate_stack_worker_32): Test ix86_target_stack_probe instead of
TARGET_STACK_PROBE.
(allocate_stack_worker_64): Likewise.
(allocate_stack): Likewise.
(adjust_stack_and_probe): New insn.
(probe_stack_range): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161952 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Jul 2010 11:38:43 +0000 (11:38 +0000)]
2010-07-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44831
* tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
a MEM_REF preserving TBAA info of the original dereference.
Dereference the original pointer if the address is not
invariant.
(propagate_with_phi): Fixup type checks wrt MEM_REFs.  Require
at least one invariant address that we are going to dereference.

* gcc.c-torture/compile/pr44831.c: New testcase.
* gcc.dg/tree-ssa/pr21463.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161950 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Jul 2010 10:51:46 +0000 (10:51 +0000)]
2010-07-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44861
* tree-vect-stmts.c (vectorizable_store): Preserve TBAA
information when building MEM_REFs.
(vectorizable_load): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.

* g++.dg/vect/pr44861.cc: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161949 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sol2-c.c: Do not include diagnostic-core.h.
ebotcazou [Thu, 8 Jul 2010 10:03:14 +0000 (10:03 +0000)]
* config/sol2-c.c: Do not include diagnostic-core.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161948 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix PR44768
ramana [Thu, 8 Jul 2010 09:29:43 +0000 (09:29 +0000)]
Fix PR44768

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161947 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Jul 2010 09:16:42 +0000 (09:16 +0000)]
2010-07-08  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
New function.
(valueize_refs): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161946 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Jul 2010 09:09:15 +0000 (09:09 +0000)]
2010-07-08  Richard Guenther  <rguenther@suse.de>

PR rtl-optimization/44838
* tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
SSA form do not use pointer equivalence.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161945 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * dwarf2out.c (AT_linkage_name): Delete.
ebotcazou [Thu, 8 Jul 2010 08:12:07 +0000 (08:12 +0000)]
* dwarf2out.c (AT_linkage_name): Delete.
(add_linkage_attr): New function.
(add_linkage_name): Call it to emit the linkage attribute.
(dwarf2out_finish): Likewise.
(move_linkage_attr): Explicitly accept both attribute variants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161944 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Thu, 8 Jul 2010 04:22:54 +0000 (04:22 +0000)]
2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* toplev.h: Do not include diagnostic-core.h.
Include diagnostic-core.h in every file that includes toplev.h.
* c-tree.h: Do not include toplev.h.
* pretty-print.h: Update comment.
* Makefile.in: Update dependencies.
* alias.c: Include diagnostic-core.h in every file that includes
toplev.h.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* combine.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/pe.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/cris/cris.c: Likewise.
* config/crx/crx.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/host-darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/netware.c: Likewise.
* config/i386/nwld.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68hc11/m68hc11.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/picochip/picochip.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/score/score.c: Likewise.
* config/score/score3.c: Likewise.
* config/score/score7.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/symbian-base.c: Likewise.
* config/sh/symbian-c.c: Likewise.
* config/sh/symbian-cxx.c: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/vxworks.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* convert.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* dbxout.c: Likewise.
* ddg.c: Likewise.
* dominance.c: Likewise.
* emit-rtl.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* ggc-common.c: Likewise.
* ggc-page.c: Likewise.
* ggc-zone.c: Likewise.
* gimple-low.c: Likewise.
* gimplify.c: Likewise.
* graph.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* integrate.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* lists.c: Likewise.
* loop-doloop.c: Likewise.
* loop-iv.c: Likewise.
* lto-opts.c: Likewise.
* lto-symtab.c: Likewise.
* main.c: Likewise.
* modulo-sched.c: Likewise.
* optabs.c: Likewise.
* params.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regmove.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl.c: Likewise.
* rtlanal.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* simplify-rtx.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* targhooks.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-inline.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-object-size.c: Likewise.
* tree-optimize.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* varasm.c: Likewise.
* vec.c: Likewise.
* web.c: Likewise.
* xcoffout.c: Likewise.

c-family/
* c-common.h: Include diagnostic-core.h. Error if already
included.
* c-semantics.c: Do not define GCC_DIAG_STYLE here.
cp/
* cp-tree.h: Do not include toplev.h.

java/
* boehm.c: Include diagnostic-core.h in every file that includes
toplev.h.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
ada/
* gcc-interface/utils.c: Include diagnostic-core.h in every file
that includes toplev.h.
lto/
* lto-coff.c: Include diagnostic-core.h in every file that
includes toplev.h.
* lto-elf.c: Likewise.
* lto-lang.c: Likewise.
* lto-macho.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161943 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/44828
bergner [Thu, 8 Jul 2010 04:12:04 +0000 (04:12 +0000)]
PR middle-end/44828
* gcc.c-torture/execute/pr44828.x: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161942 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 8 Jul 2010 00:17:13 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161941 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Wed, 7 Jul 2010 21:49:29 +0000 (21:49 +0000)]
gcc/
* gengtype.c (write_field_root): New function.
(write_root): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161937 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
jakub [Wed, 7 Jul 2010 21:16:28 +0000 (21:16 +0000)]
* lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
(validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
objects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161935 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * g++.dg/ext/altivec-2.C: Add -Wno-unused-but-set-variable to
bergner [Wed, 7 Jul 2010 20:32:19 +0000 (20:32 +0000)]
* g++.dg/ext/altivec-2.C: Add -Wno-unused-but-set-variable to
dg-options.
* g++.dg/ext/altivec-17.C: Adjust error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161931 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-07 Wei Guozhi <carrot@google.com>
jingyu [Wed, 7 Jul 2010 18:21:48 +0000 (18:21 +0000)]
2010-07-07  Wei Guozhi  <carrot@google.com>
* config/arm/thumb2.md (peephole2 to convert zero_extract/compare
of lowest bits to lshift/compare): Add a missing line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161930 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-07 Wei Guozhi <carrot@google.com>
jingyu [Wed, 7 Jul 2010 17:55:27 +0000 (17:55 +0000)]
2010-07-07  Wei Guozhi  <carrot@google.com>

        * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
        of lowest bits to lshift/compare): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161929 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc
tromey [Wed, 7 Jul 2010 17:23:39 +0000 (17:23 +0000)]
gcc
* doc/tm.texi: Update.
* doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
Add @hook.
* target.def (want_debug_pub_sections): New hook.
* config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
* dwarf2out.c (add_pubname_string): Check
targetm.want_debug_pub_sections.
(add_pubname): Likewise.
(add_pubtype): Likewise.
gcc/testsuite
* g++.dg/debug/dwarf2/pubnames-1.C: Make darwin-specific.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161924 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * genautomata.c (output_automata_list_min_issue_delay_code):
jiez [Wed, 7 Jul 2010 16:31:41 +0000 (16:31 +0000)]
* genautomata.c (output_automata_list_min_issue_delay_code):
Correctly decompress min_issue_delay.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161923 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-07 Neil Roberts <neil@linux.intel.com>
aph [Wed, 7 Jul 2010 15:59:30 +0000 (15:59 +0000)]
2010-07-07   Neil Roberts <neil@linux.intel.com>

* src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
16-bytes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161922 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/44404
bernds [Wed, 7 Jul 2010 15:26:48 +0000 (15:26 +0000)]
PR rtl-optimization/44404
* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
possible, use reg_overlap_mentioned_p instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161920 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoWhen materializing a cloned function with arguments removed,
baldrick [Wed, 7 Jul 2010 15:21:16 +0000 (15:21 +0000)]
When materializing a cloned function with arguments removed,
to TYPE_POINTER_TO field of the new type (which has fewer
arguments) was left pointing to the original type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161918 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRevert revision 161876.
hjl [Wed, 7 Jul 2010 13:36:31 +0000 (13:36 +0000)]
Revert revision 161876.

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

PR target/44850
* config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
revision 161876.
(ix86_expand_prologue): Likewise.
(ix86_handle_fndecl_attribute): Likewise.
(ix86_asm_declare_function_name): Likewise.
* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/i386/i386-protos.h (ix86_asm_declare_function_name):
Likewise.
* doc/extend.texi: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161911 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRetry rdrand if the carry flag isn't valid.
hjl [Wed, 7 Jul 2010 13:33:04 +0000 (13:33 +0000)]
Retry rdrand if the carry flag isn't valid.

gcc/

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

PR target/44844
* config/i386/i386.md (rdrand<mode>): Changed to expand to
retry if the carry flag isn't valid.
(rdrand<mode>_1): New.

gcc/testsuite/

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

PR target/44844
* gcc.target/i386/rdrand-1.c: Scan "jnc".
* gcc.target/i386/rdrand-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161910 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Jul 2010 12:43:38 +0000 (12:43 +0000)]
2010-07-07  Richard Guenther  <rguenther@suse.de>

PR middle-end/44790
* expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
for expanding the constant offset for MEM_REFs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161907 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-cgraph.c (output_cgraph): Add missing declaration.
hubicka [Wed, 7 Jul 2010 12:33:35 +0000 (12:33 +0000)]
* lto-cgraph.c (output_cgraph): Add missing declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161906 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Jul 2010 12:06:57 +0000 (12:06 +0000)]
2010-07-07  Richard Guenther  <rguenther@suse.de>

* tree-ssa-propagate.h (valid_gimple_call_p): Remove.
* tree-ssa-propagate.c (valid_gimple_call_p): Make static.  Fix.
* gimple.h (is_gimple_operand): Remove.
* gimple.c (is_gimple_operand): Likewise.
(walk_gimple_op): Fix wi->val_only setting for calls.
* tree-cfg.c (verify_gimple_call): Fix argument validation.
* tree-profile.c (tree_gen_ic_func_profiler): Do not create
invalid gimple calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161905 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-cgraph.c (output_cgraph): Output toplevel asms only into first
hubicka [Wed, 7 Jul 2010 12:04:09 +0000 (12:04 +0000)]
* lto-cgraph.c (output_cgraph): Output toplevel asms only into first
partition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161904 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* doc/gimple.texi (GIMPLE_DEBUG): Document.
aoliva [Wed, 7 Jul 2010 01:12:23 +0000 (01:12 +0000)]
* doc/gimple.texi (GIMPLE_DEBUG): Document.
* doc/rtl.texi (Debug Information): New node.
(NOTE_INSN_VAR_LOCATION): Document.
(debug_insn): Likewise.
* doc/generic.texi (DEBUG_EXPR_DECL): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161899 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/44813
hubicka [Wed, 7 Jul 2010 01:00:42 +0000 (01:00 +0000)]
PR middle-end/44813
* tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
for functions passed by reference.
* tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
in memory when passed by reference.
* tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
beggining.
* ipa-split.c (split_function): Cleanup way return value is passed;
handle SSA DECL_BY_REFERENCE retvals.
* tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
DECL_BY_REFERENCE is set.
* tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
find_what_p_points_to): Handle RESULT_DECL.
* tree-inline.c (declare_return_variable): Get new entry_block argument;
when passing by reference ensure that RESULT_DECL is gimple_val.
(remap_gimple_op_r): Remap RESULT_DECL ssa name.
(remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
* g++.dg/torture/pr44813.C: New testcase.
* g++.dg/torture/pr44826.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161898 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Wed, 7 Jul 2010 00:17:13 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161897 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/44787
bernds [Tue, 6 Jul 2010 23:44:55 +0000 (23:44 +0000)]
PR rtl-optimization/44787
* config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
* config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.

testsuite/
PR rtl-optimization/44787
* gcc.c-torture/compile/pr44788.c: New test.
* gcc.target/arm/pr44788.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161893 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Tue, 6 Jul 2010 22:14:58 +0000 (22:14 +0000)]
2010-07-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Add some missing features.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161892 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/powerpc/altivec-volatile.c: Adjust expected warning.
bergner [Tue, 6 Jul 2010 21:49:57 +0000 (21:49 +0000)]
* gcc.target/powerpc/altivec-volatile.c: Adjust expected warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161891 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/powerpc/ppu-intrinsics.c: Add -Wno-unused-but-set-variable
bergner [Tue, 6 Jul 2010 21:46:59 +0000 (21:46 +0000)]
* gcc.target/powerpc/ppu-intrinsics.c: Add -Wno-unused-but-set-variable
to dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161890 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 6 Jul 2010 20:56:07 +0000 (20:56 +0000)]
2010-07-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44742
        * array.c (gfc_expand_constructor): Add optional diagnostic.
        * gfortran.h (gfc_expand_constructor): Update prototype.
        * expr.c (gfc_simplify_expr, check_init_expr,
        gfc_reduce_init_expr): Update gfc_expand_constructor call.
        * resolve.c (gfc_resolve_expr): Ditto.

2010-07-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44742
        * gfortran.dg/parameter_array_init_6.f90: New.
        * gfortran.dg/initialization_20.f90: Update dg-error.
        * gfortran.dg/initialization_24.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161888 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 6 Jul 2010 19:57:29 +0000 (19:57 +0000)]
2010-07-06  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c: Include diagnostic-core.h besides toplev.h.
        * trans-intrinsic.c: Ditto.
        * trans-types.c: Ditto.
        * convert.c: Include diagnostic-core.h instead of toplev.h.
        * options.c: Ditto.
        * trans-array.c: Ditto.
        * trans-const.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-io.c: Ditto.
        * trans-openmp.c: Ditto.
        * trans.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161885 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 6 Jul 2010 19:48:58 +0000 (19:48 +0000)]
2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/PR44693
* check.c (dim_rank_check):  Also check intrinsic functions.
Adjust permissible rank for functions which reduce the rank of
their argument.  Spread is an exception, where DIM can
be one larger than the rank of array.

2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
PR fortran/PR44693
* gfortran.dg/dim_range_1.f90:  New test.
* gfortran.dg/minmaxloc_4.f90:  Remove invalid test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161884 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/44703
jason [Tue, 6 Jul 2010 19:23:01 +0000 (19:23 +0000)]
PR c++/44703
* call.c (is_std_init_list): Look through typedefs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161880 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/44778
jason [Tue, 6 Jul 2010 19:22:49 +0000 (19:22 +0000)]
PR c++/44778
* init.c (build_offset_ref): If scope isn't dependent,
don't exit early.  Look at TYPE_MAIN_VARIANT.
* pt.c (tsubst_copy) [OFFSET_REF]: Do substitution.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161879 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * error.c (dump_function_decl): Don't crash on null DECL_NAME.
jason [Tue, 6 Jul 2010 19:22:38 +0000 (19:22 +0000)]
* error.c (dump_function_decl): Don't crash on null DECL_NAME.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161878 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
hubicka [Tue, 6 Jul 2010 18:54:38 +0000 (18:54 +0000)]
* lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
(lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
with body can prevail.
(lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
(lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
* cgraph.c (cgraph_get_node_or_alias): New function.
* cgraph.h (cgraph_get_node_or_alias): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161877 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Kai Tietz <kai.tietz@onevision.com>
ktietz [Tue, 6 Jul 2010 18:27:41 +0000 (18:27 +0000)]
2010-07-06  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
        support.
        (ix86_expand_prologue): Likewise.
        (ix86_handle_fndecl_attribute): Likewise.
        (ix86_asm_declare_function_name): New function for
        ASM_DECLARE_FUNCTION_NAME.
        * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
        * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
        (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
        * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
        * doc/extend.texi: Adjust documentation about ms_hook_prologue
        attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161876 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Kai Tietz <kai.tietz@onevision.com>
ktietz [Tue, 6 Jul 2010 18:25:26 +0000 (18:25 +0000)]
2010-07-06  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.target/i386/ms_hook_prologue.c: Add x64 ms_hook_prologue
        support.
        * gcc.target/i386/i386.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161875 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR testsuite/44195
bergner [Tue, 6 Jul 2010 16:09:13 +0000 (16:09 +0000)]
PR testsuite/44195
* gcc.dg/lto/20100518_0.c: Limit to x86.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161872 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Uros Bizjak <ubizjak@gmail.com>
uros [Tue, 6 Jul 2010 14:05:19 +0000 (14:05 +0000)]
2010-07-06  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (immediate_operand): New mode attribute.

(pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
pro_epilogue_adjust_stack  and pro_epilogue_adjust_stack_rex64
using P mode iterator.
(pro_epilogue_adjust_stack_di_2): Rename from
pro_epilogue_adjust_stack_rex64_2.

* config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.

2010-07-06  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
through gen_mov_insv_1 function pointer.
(fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
gen_truncxf<mode>2 through gen_truncxf function pointer.
(remainder<mode>3): Ditto.
(cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
(allocate_stack): Call gen_allocate_stack_worker_64 or
gen_allocate_stack_worker_32 through gen_allocate_stack_worker
function pointer.
(probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
function pointer.

2010-07-06  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
operand constraint instead of <r><i>m.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161870 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-06 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 6 Jul 2010 13:37:58 +0000 (13:37 +0000)]
2010-07-06  Richard Guenther  <rguenther@suse.de>

PR middle-end/44828
* convert.c (convert_to_integer): Watch out for overflowing
MULT_EXPR as well.

* gcc.c-torture/execute/pr44828.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161869 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-streamer.c (write_symbol_vec): Rename to ...
hubicka [Tue, 6 Jul 2010 13:26:28 +0000 (13:26 +0000)]
* lto-streamer.c (write_symbol_vec): Rename to ...
(write_symbol) ... this one; write only symbol given and when
present in cache. Sanity check that what is defined is present
in cgraph/varpool with body/finalized decl.
(write_symbols_of_kind): Remove.
(produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
pairs to produce symtab.
(produce_asm_for_decls): Update call of produce_symtab; don't do so
when doing WPA streaming.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161868 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoinclude/ChangeLog:
uweigand [Tue, 6 Jul 2010 13:00:59 +0000 (13:00 +0000)]
include/ChangeLog:

2010-07-06  Ken Werner  <ken.werner@de.ibm.com>

* floatformat.h (floatformat_ieee_half_big): Add declaration.
(floatformat_ieee_half_little): Likewise.

libiberty/ChangeLog:

2010-07-06  Ken Werner  <ken.werner@de.ibm.com>

* floatformat.c (floatformat_ieee_half_big): New variable.
(floatformat_ieee_half_little): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161867 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
hubicka [Tue, 6 Jul 2010 11:44:34 +0000 (11:44 +0000)]
* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
function is still available to fold into.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161866 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
pzhao [Tue, 6 Jul 2010 05:53:49 +0000 (05:53 +0000)]
/cp
2010-07-06  Shujing Zhao  <pearly.zhao@oracle.com>

        * cp-tree.h (impl_conv_void): New type.
        (convert_to_void): Adjust prototype.
        * cvt.c (convert_to_void): Use impl_conv_void, emit and adjust the
        diagnostic for easy translation. Change caller.
        * typeck.c: Update call to convert_to_void.
        * semantics.c: Likewise.
        * init.c: Likewise.

/testsuite
2010-07-06  Shujing Zhao  <pearly.zhao@oracle.com>

        * g++.dg/warn/noeffect2.C: Adjust expected warning.
        * g++.dg/warn/volatile1.C: Likewise.
        * g++.dg/template/warn1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161863 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
froydnj [Tue, 6 Jul 2010 02:26:33 +0000 (02:26 +0000)]
gcc/
* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
* function.h (struct_function): Change type of local_decls field
to a VEC.
(add_local_decl): New function.
(FOR_EACH_LOCAL_DECL): New macro.
* cfgexpand.c (init_vars_expansion): Adjust for new type of
cfun->local_decls.
(estimated_stack_frame_size): Likewise.
(expand_used_vars): Likewise.
* cgraphbuild.c (build_cgraph_edges): Likewise.
* function.c (instantiate_decls_1): Likewise.
* ipa-struct-reorg.c (build_data_structure): Likewise.
* ipa-type-escape.c (analyze_function): Likewise.
* lto-streamer-in.c (input_function): Likewise.
* lto-streamer-out.c (output_function): Likewise.
* tree-ssa-live.c (remove_unused_locals): Likewise.
* tree.c (free_lang_data_in_decl): Likewise.
(find_decls_types_in_node): Likewise.
* omp-low.c (remove_exit_barrier): Likewise.
(expand_omp_taskreg): Likewise.
(list2chain): Rename to...
(vec2chain): ...this.  Adjust.
* cgraphunit.c (assemble_thunk): Call add_local_decl.
* tree-cfg.c (replace_by_duplicate_decl): Likewise.
* gimple-low.c (record_vars_into): Likewise.
* tree-inline.c (remap_decls): Likewise.
(declare_return_variable): Likewise.
(declare_inline_vars): Likewise.
(copy_forbidden): Adjust for new type of cfun->local_decls.
(add_local_variables): New function.
(expand_call_inline): Call it.
(tree_function_versioning): Likewise.

gcc/cp/
* decl.c (cp_finish_decl): Call add_local_decl.
* optimize.c (clone_body): Adjust for new type of cfun->local_decls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161862 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Tue, 6 Jul 2010 00:17:11 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161861 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR bootstrap/44825
froydnj [Mon, 5 Jul 2010 22:19:22 +0000 (22:19 +0000)]
PR bootstrap/44825
* class.c (make_class_data): Cast result of VEC_length calls to int.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161856 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoSupport AVX Programming Reference (June, 2010).
hjl [Mon, 5 Jul 2010 21:57:55 +0000 (21:57 +0000)]
Support AVX Programming Reference (June, 2010).

gcc/

2010-07-05  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (June, 2010)
* config/i386/cpuid.h (bit_F16C): New.
(bit_RDRND): Likewise.
(bit_FSGSBASE): Likewise.

* config/i386/i386-builtin-types.def: Add
"DEF_FUNCTION_TYPE (UINT16)", function types for
float16 <-> float conversions and
"DEF_FUNCTION_TYPE (VOID, UINT64)".

* config/i386/i386-c.c (ix86_target_macros_internal): Support
OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
OPTION_MASK_ISA_F16C.

* config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
(OPTION_MASK_ISA_RDRND_SET): Likewise.
(OPTION_MASK_ISA_F16C_SET): Likewise.
(OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
(OPTION_MASK_ISA_RDRND_UNSET): Likewise.
(OPTION_MASK_ISA_F16C_UNSET): Likewise.
(OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
(ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and
OPT_mf16c.
(ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
(pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
(override_options): Handle them.
(ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd
and f16c.
(ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
(bdesc_args): Likewise.
(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
(ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
Handle non-memory store.

* config/i386/i386.h (TARGET_FSGSBASE): New.
(TARGET_RDRND): Likewise.
(TARGET_F12C): Likewise.

* config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
(UNSPEC_VCVTPS2PH): Likewise.
(UNSPECV_RDFSBASE): Likewise.
(UNSPECV_RDGSBASE): Likewise.
(UNSPECV_WRFSBASE): Likewise.
(UNSPECV_WRGSBASE): Likewise.
(UNSPECV_RDRAND): Likewise.
(rdfsbase<mode>): Likewise.
(rdgsbase<mode>): Likewise.
(wrfsbase<mode>): Likewise.
(wrgsbase<mode>): Likewise.
(rdrand<mode>): Likewise.

* config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.

* config/i386/immintrin.h (_rdrand_u16): New.
(_rdrand_u32): Likewise.
(_readfsbase_u32): Likewise.
(_readfsbase_u64): Likewise.
(_readgsbase_u32): Likewise.
(_readgsbase_u64): Likewise.
(_writefsbase_u32): Likewise.
(_writefsbase_u64): Likewise.
(_writegsbase_u32): Likewise.
(_writegsbase_u64): Likewise.
(_rdrand_u64): Likewise.
(_cvtsh_ss): Likewise.
(_mm_cvtph_ps): Likewise.
(_mm256_cvtph_ps): Likewise.
(_cvtss_sh): Likewise.
(_mm_cvtps_ph): Likewise.
(_mm256_cvtps_ph): Likewise.

* config/i386/sse.md (vcvtph2ps): New.
(*vcvtph2ps_load): Likewise.
(vcvtph2ps256): Likewise.
(vcvtps2ph): Likewise.
(*vcvtps2ph): Likewise.
(*vcvtps2ph_store): Likewise.
(vcvtps2ph256): Likewise.

* doc/extend.texi: Document FSGSBASE and RDRND built-in functions.

* doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.

gcc/testsuite/

2010-07-05  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (June, 2010)
* g++.dg/other/i386-2.C: Add -mfsgsbase -mrdrnd -mf16c.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/sse-12.c: Likewise.

* gcc.target/i386/f16c-check.h: New.
* gcc.target/i386/rdfsbase-1.c: Likewise.
* gcc.target/i386/rdfsbase-2.c: Likewise.
* gcc.target/i386/rdgsbase-1.c: Likewise.
* gcc.target/i386/rdgsbase-2.c: Likewise.
* gcc.target/i386/rdrand-1.c: Likewise.
* gcc.target/i386/rdrand-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.
* gcc.target/i386/vcvtph2ps-1.c: Likewise.
* gcc.target/i386/vcvtph2ps-2.c: Likewise.
* gcc.target/i386/vcvtph2ps-3.c: Likewise.
* gcc.target/i386/vcvtps2ph-1.c: Likewise.
* gcc.target/i386/vcvtps2ph-2.c: Likewise.
* gcc.target/i386/vcvtps2ph-3.c: Likewise.
* gcc.target/i386/wrfsbase-1.c: Likewise.
* gcc.target/i386/wrfsbase-2.c: Likewise.
* gcc.target/i386/wrgsbase-1.c: Likewise.
* gcc.target/i386/wrgsbase-2.c: Likewise.

* gcc.target/i386/sse-13.c: Add -mfsgsbase -mrdrnd -mf16c.
(__builtin_ia32_vcvtps2ph): New.
(__builtin_ia32_vcvtps2ph256): Likewise.

* gcc.target/i386/sse-14.c: Add -mfsgsbase -mrdrnd -mf16c.
Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.

* gcc.target/i386/sse-22.c: Add fsgsbase,rdrnd,f16c.
Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.

* gcc.target/i386/sse-23.c (__builtin_ia32_vcvtps2ph): New.
(__builtin_ia32_vcvtps2ph256): Likewise.
Add fsgsbase,rdrnd,f16c.

* lib/target-supports.exp (check_effective_target_f16c): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161855 138bc75d-0d04-0410-961f-82ee72b054a4