1. 22 Aug, 2013 3 commits
    • i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New. · 3f97cb0b
      * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New.
      (OPTION_MASK_ISA_AVX512CD_SET): Ditto.
      (OPTION_MASK_ISA_AVX512PF_SET): Ditto.
      (OPTION_MASK_ISA_AVX512ER_SET): Ditto.
      (OPTION_MASK_ISA_AVX2_UNSET): Update.
      (OPTION_MASK_ISA_AVX512F_UNSET): New.
      (OPTION_MASK_ISA_AVX512CD_UNSET): Ditto.
      (OPTION_MASK_ISA_AVX512PF_UNSET): Ditto.
      (OPTION_MASK_ISA_AVX512ER_UNSET): Ditto.
      (ix86_handle_option): Handle OPT_mavx512f, OPT_mavx512cd,
      OPT_mavx512pf, OPT_mavx512er cases.
      * config/i386/constraints.md (v): New constraint.
      (Yi, Yj): Replace SSE_REGS with ALL_SSE_REGS.
      * config/i386/cpuid.h (bit_AVX512F, bit_AVX512PF, bit_AVX512ER)
      (bit_AVX512CD): New.
      * config/i386/driver-i386.c (host_detect_local_cpu): Detect
      AVX512F, AVX512ER, AVX512PF, AVX512CD features.
      * config/i386/i386-c.c (ix86_target_macros_internal):
      Conditionally define __AVX512F__, __AVX512ER__, __AVX512CD__,
      __AVX512PF__.
      * config/i386/i386-modes.def (VECTOR_MODES (INT, 128))
      (VECTOR_MODES (FLOAT, 128), INT_MODE (XI, 64)): New modes.
      * config/i386/i386.c (regclass_map, dbx_register_map)
      (dbx64_register_map, svr4_dbx_register_map): Add new SSE registers.
      (gate_insert_vzeroupper): Disable vzeroupper for TARGET_AVX512F.
      (ix86_target_string): Define -mavx512f, -mavx512er, -mavx512cd,
      -mavx512pf options.
      (ix86_option_override_internal): Define PTA_AVX512F, PTA_AVX512ER,
      PTA_AVX512PF, PTA_AVX512CD.  Handle -mavx512f, -mavx512er, -mavx512cd,
      -mavx512pf options.  Fix formatting.
      (ix86_conditional_register_usage): Squash EXT_REX_SSE_REGs for 32-bit
      targets.  Squash EVEX_SSE_REGS if AVX512F is disabled.
      (ix86_valid_target_attribute_inner_p): Handle -mavx512f, -mavx512er,
      -mavx512cd, -mavx512pf options.
      (standard_sse_constant_opcode): Add vpternlogd for 512-bit modes.
      (print_reg, ix86_print_operand): Handle 'g' to output 512-bit operands.
      (ix86_preferred_output_reload_class): Replace SSE_REGS with
      ALL_SSE_REGS.
      (ix86_hard_regno_mode_ok): Support 512-bit registers.
      (ix86_set_reg_reg_cost): Ditto.
      (x86_order_regs_for_local_alloc): Ditto.
      (MAX_VECT_LEN): Extend to 64-byte.
      (ix86_spill_class): Replace SSE_REGS with ALL_SSE_REGS.
      * config/i386/i386.h (TARGET_AVX512F, TARGET_AVX512PF)
      (TARGET_AVX512ER, TARGET_AVX512CD): New.
      (BIGGEST_ALIGNMENT): Extend to 512-bits.
      (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS): Add new registers.
      (CALL_USED_REGISTERS, REG_ALLOC_ORDER): Likewise.
      (VALID_AVX512F_SCALAR_MODE, VALID_AVX512F_REG_MODE): New.
      (SSE_REG_MODE_P): Support new modes.
      (FIRST_MMX_REG, FIRST_REX_INT_REG, FIRST_REX_SSE_REG): Add comments.
      (FIRST_EXT_REX_SSE_REG, LAST_EXT_REX_SSE_REG): New.
      (reg_class, REG_CLASS_NAMES): Add EVEX_SSE_REGS, ALL_SSE_REGS.
      (SSE_CLASS_P, MAYBE_SSE_CLASS_P): Replace SSE_REGS with ALL_SSE_REGS.
      (REG_CLASS_CONTENTS): Add new registers.
      (SSE_REGNO_P, SSE_REGNO, HARD_REGNO_RENAME_OK): Support new registers.
      (EXT_REX_SSE_REGNO_P): New.
      (HI_REGISTER_NAMES): Add new registers.
      * config/i386/i386.md: Define constants for new registers.
      (mode): Add new 512-bit modes.
      (prefix): Support evex prefix.
      (isa): Support avx512f, noavx512f, fma_avx512f.
      (ssemodesuffix): Add new 512-bit modes.
      (movxi): New.
      (*movxi_internal_avx512f): Ditto.
      (*movdi_internal): Replace constraint "x" with the new constraint "v".
      Support MODE_XI.
      (*movsi_internal): Likewise.
      (*movdf_internal): Likewise.
      (*movsf_internal): Likewise.
      (*fop_<mode>_comm_sse): Replace constraint "x" with new constraint "v".
      (<code><mode>3): Likewise.
      * config/i386/i386.opt (mavx512f, mavx512pf, mavx512er, mavx512cd): New.
      * config/i386/mmx.md (*mov<mode>_internal): Replace constraint "x"
      with the new constraint "v".
      * config/i386/sse.md (*mov<mode>_internal): Support new registers and
      modes.
      (<sse>_loadu<ssemodesuffix><avxsizesuffix>): Replace constraint "x"
      with the new constraint "v".
      (<sse2>_loaddqu<avxsizesuffix>): Likewise.
      (<sse2>_storedqu<avxsizesuffix>): Likewise.
      (*<plusminus_insn><mode>3): Likewise.
      (<sse>_vm<plusminus_insn><mode>3): Likewise.
      (*mul<mode>3): Likewise.
      (<sse>_vmmul<mode>3): Likewise.
      (<sse>_div<mode>3): Likewise.
      (<sse>_vmdiv<mode>3): Likewise.
      (<sse>_sqrt<mode>2): Likewise.
      (<sse>_vmsqrt<mode>2): Likewise.
      (*<code><mode>3_finite): Likewise.
      (*<code><mode>3) <smaxmin>: Likewise.
      (<sse>_vm<code><mode>3): Likewise.
      (*<code><mode>3) <any_logic>: Likewise.
      (*fma_fmadd_<mode>): Likewise.
      (*fma_fmsub_<mode>): Likewise.
      (*fma_fnmadd_<mode>): Likewise.
      (*fma_fnmsub_<mode>): Likewise.
      (*fma_fmaddsub_<mode>): Likewise.
      (*fma_fmsubadd_<mode>): Likewise.
      (*fmai_fmadd_<mode>): Likewise.
      (*fmai_fmsub_<mode>): Likewise.
      (*fmai_fnmadd_<mode>): Likewise.
      (*fmai_fnmsub_<mode>): Likewise.
      (sse_cvtsi2ss): Likewise.
      (sse_cvtsi2ssq): Likewise.
      (sse_cvtss2si): Likewise.
      (sse_cvtss2si_2): Likewise.
      (sse_cvtss2siq): Likewise.
      (sse_cvtss2siq_2): Likewise.
      (sse_cvttss2si): Likewise.
      (sse_cvtss2siq_2): Likewise.
      (float<sseintvecmodelower><mode>2): Likewise.
      (sse2_cvtsd2si_2): Likewise.
      (sse2_cvtsd2siq_2): Likewise.
      (*<plusminus_insn><mode>3): Likewise.
      (*<sse2_avx2>_<plusminus_insn><mode>3): Likewise.
      (*<sse4_1_avx2>_mul<mode>3): Likewise.
      (ashr<mode>3): Likewise.
      (<shift_insn><mode>3): Likewise.
      (avx2_<code><mode>3): Likewise.
      (*avx2_<code><mode>3): Likewise.
      (*andnot<mode>3): Likewise.
      (*<code><mode>3) <any_logic>: Likewise.
      (abs<mode>2): Likewise.
      (avx2_permvar<mode>): Likewise.
      (avx2_perm<mode>_1): Likewise.
      (*avx_vpermilp<mode>): Likewise.
      (avx_vpermilvar<mode>3): Likewise.
      (avx2_ashrv<mode>): Likewise.
      (avx2_<shift_insn>v<mode>): Likewise.
      * doc/invoke.texi: Document -mavx512f, -mavx512pf, -mavx512er,
      -mavx512cd.
      * doc/rtl.texi: Document XImode.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
      
      From-SVN: r201915
      Alexander Ivchenko committed
    • regex.h: Executor caller. · 1b488e33
      2013-08-22  Tim Shen  <timshen91@gmail.com>
      
      	* include/bits/regex.h: Executor caller.
      	* include/bits/regex_executor.h: Fix empty grouping problem.
      	* include/bits/regex_executor.tcc: Same.
      	* testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
      	  New.
      
      From-SVN: r201914
      Tim Shen committed
    • Daily bump. · 9ad30113
      From-SVN: r201913
      GCC Administrator committed
  2. 21 Aug, 2013 12 commits
  3. 20 Aug, 2013 23 commits
    • re PR bootstrap/58186 (LTO profiledbootstrap fails in stage feedback for… · bfa3b50a
      re PR bootstrap/58186 (LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with "edge ... has no corresponding call_stmt")
      
      
      	PR bootstrap/58186
      	* cgraph.c (cgraph_add_edge_to_call_site_hash): Overwrite hash
      	entry for direct edges.
      	(cgraph_turn_edge_to_speculative): Fix setting of can_throw_external.
      
      From-SVN: r201891
      Jan Hubicka committed
    • Fix logging to not use /tmp or the current directory... · 8bc16536
      Fix logging to not use /tmp or the current directory; get
      the location for writing log files from an environment
      variable; use secure getenv whenever possible.
      
      From-SVN: r201890
      Caroline Tice committed
    • MAINTAINERS: Add myself as RTL optimizers reviewer. · ddfee906
      	* MAINTAINERS: Add myself as RTL optimizers reviewer.
      
      From-SVN: r201889
      Steven Bosscher committed
    • re PR libstdc++/53477 (pretty printer fails with: Python Exception <type… · c77efe8f
      re PR libstdc++/53477 (pretty printer fails with: Python Exception <type 'exceptions.IndexError'> list index out of range)
      
      2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
      
      	PR libstdc++/53477
      	http://sourceware.org/bugzilla/show_bug.cgi?id=15195
      
      	* python/libstdcxx/v6/printers.py (Printer.__call__): If a value
      	is a reference, fetch referenced value.
      	(RxPrinter.invoke): Ditto.
      	* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
      	flag. Add referenced value tests.
      
      From-SVN: r201888
      Phil Muldoon committed
    • Revert my last two changes, r201865 and r201864 · 6cd4d135
      2013-08-20  David Malcolm  <dmalcolm@redhat.com>
      
      	Revert my last two changes, r201865 and r201864:
      
      	Revert r201865:
      	2013-08-20  David Malcolm  <dmalcolm@redhat.com>
      
      	Make opt_pass and gcc::pass_manager be GC-managed, so that pass
      	instances can own GC refs.
      
      	* Makefile.in (GTFILES): Add pass_manager.h and tree-pass.h.
      	* context.c (gcc::context::gt_ggc_mx): Traverse passes_.
      	(gcc::context::gt_pch_nx): Likewise.
      	(gcc::context::gt_pch_nx):  Likewise.
      	* ggc.h (gt_ggc_mx <T>): New.
      	(gt_pch_nx_with_op <T>): New.
      	(gt_pch_nx <T>): New.
      	* passes.c (opt_pass::gt_ggc_mx): New.
      	(opt_pass::gt_pch_nx): New.
      	(opt_pass::gt_pch_nx_with_op): New.
      	(pass_manager::gt_ggc_mx): New.
      	(pass_manager::gt_pch_nx): New.
      	(pass_manager::gt_pch_nx_with_op): New.
      	(pass_manager::operator new): Use
      	ggc_internal_cleared_alloc_stat rather than xcalloc.
      	* pass_manager.h (class pass_manager): Add GTY((user)) marking.
      	(pass_manager::gt_ggc_mx): New.
      	(pass_manager::gt_pch_nx): New.
      	(pass_manager::gt_pch_nx_with_op): New.
      	* tree-pass.h (class opt_pass): Add GTY((user)) marking.
      	(opt_pass::operator new): New.
      	(opt_pass::gt_ggc_mx): New.
      	(opt_pass::gt_pch_nx): New.
      	(opt_pass::gt_pch_nx_with_op): New.
      
      	Revert r201864:
      	2013-08-20  David Malcolm  <dmalcolm@redhat.com>
      
      	* Makefile.in (GTFILES): Add context.h.
      	* context.c (gcc::context::operator new): New.
      	(gcc::context::gt_ggc_mx): New.
      	(gcc::context::gt_pch_nx): New.
      	(gcc::context::gt_pch_nx): New.
      	* context.h (gcc::context): Add GTY((user)) marking.
      	(gcc::context::operator new): New.
      	(gcc::context::gt_ggc_mx): New.
      	(gcc::context::gt_pch_nx): New.
      	(gcc::context::gt_pch_nx): New.
      	(g): Add GTY marking.
      	(gt_ggc_mx (gcc::context *)): New.
      	(gt_pch_nx (gcc::context *)): New.
      	(gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op,
      	void *cookie)): New.
      	* gengtype.c (open_base_files) <ifiles>: Add context.h.
      
      From-SVN: r201887
      David Malcolm committed
    • dce.c (fini_dce): Call df_analyze again just in case delete_unmarked_insns removed anything. · a046136a
             * dce.c (fini_dce): Call df_analyze again just in case
             delete_unmarked_insns removed anything.
      
      From-SVN: r201886
      Alexey Makhalov committed
    • re PR fortran/53655 ([F03] "default initializer" warnings) · bf7a6c1c
      2013-08-20  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/53655
      	* trans-decl.c (generate_local_decl): Check if type has any components.
      
      2013-08-20  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/53655
      	* gfortran.dg/intent_out_8.f90: New.
      
      From-SVN: r201884
      Janus Weil committed
    • re PR rtl-optimization/57451 (Incorrect debug ranges emitted for -freorder-blocks-and-partition -g) · 67598720
      2013-08-20  Teresa Johnson  <tejohnson@google.com>
      
      	PR rtl-optimizations/57451
      	* final.c (reemit_insn_block_notes): Prevent lexical blocks
      	from crossing split section boundaries.
      
      	* testsuite/g++.dg/tree-prof/pr57451.C: New test.
      
      From-SVN: r201883
      Teresa Johnson committed
    • re PR c++/58119 (Invalid ambiguous default type conversion with only a single… · c5918c21
      re PR c++/58119 (Invalid ambiguous default type conversion with only a single invalid conversion listed.)
      
      	PR c++/58119
      	* cvt.c (build_expr_type_conversion): Don't complain about a
      	template that can't match the desired type category.
      
      From-SVN: r201880
      Jason Merrill committed
    • linux-elf.h (MULTILIB_DEFAULTS): Remove definition. · f8693faf
      2013-08-20  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
      
      	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Remove definition.
      	* config/arm/t-linux-eabi (MULTILIB_OPTIONS): Document association
      	with MULTLIB_DEFAULTS.
      
      From-SVN: r201879
      Matthew Gretton-Dann committed
    • target.def (narrow_volatile_bitfield): Note that the default value is false, not… · 7d0b9a9c
      target.def (narrow_volatile_bitfield): Note that the default value is false, not !TARGET_STRICT_ALIGN.
      
      	* target.def (narrow_volatile_bitfield): Note that the default
      	value is false, not !TARGET_STRICT_ALIGN.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r201878
      Nick Clifton committed
    • 2013-08-20 Paolo Carlini <paolo.carlini@oracle.com> · 25a9a367
      	* Fix ChangeLog.
      
      From-SVN: r201875
      Paolo Carlini committed
    • re PR c++/58190 (FAIL: g++.dg/pr57878.C (test for excess errors) on x86_64-apple-darwin10) · 802e8b38
      2013-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58190
      	* g++.dg/pr57878.C: Use __SIZE_TYPE__.
      
      From-SVN: r201874
      Paolo Carlini committed
    • error.c (pp_ggc_formatted_text): New. · 8ccb81bd
      	* error.c (pp_ggc_formatted_text): New.
      	(type_as_string): Use it in lieu of pp_formatted_text.
      	(type_as_string_translate): Likewise.
      	(expr_as_string): Likewise.
      	(decl_as_string): Likewise.
      	(decl_as_string_translate): Likewise.
      	(lang_decl_name): Likewise.
      	(decl_to_string): Likewise.
      	(expr_to_string): Likewise.
      	(fndecl_to_string): Likewise.
      	(parm_to_string): Likewise.
      	(type_to_string): Likewise.
      	(args_to_string): Likewise.
      	(subst_to_string): Likewise.
      
      From-SVN: r201873
      Gabriel Dos Reis committed
    • regex_constants.h: Add underlying `unsigned int` for enum syntax_option_type. · f6f0407c
      2013-08-20  Tim Shen  <timshen91@gmail.com>
      
      	* include/bits/regex_constants.h: Add underlying `unsigned int` for
      	  enum syntax_option_type.
      
      From-SVN: r201872
      Tim Shen committed
    • Fix LIB_SPEC for systems without libpthread. · 8edb8dc8
      	* config/gnu-user.h: Introduce GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC.
      	* config/arm/linux-eabi.h: Use GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC
      	for Android.
      	* config/i386/linux-common.h: Likewise.
      	* config/mips/linux-common.h: Likewise.
      
      From-SVN: r201871
      Pavel Chupin committed
    • tree-ssa-ccp.c (get_default_value): Remove redundant condition checks. · d71ff3fa
             * tree-ssa-ccp.c (get_default_value): Remove redundant condition
             checks.
      
      From-SVN: r201870
      Zhouyi Zhou committed
    • floatformat.h (floatformat_ibm_long_double): Delete. · a98cbc36
      include/
      	* floatformat.h (floatformat_ibm_long_double): Delete.
      	(floatformat_ibm_long_double_big): Declare.
      	(floatformat_ibm_long_double_little): Declare.
      libiberty/
      	* floatformat.c (floatformat_ibm_long_double): Rename to..
      	(floatformat_ibm_long_double_big): ..this.
      	(floatformat_ibm_long_double_little): New.
      
      From-SVN: r201869
      Alan Modra committed
    • MAINTAINERS: Update name, email. · 6a56e2dd
      2013-08-19  Benjamin De Kosnik  <bkoz@gnu.org>
      
      	* MAINTAINERS: Update name, email.
      
      From-SVN: r201868
      Benjamin De Kosnik committed
    • re PR c/57490 (ICE on c-c++-common/cilk-plus/AN/an-if.c) · 318cda85
      Fix for PR c/57490.
      
      gcc/c/ChangeLog
      +2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      +
      +       PR c/57490
      +       * c-array-notation.c (fix_conditional_array_notations_1): Added a
      +       check for truth values.
      +       (expand_array_notation_exprs): Added truth values case.  Removed an
      +       unwanted else.  Added for-loop to walk through subtrees in default
      +       case.
      +
      
      gcc/cp/ChangeLog
      +2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      +
      +       PR c/57490
      +       * cp-array-notation.c (cp_expand_cond_array_notations): Added a
      +       check for truth values.
      +       (expand_array_notation_exprs): Added truth values case.  Removed an
      +       unwanted else.  Added for-loop to walk through subtrees in default
      +       case.
      +       * call.c (build_cxx_call): Inherited the type of the array notation for
      +       certain built-in array notation functions.
      +
      
      gcc/testsuite/ChangeLog
      +2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      +
      +       PR c/57490
      +       * c-c++-common/cilk-plus/AN/pr57490.c: New test.
      +
      
      From-SVN: r201867
      Balaji V. Iyer committed
    • Make opt_pass and gcc::pass_manager be GC-managed · e42c64cb
      2013-08-20  David Malcolm  <dmalcolm@redhat.com>
      
      	Make opt_pass and gcc::pass_manager be GC-managed, so that pass
      	instances can own GC refs.
      
      	* Makefile.in (GTFILES): Add pass_manager.h and tree-pass.h.
      	* context.c (gcc::context::gt_ggc_mx): Traverse passes_.
      	(gcc::context::gt_pch_nx): Likewise.
      	(gcc::context::gt_pch_nx):  Likewise.
      	* ggc.h (gt_ggc_mx <T>): New.
      	(gt_pch_nx_with_op <T>): New.
      	(gt_pch_nx <T>): New.
      	* passes.c (opt_pass::gt_ggc_mx): New.
      	(opt_pass::gt_pch_nx): New.
      	(opt_pass::gt_pch_nx_with_op): New.
      	(pass_manager::gt_ggc_mx): New.
      	(pass_manager::gt_pch_nx): New.
      	(pass_manager::gt_pch_nx_with_op): New.
      	(pass_manager::operator new): Use
      	ggc_internal_cleared_alloc_stat rather than xcalloc.
      	* pass_manager.h (class pass_manager): Add GTY((user)) marking.
      	(pass_manager::gt_ggc_mx): New.
      	(pass_manager::gt_pch_nx): New.
      	(pass_manager::gt_pch_nx_with_op): New.
      	* tree-pass.h (class opt_pass): Add GTY((user)) marking.
      	(opt_pass::operator new): New.
      	(opt_pass::gt_ggc_mx): New.
      	(opt_pass::gt_pch_nx): New.
      	(opt_pass::gt_pch_nx_with_op): New.
      
      From-SVN: r201865
      David Malcolm committed
    • Make gcc::context be GC-managed · 910c02a0
      	* Makefile.in (GTFILES): Add context.h.
      	* context.c (gcc::context::operator new): New.
      	(gcc::context::gt_ggc_mx): New.
      	(gcc::context::gt_pch_nx): New.
      	(gcc::context::gt_pch_nx): New.
      	* context.h (gcc::context): Add GTY((user)) marking.
      	(gcc::context::operator new): New.
      	(gcc::context::gt_ggc_mx): New.
      	(gcc::context::gt_pch_nx): New.
      	(gcc::context::gt_pch_nx): New.
      	(g): Add GTY marking.
      	(gt_ggc_mx (gcc::context *)): New.
      	(gt_pch_nx (gcc::context *)): New.
      	(gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op,
      	void *cookie)): New.
      	* gengtype.c (open_base_files) <ifiles>: Add context.h.
      
      From-SVN: r201864
      David Malcolm committed
    • Daily bump. · c2887825
      From-SVN: r201863
      GCC Administrator committed
  4. 19 Aug, 2013 2 commits