gcc.git
9 years agoSplit BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants
David Malcolm [Mon, 18 Aug 2014 20:48:17 +0000 (20:48 +0000)]
Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants

gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

* basic-block.h (BB_HEAD): Split macro in two: the existing one,
for rvalues, and...
(SET_BB_HEAD): New macro, for use as a lvalue.
(BB_END, SET_BB_END): Likewise.
(BB_HEADER, SET_BB_HEADER): Likewise.
(BB_FOOTER, SET_BB_FOOTER): Likewise.

* bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
of BB_* macros into SET_BB_* macros.
(fix_crossing_unconditional_branches): Likewise.
* caller-save.c (save_call_clobbered_regs): Likewise.
(insert_one_insn): Likewise.
* cfgbuild.c (find_bb_boundaries): Likewise.
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
(outgoing_edges_match): Likewise.
(try_optimize_cfg): Likewise.
* cfgexpand.c (expand_gimple_cond): Likewise.
(expand_gimple_tailcall): Likewise.
(expand_gimple_basic_block): Likewise.
(construct_exit_block): Likewise.
* cfgrtl.c (delete_insn): Likewise.
(create_basic_block_structure): Likewise.
(rtl_delete_block): Likewise.
(rtl_split_block): Likewise.
(emit_nop_for_unique_locus_between): Likewise.
(rtl_merge_blocks): Likewise.
(block_label): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(emit_barrier_after_bb): Likewise.
(fixup_abnormal_edges): Likewise.
(record_effective_endpoints): Likewise.
(relink_block_chain): Likewise.
(fixup_reorder_chain): Likewise.
(fixup_fallthru_exit_predecessor): Likewise.
(cfg_layout_duplicate_bb): Likewise.
(cfg_layout_split_block): Likewise.
(cfg_layout_delete_block): Likewise.
(cfg_layout_merge_blocks): Likewise.
* combine.c (update_cfg_for_uncondjump): Likewise.
* emit-rtl.c (add_insn_after): Likewise.
(remove_insn): Likewise.
(reorder_insns): Likewise.
(emit_insn_after_1): Likewise.
* haifa-sched.c (get_ebb_head_tail): Likewise.
(restore_other_notes): Likewise.
(move_insn): Likewise.
(sched_extend_bb): Likewise.
(fix_jump_move): Likewise.
* ifcvt.c (noce_process_if_block): Likewise.
(dead_or_predicable): Likewise.
* ira.c (update_equiv_regs): Likewise.
* reg-stack.c (change_stack): Likewise.
* sel-sched-ir.c (sel_move_insn): Likewise.
* sel-sched.c (move_nop_to_previous_block): Likewise.

* config/c6x/c6x.c (hwloop_optimize): Likewise.
* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.

/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END,
SET_BB_HEADER, SET_BB_FOOTER

From-SVN: r214121

9 years agoFix whitespace in ChangeLog entry
David Malcolm [Mon, 18 Aug 2014 20:32:36 +0000 (20:32 +0000)]
Fix whitespace in ChangeLog entry

From-SVN: r214120

9 years agoNew function: for_each_rtx_in_insn
David Malcolm [Mon, 18 Aug 2014 20:25:45 +0000 (20:25 +0000)]
New function: for_each_rtx_in_insn

gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (for_each_rtx_in_insn): New function.
* rtlanal.c (for_each_rtx_in_insn): Likewise.

From-SVN: r214119

9 years agoIntroduce rtx_insn subclass of rtx_def
David Malcolm [Mon, 18 Aug 2014 20:02:17 +0000 (20:02 +0000)]
Introduce rtx_insn subclass of rtx_def

gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

* coretypes.h (class rtx_insn): Add forward declaration.

* rtl.h: Include is-a.h.
(struct rtx_def): Add dummy "desc" and "tag" GTY options as a
workaround to ensure gengtype knows inheritance is occurring,
whilst continuing to use the pre-existing special-casing for
rtx_def.
(class rtx_insn): New subclass of rtx_def, adding the
invariant that we're dealing with something we can sanely use
INSN_UID, NEXT_INSN, PREV_INSN on.
(is_a_helper <rtx_insn *>::test): New.
(is_a_helper <const rtx_insn *>::test): New.

From-SVN: r214118

9 years agoIntroduce safe_as_a
David Malcolm [Mon, 18 Aug 2014 19:50:38 +0000 (19:50 +0000)]
Introduce safe_as_a

gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

* is-a.h (template<T, U> safe_as_a <U *p>) New function.

From-SVN: r214117

9 years agoAdd rtx-classes-status.txt
David Malcolm [Mon, 18 Aug 2014 19:37:45 +0000 (19:37 +0000)]
Add rtx-classes-status.txt

2014-08-18  David Malcolm  <dmalcolm@redhat.com>

        * rtx-classes-status.txt: New file

From-SVN: r214116

9 years agoipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF comdats...
Jan Hubicka [Mon, 18 Aug 2014 19:21:58 +0000 (21:21 +0200)]
ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF comdats as extern.

* ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
comdats as extern.

From-SVN: r214115

9 years agogimple-fold.c (fold_gimple_assign): Do not intorudce referneces to BUILT_IN_UNREACHABLE.
Jan Hubicka [Mon, 18 Aug 2014 19:21:12 +0000 (21:21 +0200)]
gimple-fold.c (fold_gimple_assign): Do not intorudce referneces to BUILT_IN_UNREACHABLE.

* gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
to BUILT_IN_UNREACHABLE.

From-SVN: r214114

9 years agore PR target/62011 (False Data Dependency in popcnt instruction)
Uros Bizjak [Mon, 18 Aug 2014 18:00:52 +0000 (20:00 +0200)]
re PR target/62011 (False Data Dependency in popcnt instruction)

PR target/62011
* config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
New tune flag.
* config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
* config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
(ffs<mode>2): Do not expand with tzcnt for
TARGET_AVOID_FALSE_DEP_FOR_BMI.
(ffssi2_no_cmove): Ditto.
(*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
(ctz<mode>2): New expander.
(*ctz<mode>2_falsedep_1): New insn_and_split pattern.
(*ctz<mode>2_falsedep): New insn.
(*ctz<mode>2): Rename from ctz<mode>2.
(clz<mode>2_lzcnt): New expander.
(*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
(*clz<mode>2_lzcnt_falsedep): New insn.
(*clz<mode>2): Rename from ctz<mode>2.
(popcount<mode>2): New expander.
(*popcount<mode>2_falsedep_1): New insn_and_split pattern.
(*popcount<mode>2_falsedep): New insn.
(*popcount<mode>2): Rename from ctz<mode>2.
(*popcount<mode>2_cmp): Remove.
(*popcountsi2_cmp_zext): Ditto.

From-SVN: r214112

9 years ago* guality/nrv-1.c: Add `used' attribute to a1.
Aldy Hernandez [Mon, 18 Aug 2014 17:38:50 +0000 (17:38 +0000)]
* guality/nrv-1.c: Add `used' attribute to a1.

From-SVN: r214111

9 years agoAdd Init_priority support.
Ajit Agarwal [Mon, 18 Aug 2014 17:04:41 +0000 (17:04 +0000)]
Add Init_priority support.

Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. These
macros allows users to control the order of initialization of objects
defined at namespace scope with the init_priority attribute by
specifying a relative priority.

ChangeLog:
2014-07-28  Ajit Agarwal  <ajitkum@xilinx.com>

* config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
(microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
* config/microblaze/microblaze.h
(TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.

From-SVN: r214110

9 years agoSet install_gold_as_default to no for --enable-gold=no
H.J. Lu [Mon, 18 Aug 2014 15:49:16 +0000 (15:49 +0000)]
Set install_gold_as_default to no for --enable-gold=no

PR other/62168
* configure.ac: Set install_gold_as_default to no for
 --enable-gold=no.
 * configure: Regenerated.

From-SVN: r214108

9 years agoconfigure.ac: Eliminate ClooG installation dependency.
Roman Gareev [Mon, 18 Aug 2014 15:42:11 +0000 (15:42 +0000)]
configure.ac: Eliminate ClooG installation dependency.

* configure.ac: Eliminate ClooG installation dependency.
* configure: Regenerate.
* Makefile.tpl: Add definition of ISLLIBS and HOST_ISLLIBS.
* Makefile.in: Regenerate.

[config/]

* cloog.m4: Remove the path to isllibs from clooglibs.
* isl.m4: Add paths to islinc, isllibs.

[gcc/]

* Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
* config.in: Add undef of HAVE_isl.
* configure: Regenerate.
* configure.ac: Add definition of HAVE_isl.
* graphite-blocking.c: Add checking of HAVE_isl.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* toplev.c: Replace the checking of HAVE_cloog with the checking
of HAVE_isl.

From-SVN: r214106

9 years agore PR middle-end/62090 (ice in compute_may_aliases)
Richard Biener [Mon, 18 Aug 2014 14:51:04 +0000 (14:51 +0000)]
re PR middle-end/62090 (ice in compute_may_aliases)

2014-08-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62090
* builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
(fold_builtin_3): Do not fold snprintf.
(fold_builtin_4): Likewise.
* gimple-fold.c (gimple_fold_builtin_snprintf): New function
moved from builtins.c.
(gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
(gimple_fold_builtin): Do not fold sprintf here.

* gcc.dg/pr62090-2.c: New testcase.

From-SVN: r214105

9 years agogimple-fold.c (maybe_fold_reference): Move re-gimplification code to ...
Richard Biener [Mon, 18 Aug 2014 14:30:30 +0000 (14:30 +0000)]
gimple-fold.c (maybe_fold_reference): Move re-gimplification code to ...

2014-08-18  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_reference): Move re-gimplification
code to ...
(maybe_canonicalize_mem_ref_addr): ... this function.
(fold_stmt_1): Apply it here before all simplification.

From-SVN: r214103

9 years agore PR ipa/61800 (ICE: Segmentation fault during Firefox build)
Ilya Enkovich [Mon, 18 Aug 2014 13:26:06 +0000 (13:26 +0000)]
re PR ipa/61800 (ICE: Segmentation fault during Firefox build)

PR ipa/61800

gcc/
* cgraph.h (cgraph_node::create_indirect_edge): Add
compute_indirect_info param.
* cgraph.c (cgraph_node::create_indirect_edge): Compute
indirect_info only when it is required.
* cgraphclones.c (cgraph_clone_edge): Do not recompute
indirect_info fore cloned indirect edge.

gcc/testsuite/
* g++.dg/ipa/pr61800.C: New.

From-SVN: r214099

9 years agosse.md (define_mode_iterator VI8_AVX2_AVX512BW): New.
Alexander Ivchenko [Mon, 18 Aug 2014 11:07:27 +0000 (11:07 +0000)]
sse.md (define_mode_iterator VI8_AVX2_AVX512BW): New.

gcc/
* config/i386/sse.md
(define_mode_iterator VI8_AVX2_AVX512BW): New.
(define_insn "<sse2_avx2>_psadbw"): Add evex version.

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>
From-SVN: r214094

9 years agosse.md (define_mode_iterator VF1_AVX512VL): New.
Alexander Ivchenko [Mon, 18 Aug 2014 11:04:38 +0000 (11:04 +0000)]
sse.md (define_mode_iterator VF1_AVX512VL): New.

gcc/
* config/i386/sse.md
(define_mode_iterator VF1_AVX512VL): New.
(define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
(define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
New.

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>
From-SVN: r214092

9 years agoi386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
Alexander Ivchenko [Mon, 18 Aug 2014 11:02:31 +0000 (11:02 +0000)]
i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.

gcc/
* config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
* config/i386/i386.md
(define_code_iterator any_float): New.
(define_code_attr floatsuffix): New.
* config/i386/sse.md
(define_mode_iterator VF1_128_256VL): New.
(define_mode_iterator VF2_512_256VL): New.
(define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
TARGET check.
(define_insn "ufloatv8siv8df<mask_name>"): Delete.
(define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
New.
(define_mode_attr qq2pssuff): New.
(define_mode_attr sselongvecmode): New.
(define_mode_attr sselongvecmodelower): New.
(define_mode_attr sseintvecmode3): New.
(define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
New.
(define_insn "*<floatsuffix>floatv2div2sf2"): New.
(define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
(define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
(define_insn "ufloatv2siv2df2<mask_name>"): New.

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>
From-SVN: r214091

9 years agosse.md (define_mode_iterator VF2_AVX512VL): New.
Alexander Ivchenko [Mon, 18 Aug 2014 10:59:46 +0000 (10:59 +0000)]
sse.md (define_mode_iterator VF2_AVX512VL): New.

gcc/
* config/i386/sse.md
(define_mode_iterator VF2_AVX512VL): New.
(define_mode_attr sseintvecmode2): New.
(define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
(define_insn "fix_truncv4dfv4si2<mask_name>"): New.
(define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
(define_insn
"<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
Ditto.
(define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
Ditto.
(define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
Ditto.

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>
From-SVN: r214090

9 years agoi386.md (define_insn "*movoi_internal_avx"): Add evex version.
Alexander Ivchenko [Mon, 18 Aug 2014 10:50:35 +0000 (10:50 +0000)]
i386.md (define_insn "*movoi_internal_avx"): Add evex version.

gcc/
* config/i386/i386.md
(define_insn "*movoi_internal_avx"): Add evex version.
(define_insn "*movti_internal"): Ditto.

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>
From-SVN: r214089

9 years agoi386.md (define_attr "isa"): Add avx512dq, noavx512dq.
Alexander Ivchenko [Mon, 18 Aug 2014 10:47:48 +0000 (10:47 +0000)]
i386.md (define_attr "isa"): Add avx512dq, noavx512dq.

gcc/
* config/i386/i386.md
(define_attr "isa"): Add avx512dq, noavx512dq.
(define_attr "enabled"): Ditto.
* config/i386/sse.md
(define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.

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>
From-SVN: r214088

9 years agogcc/
Alexander Ivchenko [Mon, 18 Aug 2014 10:45:23 +0000 (10:45 +0000)]
gcc/
* config/i386/i386.c
(ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
avx512vl_loadv4si_mask, avx512vl_loadv2df_mask, avx512vl_loadv2di_mask,
avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
* config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
* config/i386/sse.md
(define_mode_iterator VMOVE): Allow V4TI mode.
(define_mode_iterator V_AVX512VL): New.
(define_mode_iterator V): New handling for AVX512VL.
(define_insn "avx512f_load<mode>_mask"): Delete.
(define_insn "<avx512>_load<mode>_mask"): New.
(define_insn "avx512f_store<mode>_mask"): Delete.
(define_insn "<avx512>_store<mode>_mask"): New.

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>
From-SVN: r214087

9 years agore PR sanitizer/62089 (Sanitizer may fail to instrument struct accesses)
Yury Gribov [Mon, 18 Aug 2014 08:23:47 +0000 (08:23 +0000)]
re PR sanitizer/62089 (Sanitizer may fail to instrument struct accesses)

2014-08-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/62089

gcc/
* asan.c (instrument_derefs): Fix bitfield check.

gcc/testsuite/
* c-c++-common/asan/pr62089.c: New test.
* c-c++-common/asan/bitfield-1.c: New test.
* c-c++-common/asan/bitfield-2.c: New test.
* c-c++-common/asan/bitfield-3.c: New test.
* c-c++-common/asan/bitfield-4.c: New test.

From-SVN: r214086

9 years agore PR tree-optimization/52904 (-Wstrict-overflow false alarm with bounded loop)
Kugan Vivekanandarajah [Mon, 18 Aug 2014 06:28:35 +0000 (06:28 +0000)]
re PR tree-optimization/52904 (-Wstrict-overflow false alarm with bounded loop)

gcc/testsuite
2014-08-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR tree-optimization/52904
* gcc.dg/pr52904.c: New test.

From-SVN: r214084

9 years agoDaily bump.
GCC Administrator [Mon, 18 Aug 2014 00:17:39 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r214083

9 years agoconstraints.md ("S"): Require TARGET_POWERPC64.
Segher Boessenkool [Sun, 17 Aug 2014 23:39:53 +0000 (01:39 +0200)]
constraints.md ("S"): Require TARGET_POWERPC64.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
* config/rs6000/htm.md (ttest): Remove clobber.
* config/rs6000/predicates.md (any_mask_operand): New predicate.
(and_operand): Reformat.
(and_2rld_operand): New predicate.
* config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
parameter.
* config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
parameter.  Handle AND directly.
(rs6000_split_logical_di): Remove last parameter.
(rs6000_split_logical): Remove last parameter.  Remove obsolete
comment.
* config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
(one_cmpl<mode>2): Adjust call of rs6000_split_logical.
(ctz<mode>2, ffs<mode>2): Delete clobber.  Reformat.
(andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
*andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
and 5 anonymous splitters):  Delete.
(and<mode>3): New expander.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
(and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
(*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
(ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
(floatdisf2_internal1): Remove clobbers.
(anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
*anddi3_internal3_mc, and 4 anonymous splitters): Delete.
(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
(and<mode>3 for BOOL_128): Remove clobber.
(*and<mode>3_internal for BOOL_128): Remove clobber.  Adjust call of
rs6000_split_logical.
(*bool<mode>3_internal for BOOL_128): Adjust call of
rs6000_split_logical.
(*boolc<mode>3_internal1 for BOOL_128,
*boolc<mode>3_internal2 for BOOL_128,
*boolcc<mode>3_internal1 for BOOL_128,
*boolcc<mode>3_internal2 for BOOL_128,
*eqv<mode>3_internal1 for BOOL_128,
*eqv<mode>3_internal2 for BOOL_128,
*one_cmpl<mode>3_internal for BOOL_128): Ditto.
* config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
clobber.
(*vec_reload_and_reg_<mptrsize>): Delete.

From-SVN: r214080

9 years agors6000.md (*boolccsi3_internal1, [...]): Delete.
Segher Boessenkool [Sun, 17 Aug 2014 23:38:16 +0000 (01:38 +0200)]
rs6000.md (*boolccsi3_internal1, [...]): Delete.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
and split, *boolccsi3_internal3 and split): Delete.
(*boolccdi3_internal1, *boolccdi3_internal2 and split,
*boolccdi3_internal3 and split): Delete.
(*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
(*eqv<mode>3): Move.  Add TODO comment.  Fix attributes.

From-SVN: r214079

9 years agors6000.md (*boolcsi3_internal1, [...]): Delete.
Segher Boessenkool [Sun, 17 Aug 2014 23:36:53 +0000 (01:36 +0200)]
rs6000.md (*boolcsi3_internal1, [...]): Delete.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
and split, *boolcsi3_internal3 and split): Delete.
(*boolcdi3_internal1, *boolcdi3_internal2 and split,
*boolcdi3_internal3 and split): Delete.
(*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.

From-SVN: r214078

9 years agors6000.c (print_operand): New.
Segher Boessenkool [Sun, 17 Aug 2014 23:35:30 +0000 (01:35 +0200)]
rs6000.c (print_operand): New.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (print_operand) <'e'>: New.
<'u'>: Also support printing the low-order 16 bits.
* config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
*boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
(iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
*booldi3_internal3 and split): Delete.
(ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
*bool<mode>3_dot2): New.
(two anonymous define_splits for non_logical_cint_operand): Merge.

From-SVN: r214077

9 years agoresolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.
Tobias Burnus [Sun, 17 Aug 2014 16:42:19 +0000 (18:42 +0200)]
resolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (gfc_resolve_finalizers): Ensure that parents are
        resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_27.f90: New.

From-SVN: r214076

9 years agotrans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.
Tobias Burnus [Sun, 17 Aug 2014 16:40:04 +0000 (18:40 +0200)]
trans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
        IOCALL_SET_NML_VAL.
        (transfer_namelist_element): Use proper int type as argument.

From-SVN: r214075

9 years agore PR c/62059 (signed integer overflow in diagnostic.c adjust_line)
Marek Polacek [Sun, 17 Aug 2014 16:19:43 +0000 (16:19 +0000)]
re PR c/62059 (signed integer overflow in diagnostic.c adjust_line)

PR c/62059
* diagnostic.c (adjust_line): Add gcc_checking_assert.
(diagnostic_show_locus): Don't print caret diagnostic
if a column is larger than the line_width.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r214074

9 years ago20140816-1.c: New testcase.
Andrew Pinski [Sun, 17 Aug 2014 05:20:42 +0000 (05:20 +0000)]
20140816-1.c: New testcase.

2014-08-16  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140816-1.c: New testcase.

From-SVN: r214073

9 years agoDaily bump.
GCC Administrator [Sun, 17 Aug 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r214072

9 years agocommon.opt: Make the ISL AST generator to be the main code generator of Graphite.
Roman Gareev [Sat, 16 Aug 2014 21:18:24 +0000 (21:18 +0000)]
common.opt: Make the ISL AST generator to be the main code generator of Graphite.

[gcc/]

* common.opt: Make the ISL AST generator to be the main code generator
of Graphite.

From-SVN: r214069

9 years ago* wide-int.h (generic_wide_int): Declare as class instead of struct.
Gerald Pfeifer [Sat, 16 Aug 2014 19:27:54 +0000 (19:27 +0000)]
* wide-int.h (generic_wide_int): Declare as class instead of struct.

From-SVN: r214068

9 years agore PR target/61641 (undefined label in jump_table_data)
John David Anglin [Sat, 16 Aug 2014 16:36:33 +0000 (16:36 +0000)]
re PR target/61641 (undefined label in jump_table_data)

PR target/61641
* config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
Declare.
* config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
(pa_output_addr_vec, pa_output_addr_diff_vec): New.
* config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
Define.
* config/pa/pa.md (begin_brtab): Delete insn.
(end_brtab): Likewise.

From-SVN: r214064

9 years agocppopts.texi (ftrack-macro-expansion): Add missing @code.
Manuel López-Ibáñez [Sat, 16 Aug 2014 14:19:38 +0000 (14:19 +0000)]
cppopts.texi (ftrack-macro-expansion): Add missing @code.

2014-08-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * doc/cppopts.texi (ftrack-macro-expansion): Add missing @code.

From-SVN: r214063

9 years agore PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structur...
Paolo Carlini [Sat, 16 Aug 2014 10:07:41 +0000 (10:07 +0000)]
re PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'nop_expr' in decl_linkage, at cp/tree.c:3136)

2014-08-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52819
* g++.dg/template/pr52819.C: New.

From-SVN: r214062

9 years agoipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
Jan Hubicka [Sat, 16 Aug 2014 09:10:23 +0000 (11:10 +0200)]
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.

* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.

From-SVN: r214060

9 years agocompiler: Pass initialization of frame temporary to backend.
Ian Lance Taylor [Sat, 16 Aug 2014 00:54:32 +0000 (00:54 +0000)]
compiler: Pass initialization of frame temporary to backend.

From-SVN: r214057

9 years agoDaily bump.
GCC Administrator [Sat, 16 Aug 2014 00:18:18 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r214056

9 years agoinvoke.texi (SH options): Document missing processor variant options.
Oleg Endo [Fri, 15 Aug 2014 22:55:47 +0000 (22:55 +0000)]
invoke.texi (SH options): Document missing processor variant options.

gcc/
* doc/invoke.texi (SH options): Document missing processor variant
options.  Remove references to Hitachi.  Undocument deprecated mspace
option.

From-SVN: r214050

9 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Fri, 15 Aug 2014 22:27:06 +0000 (18:27 -0400)]
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* pt.c (lookup_template_class_1): Revert recent change.
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): Revert recent change.

From-SVN: r214049

9 years agoruntime: Don't get confused if m changes during runtime_gc.
Ian Lance Taylor [Fri, 15 Aug 2014 22:16:55 +0000 (22:16 +0000)]
runtime: Don't get confused if m changes during runtime_gc.

From-SVN: r214048

9 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Fri, 15 Aug 2014 21:59:40 +0000 (17:59 -0400)]
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* pt.c (instantiate_class_template_1): Ignore lambda on
CLASSTYPE_DECL_LIST.
(push_template_decl_real): A lambda is not primary.
(lookup_template_class_1): Don't look for a lambda partial
instantiation.
* lambda.c (maybe_add_lambda_conv_op): Distinguish between being
currently in a function and the lambda living in a function.
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): False for lambda.

From-SVN: r214046

9 years agore PR fortran/62142 (internal compiler error: Segmentation fault (X = X - L*floor...
Thomas Koenig [Fri, 15 Aug 2014 21:19:33 +0000 (21:19 +0000)]
re PR fortran/62142 (internal compiler error: Segmentation fault (X = X - L*floor(X/L)))

2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62142
* trans-expr.c (is_runtime_conformable):  Add NULL pointer checks.

2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62142
* gfortran.dg/realloc_on_assign_24.f90:  New test.

From-SVN: r214043

9 years agore PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)
Jason Merrill [Fri, 15 Aug 2014 17:27:58 +0000 (13:27 -0400)]
re PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)

PR bootstrap/62077
gcc/
* tree.c (type_hash_canon): Uncomment assert.
gcc/cp/
* tree.c (build_min_array_type, set_array_type_canon): Split out...
(build_cplus_array_type): ...from here.  Only call build_array_type
for main variants.

From-SVN: r214030

9 years agoresolve.c (resolve_critical): Fix name mangling.
Tobias Burnus [Fri, 15 Aug 2014 16:33:08 +0000 (18:33 +0200)]
resolve.c (resolve_critical): Fix name mangling.

2014-08-15  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_critical): Fix name mangling.
        * trans-stmt.c (gfc_trans_critical): Fix lock call.

From-SVN: r214029

9 years agoinput.h (in_system_header_at): Add comment.
Manuel López-Ibáñez [Fri, 15 Aug 2014 16:27:38 +0000 (16:27 +0000)]
input.h (in_system_header_at): Add comment.

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.h (in_system_header_at): Add comment.

From-SVN: r214028

9 years agore PR c++/62072 (No SFINAE performed for function type)
Paolo Carlini [Fri, 15 Aug 2014 16:23:47 +0000 (16:23 +0000)]
re PR c++/62072 (No SFINAE performed for function type)

/cp
2014-08-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62072
Revert:
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* pt.c (check_cv_quals_for_unify): Implement resolution, disregard
cv-qualifiers of function types.

/testsuite
2014-08-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62072
Revert:
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* g++.dg/template/pr57466.C: New.
* g++.dg/cpp0x/pr57466.C: Likewise.
* g++.dg/template/unify6.C: Update.

* g++.dg/cpp0x/sfinae52.C: New.

From-SVN: r214027

9 years agocall.c (build_conditional_expr_1): Use OPT_Wextra in warning.
Manuel López-Ibáñez [Fri, 15 Aug 2014 16:14:50 +0000 (16:14 +0000)]
call.c (build_conditional_expr_1): Use OPT_Wextra in warning.

2014-08-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

gcc/cp/:
* call.c (build_conditional_expr_1): Use OPT_Wextra in warning.

From-SVN: r214026

9 years agore PR libstdc++/62154 (std::throw_with_nested should not require a polymorphic type)
Jonathan Wakely [Fri, 15 Aug 2014 15:22:44 +0000 (16:22 +0100)]
re PR libstdc++/62154 (std::throw_with_nested should not require a polymorphic type)

PR libstdc++/62154
* libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
Rewrite to conform to C++11 requirements.
* testsuite/18_support/nested_exception/62154.cc: New.

From-SVN: r214025

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Fri, 15 Aug 2014 15:10:15 +0000 (15:10 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
gcc/
* diagnostic.c (build_message_string): Make it extern.
* diagnostic.h (build_message_string): Make it extern.
c-family/
* c-format.c: Handle Fortran flags.
fortran/
* gfortran.h: Define GCC_DIAG_STYLE.
(gfc_diagnostics_init,gfc_warning_cmdline): Declare.
* trans-array.c: Include gfortran.h before diagnostic-core.h.
* trans-expr.c: Likewise.
* trans-openmp.c: Likewise.
* trans-const.c: Likewise.
* trans.c: Likewise.
* trans-types.c: Likewise.
* f95-lang.c: Likewise.
* trans-decl.c: Likewise.
* trans-io.c: Likewise.
* trans-intrinsic.c: Likewise.
* error.c: Include diagnostic.h and diagnostic-color.h.
(gfc_diagnostic_build_prefix): New.
(gfc_diagnostic_starter): New.
(gfc_diagnostic_finalizer): New.
(gfc_warning_cmdline): New.
(gfc_diagnostics_init): New.
* gfc-diagnostic.def: New.
* options.c (gfc_init_options): Call gfc_diagnostics_init.
(gfc_post_options): Use gfc_warning_cmdline.

From-SVN: r214024

9 years agors6000.c (rs6000_emit_move): Use SDmode for load/store from/to non-floating class...
Vladimir Makarov [Fri, 15 Aug 2014 14:16:56 +0000 (14:16 +0000)]
rs6000.c (rs6000_emit_move): Use SDmode for load/store from/to non-floating class pseudo.

2014-08-15  Vladimir Makarov  <vmakarov@redhat.com>

* config/rs6000/rs6000.c (rs6000_emit_move): Use SDmode for
load/store from/to non-floating class pseudo.

From-SVN: r214023

9 years agoinput.c (diagnostic_file_cache_fini): Fix typo in comment.
Manuel López-Ibáñez [Fri, 15 Aug 2014 14:07:19 +0000 (14:07 +0000)]
input.c (diagnostic_file_cache_fini): Fix typo in comment.

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.c (diagnostic_file_cache_fini): Fix typo in comment.

From-SVN: r214022

9 years agotree-ssa-structalias.c (readonly_id): Rename to string_id.
Richard Biener [Fri, 15 Aug 2014 12:54:28 +0000 (12:54 +0000)]
tree-ssa-structalias.c (readonly_id): Rename to string_id.

2014-08-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (readonly_id): Rename to string_id.
(get_constraint_for_ssa_var): Remove dead code.
(get_constraint_for_1): Adjust.
(find_what_var_points_to): Likewise.
(init_base_vars): Likewise.  STRING_CSTs do not contain pointers.

From-SVN: r214020

9 years agogcc/
Ilya Tocar [Fri, 15 Aug 2014 12:47:41 +0000 (16:47 +0400)]
gcc/

PR target/61878
* config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
(_mm512_mask_cmpge_epu32_mask): Ditto.
(_mm512_cmpge_epu32_mask): Ditto.
(_mm512_mask_cmpge_epi64_mask): Ditto.
(_mm512_cmpge_epi64_mask): Ditto.
(_mm512_mask_cmpge_epu64_mask): Ditto.
(_mm512_cmpge_epu64_mask): Ditto.
(_mm512_mask_cmple_epi32_mask): Ditto.
(_mm512_cmple_epi32_mask): Ditto.
(_mm512_mask_cmple_epu32_mask): Ditto.
(_mm512_cmple_epu32_mask): Ditto.
(_mm512_mask_cmple_epi64_mask): Ditto.
(_mm512_cmple_epi64_mask): Ditto.
(_mm512_mask_cmple_epu64_mask): Ditto.
(_mm512_cmple_epu64_mask): Ditto.
(_mm512_mask_cmplt_epi32_mask): Ditto.
(_mm512_cmplt_epi32_mask): Ditto.
(_mm512_mask_cmplt_epu32_mask): Ditto.
(_mm512_cmplt_epu32_mask): Ditto.
(_mm512_mask_cmplt_epi64_mask): Ditto.
(_mm512_cmplt_epi64_mask): Ditto.
(_mm512_mask_cmplt_epu64_mask): Ditto.
(_mm512_cmplt_epu64_mask): Ditto.
(_mm512_mask_cmpneq_epi32_mask): Ditto.
(_mm512_mask_cmpneq_epu32_mask): Ditto.
(_mm512_cmpneq_epu32_mask): Ditto.
(_mm512_mask_cmpneq_epi64_mask): Ditto.
(_mm512_cmpneq_epi64_mask): Ditto.
(_mm512_mask_cmpneq_epu64_mask): Ditto.
(_mm512_cmpneq_epu64_mask): Ditto.
(_mm512_castpd_ps): Ditto.
(_mm512_castpd_si512): Ditto.
(_mm512_castps_pd): Ditto.
(_mm512_castps_si512): Ditto.
(_mm512_castsi512_ps): Ditto.
(_mm512_castsi512_pd): Ditto.
(_mm512_castpd512_pd128): Ditto.
(_mm512_castps512_ps128): Ditto.
(_mm512_castsi512_si128): Ditto.
(_mm512_castpd512_pd256): Ditto.
(_mm512_castps512_ps256): Ditto.
(_mm512_castsi512_si256): Ditto.
(_mm512_castpd128_pd512): Ditto.
(_mm512_castps128_ps512): Ditto.
(_mm512_castsi128_si512): Ditto.
(_mm512_castpd256_pd512): Ditto.
(_mm512_castps256_ps512): Ditto.
(_mm512_castsi256_si512): Ditto.
(_mm512_cmpeq_epu32_mask): Ditto.
(_mm512_mask_cmpeq_epu32_mask): Ditto.
(_mm512_mask_cmpeq_epu64_mask): Ditto.
(_mm512_cmpeq_epu64_mask): Ditto.
(_mm512_cmpgt_epu32_mask): Ditto.
(_mm512_mask_cmpgt_epu32_mask): Ditto.
(_mm512_mask_cmpgt_epu64_mask): Ditto.
(_mm512_cmpgt_epu64_mask): Ditto.
* config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
(bdesc_args): Add __builtin_ia32_si512_256si,
__builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
__builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
__builtin_ia32_pd512_pd.
(ix86_expand_args_builtin): Handle new FTYPEs.
* config/i386/sse.md (castmode): Add 512-bit modes.
(AVX512MODE2P): New.
(avx512f_<castmode><avxsizesuffix>_<castmode): New.
(avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.

gcc/testsuite/

PR target/61878
* gcc.target/i386/avx512f-typecast-1.c: New test.
* gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpged-1.c: Add new intrinsic.
* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtud-1.c: New test.
* gcc.target/i386/avx512f-vpcmpgtud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.

From-SVN: r214019

9 years agoMAINTAINERS (Write After Approval): Add myself.
Ilya Verbin [Fri, 15 Aug 2014 12:33:03 +0000 (12:33 +0000)]
MAINTAINERS (Write After Approval): Add myself.

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214017

9 years agofold-const.c (tree_swap_operands_p): Put all constants last...
Richard Biener [Fri, 15 Aug 2014 11:42:01 +0000 (11:42 +0000)]
fold-const.c (tree_swap_operands_p): Put all constants last...

2014-08-15  Richard Biener  <rguenther@suse.de>

* fold-const.c (tree_swap_operands_p): Put all constants
last, also strip sign-changing NOPs when considering further
canonicalization.  Canonicalize also when optimizing for size.

From-SVN: r214013

9 years agoMAINTAINERS (Write After Approval): Add myself.
Ilya Tocar [Fri, 15 Aug 2014 10:35:03 +0000 (14:35 +0400)]
MAINTAINERS (Write After Approval): Add myself.

         * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214012

9 years agore PR fortran/62131 (OpenMP: Subobject of an allocatable array not allowed in OMP...
Jakub Jelinek [Fri, 15 Aug 2014 10:23:13 +0000 (12:23 +0200)]
re PR fortran/62131 (OpenMP: Subobject of an allocatable array not allowed in OMP ATOMIC)

PR fortran/62131
* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
is allocatable, rather than whenever var->attr.allocatable.

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

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r214010

9 years ago[AArch64] Move one_match > zero_match case to just before simple_sequence.
Kyrylo Tkachov [Fri, 15 Aug 2014 09:02:27 +0000 (09:02 +0000)]
[AArch64] Move one_match > zero_match case to just before simple_sequence.

* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
one_match > zero_match case to just before simple_sequence.

From-SVN: r214008

9 years agodata-streamer.h (streamer_string_index, [...]): Remove.
Richard Biener [Fri, 15 Aug 2014 07:51:35 +0000 (07:51 +0000)]
data-streamer.h (streamer_string_index, [...]): Remove.

2014-08-15  Richard Biener  <rguenther@suse.de>

* data-streamer.h (streamer_string_index, string_for_index):
Remove.
* data-streamer-out.c (streamer_string_index): Make static.
* data-streamer-in.c (string_for_index): Likewise.
* lto-streamer-out.c (lto_output_location): Use bp_pack_string.
* lto-streamer-in.c (lto_input_location): Use bp_unpack_string.

From-SVN: r214007

9 years agore PR tree-optimization/62031 (Different results between O2 and O2 -fpredictive-commo...
Richard Biener [Fri, 15 Aug 2014 07:50:40 +0000 (07:50 +0000)]
re PR tree-optimization/62031 (Different results between O2 and O2 -fpredictive-commoning)

2014-08-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr62031.c: New testcase.

From-SVN: r214006

9 years agore PR fortran/62107 (libgomp.fortran/target2.f90 error while compiling for OpenMP...
Jakub Jelinek [Fri, 15 Aug 2014 07:41:06 +0000 (09:41 +0200)]
re PR fortran/62107 (libgomp.fortran/target2.f90 error while compiling for OpenMP 4.0 offload target)

PR fortran/62107
* trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
or allocatable passed by reference.
(gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.

From-SVN: r214003

9 years agore PR middle-end/62092 (libgomp.c++/target-2.C FAIL while compiling for OpenMP 4...
Jakub Jelinek [Fri, 15 Aug 2014 07:40:03 +0000 (09:40 +0200)]
re PR middle-end/62092 (libgomp.c++/target-2.C FAIL while compiling for OpenMP 4.0 offload target)

PR middle-end/62092
* gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
OMP_CLAUSE_SHARED for global vars if the global var is mentioned
in OMP_CLAUSE_MAP in some outer target region.

From-SVN: r214001

9 years agorl78-real.md (addqi3_real): Allow adding global variables to the accumulator.
DJ Delorie [Fri, 15 Aug 2014 02:52:55 +0000 (22:52 -0400)]
rl78-real.md (addqi3_real): Allow adding global variables to the accumulator.

* config/rl78/rl78-real.md (addqi3_real): Allow adding global
variables to the accumulator.

From-SVN: r213999

9 years agopredicates.md (rl78_near_mem_operand): New.
DJ Delorie [Fri, 15 Aug 2014 02:48:03 +0000 (22:48 -0400)]
predicates.md (rl78_near_mem_operand): New.

* config/rl78/predicates.md (rl78_near_mem_operand): New.
* config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
(movhi_virt_mm): Split out near mem-mem moves to avoid problems
with far-far moves.

From-SVN: r213998

9 years agotree-ssa-loop-ivopts.c (ivopts_data): New field name_expansion_cache.
Bin Cheng [Fri, 15 Aug 2014 02:42:33 +0000 (02:42 +0000)]
tree-ssa-loop-ivopts.c (ivopts_data): New field name_expansion_cache.

* tree-ssa-loop-ivopts.c (ivopts_data): New field
name_expansion_cache.
(tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
(tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
(strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
(difference_cannot_overflow_p): New parameter.  Use affine
expansion for equality check.
(iv_elimination_compare_lt): Pass new argument.

testsuite/ChangeLog
* gcc.dg/tree-ssa/ivopts-lt-2.c: New test.

From-SVN: r213997

9 years agorl78-expand.md (umulqihi3): Disable for G10.
DJ Delorie [Fri, 15 Aug 2014 02:30:22 +0000 (22:30 -0400)]
rl78-expand.md (umulqihi3): Disable for G10.

* config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
* config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
(umulqihi3_virt): Likewise.
* config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
(umulqihi3_real): Likewise.

From-SVN: r213996

9 years ago* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
DJ Delorie [Fri, 15 Aug 2014 00:23:38 +0000 (20:23 -0400)]
* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.

From-SVN: r213995

9 years agoDaily bump.
GCC Administrator [Fri, 15 Aug 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213994

9 years agore PR tree-optimization/62091 (ice in before_dom_children)
Jan Hubicka [Thu, 14 Aug 2014 23:36:22 +0000 (01:36 +0200)]
re PR tree-optimization/62091 (ice in before_dom_children)

PR tree-optimization/62091
* g++.dg/ipa/devirt-38.C: New testcase.
* tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
function_entry_reached.
(walk_aliased_vdefs): Clear it here.
* ipa-devirt.c (check_stmt_for_type_change): Handle static storage.

From-SVN: r213991

9 years agoipa-utils.h (compare_virtual_tables): Declare.
Jan Hubicka [Thu, 14 Aug 2014 23:30:46 +0000 (01:30 +0200)]
ipa-utils.h (compare_virtual_tables): Declare.

* ipa-utils.h (compare_virtual_tables): Declare.
* ipa-devirt.c (odr_subtypes_equivalent_p): New function

* lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.

From-SVN: r213990

9 years agotypeck.c (composite_pointer_type, [...]): When a pedwarn is suppressed under SFINAE...
Paolo Carlini [Thu, 14 Aug 2014 20:12:32 +0000 (20:12 +0000)]
typeck.c (composite_pointer_type, [...]): When a pedwarn is suppressed under SFINAE, return error_mark_node.

2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (composite_pointer_type, cxx_sizeof_or_alignof_type,
cp_build_array_ref, cp_build_function_call_vec): When a
pedwarn is suppressed under SFINAE, return error_mark_node.

* typeck.c (cxx_sizeof_or_alignof_type): Fix complain &
tf_warning_or_error, where complain is a bool, glitch.

From-SVN: r213983

9 years agoDR 458
Marek Polacek [Thu, 14 Aug 2014 18:56:10 +0000 (18:56 +0000)]
DR 458

DR 458
* ginclude/stdatomic.h (__atomic_type_lock_free): Remove.
(ATOMIC_*_LOCK_FREE): Map to __GCC_ATOMIC_*_LOCK_FREE.

* gcc.dg/c11-stdatomic-2.c: New test.

From-SVN: r213981

9 years agore PR fortran/62106 (Adding a scalar variable to an array constructor gives wrong...
Thomas Koenig [Thu, 14 Aug 2014 18:52:12 +0000 (18:52 +0000)]
re PR fortran/62106 (Adding a scalar variable to an array constructor gives wrong result)

2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62106
* gfortran.h (symbol_attribute):  Add fe_temp flag.
* frontend-passes.c (is_fe_temp):  New function.
(create_var):  Don't add a temporary for an already
created variable or for a constant.
(combine_ARRAY_constructor):  Remove special handling
for constants.

2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62106
* gfortran.dg/array_constructor_49.f90:  New test.

From-SVN: r213980

9 years agogfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
Tobias Burnus [Thu, 14 Aug 2014 18:39:15 +0000 (20:39 +0200)]
gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.

gcc/fortran/
2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
        (_gfortran_caf_register): Update for locking/critical.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
        * resolve.c (resolve_critical): New.
        (gfc_resolve_code): Call it.
        * trans-decl.c (gfor_fndecl_caf_critical,
        gfor_fndecl_caf_end_critical): Remove.
        (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
        (gfc_build_builtin_function_decls): Remove critical,
        assign locking declarations.
        (generate_coarray_sym_init): Handle locking and
        critical variables.
        * trans-stmt.c (gfc_trans_critical): Add calls to
        lock/unlock libcaf functions.
        * trans.h (gfc_coarray_type): Update locking, add
        critical enum values.
        (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
        (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.

libgfortran/
2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (caf_register_t): Update for critical.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
        * caf/single.c (_gfortran_caf_register): Handle locking
        variables.
        (_gfortran_caf_sendget): Re-name args for consistency.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.

From-SVN: r213979

9 years agogfortran.texi (Coarray Programming): Add first ABI documentation.
Tobias Burnus [Thu, 14 Aug 2014 18:35:01 +0000 (20:35 +0200)]
gfortran.texi (Coarray Programming): Add first ABI documentation.

2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (Coarray Programming): Add first ABI
        documentation.

From-SVN: r213978

9 years agoFix ChangeLog entry
Tom de Vries [Thu, 14 Aug 2014 17:56:18 +0000 (17:56 +0000)]
Fix ChangeLog entry

From-SVN: r213976

9 years agoRemove duplicate declaration of mem_attrs_eq_p
Tom de Vries [Thu, 14 Aug 2014 17:41:44 +0000 (17:41 +0000)]
Remove duplicate declaration of mem_attrs_eq_p

2014-08-14  Tom de Vries  <tom@codesourcery.com>

* emit-rtl.h (mem_attrs_eq_p): Remove duplicate declaration.

From-SVN: r213975

9 years agore PR c++/62101 (deleted definitions of friend functions are rejected)
Ville Voutilainen [Thu, 14 Aug 2014 17:11:26 +0000 (20:11 +0300)]
re PR c++/62101 (deleted definitions of friend functions are rejected)

PR c++/62101
* decl.c (grokdeclarator): Move the check for friend initializers..
* decl2.c (grokfield) ..here. Postpone early return for friends
until after the initializer check.

From-SVN: r213974

9 years agore PR c++/54377 (Consider default arguments in "wrong number of template arguments...
Paolo Carlini [Thu, 14 Aug 2014 17:00:45 +0000 (17:00 +0000)]
re PR c++/54377 (Consider default arguments in "wrong number of template arguments" diagnostic)

/cp
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54377
* pt.c (coerce_template_parms): Improve error message vs default
arguments.

/testsuite
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54377
* g++.dg/template/pr54377.C: New.
* g++.dg/cpp0x/pr54377.C: Likewise.
* g++.dg/cpp0x/alias-decl-2.C: Adjust.
* g++.dg/cpp0x/pr51226.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/parse/too-many-tmpl-args1.C: Likewise.
* g++.dg/template/dtor3.C: Likewise.
* g++.dg/template/qualttp4.C: Likewise.
* g++.dg/template/spec28.C: Likewise.
* g++.old-deja/g++.brendan/crash8.C: Likewise.
* g++.old-deja/g++.pt/ttp7.C: Likewise.

From-SVN: r213973

9 years agore PR fortran/62076 (testsuite failure in udr2.90)
Jakub Jelinek [Thu, 14 Aug 2014 16:39:07 +0000 (18:39 +0200)]
re PR fortran/62076 (testsuite failure in udr2.90)

PR fortran/62076
* openmp.c (gfc_match_omp_clauses): When failed to match
operator name, defined op name or name, set buffer to
empty string.  Don't call gfc_find_omp_udr if buffer is empty
string.
(gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
before calling gfc_free_omp_udr.

From-SVN: r213971

9 years agoFix if-conversion pass for dead type-unsafe code
Tom de Vries [Thu, 14 Aug 2014 16:13:59 +0000 (16:13 +0000)]
Fix if-conversion pass for dead type-unsafe code

2014-08-14  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/62004
PR rtl-optimization/62030
* ifcvt.c (rtx_interchangeable_p): New function.
(noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
* emit-rtl.h (mem_attrs_eq_p): Declare.

* gcc.dg/pr62004.c: New test.
* gcc.dg/pr62030.c: Same.
* gcc.target/mips/pr62030-octeon.c: Same.

From-SVN: r213970

9 years agographite-scop-detection.c: Add inclusion of cp-tree.h.
Roman Gareev [Thu, 14 Aug 2014 14:53:59 +0000 (14:53 +0000)]
graphite-scop-detection.c: Add inclusion of cp-tree.h.

[gcc/]

* graphite-scop-detection.c:
Add inclusion of cp-tree.h.
(graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
in case they are pointers to object types

From-SVN: r213969

9 years agoBASE-VER: Change to 5.0.0
Richard Biener [Thu, 14 Aug 2014 13:58:50 +0000 (13:58 +0000)]
BASE-VER: Change to 5.0.0

2014-08-14  Richard Biener  <rguenther@suse.de>

* BASE-VER: Change to 5.0.0

From-SVN: r213968

9 years agocrontab: Change trunk snapshots from 4.10 to 5.
Richard Biener [Thu, 14 Aug 2014 13:58:16 +0000 (13:58 +0000)]
crontab: Change trunk snapshots from 4.10 to 5.

2014-08-14  Richard Biener  <rguenther@suse.de>

* crontab: Change trunk snapshots from 4.10 to 5.

From-SVN: r213967

9 years agosse.md (define_mode_attr avx512): New.
Alexander Ivchenko [Thu, 14 Aug 2014 13:39:50 +0000 (13:39 +0000)]
sse.md (define_mode_attr avx512): New.

gcc/
        * config/i386/sse.md (define_mode_attr avx512): New.
(define_mode_attr sse2_avx_avx512f): Allow V8HI, V16HI, V32HI, V2DI,
V4DI modes.
(define_mode_attr sse2_avx2): Allow V64QI, V32HI, V4TI modes.
(define_mode_attr ssse3_avx2): Ditto.
(define_mode_attr sse4_1_avx2): Allow V64QI, V32HI, V8DI modes.
(define_mode_attr avx2_avx512bw): New.
(define_mode_attr ssedoublemodelower): New.
(define_mode_attr ssedoublemode): Allow V8SF, V8SI, V4DI, V4DF, V4SI,
V32HI, V64QI modes.
(define_mode_attr ssebytemode): Allow V8DI modes.
(define_mode_attr sseinsnmode): Allow V4TI, V32HI, V64QI modes.
(define_mode_attr sseintvecmodelower): Allow V8DF, V4TI modes.
(define_mode_attr ssePSmode2): New.
(define_mode_attr ssescalarsize): Allow V64QI, V32QI, V16QI, V8HI,
V16HI, V32HI modes.
(define_mode_attr dbpsadbwmode): New.
(define_mode_attr bcstscalarsuff): Allow V64QI, V32QI, V16QI, V32HI,
V16HI, V8HI, V8SI, V4SI, V4DI, V2DI, V8SF, V4SF, V4DF, V2DF modes.
(vi8_sse4_1_avx2_avx512): New.
(define_insn <sse4_1_avx2>_movntdqa): Use <vi8_sse4_1_avx2_avx512>
mode attribute.
(define_mode_attr blendbits): Move before its immediate use.

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>
From-SVN: r213966

9 years agosse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
Alexander Ivchenko [Thu, 14 Aug 2014 13:30:51 +0000 (13:30 +0000)]
sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.

gcc/
* config/i386/sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
* config/i386/subst.md
(define_mode_iterator SUBST_V): Update.
(define_mode_iterator SUBST_A): Ditto.
(define_subst_attr "mask_operand7"): New.
(define_subst_attr "mask_operand10"): New.
(define_subst_attr "mask_operand_arg34") : New.
(define_subst_attr "mask_expand_op3"): New.
(define_subst_attr "mask_mode512bit_condition"): Handle TARGET_AVX512VL.
(define_subst_attr "sd_mask_mode512bit_condition"): Ditto.
(define_subst_attr "mask_avx512vl_condition"): New.
(define_subst_attr "round_mask_operand4"): Ditto.
(define_subst_attr "round_mask_scalar_op3"): Delete.
(define_subst_attr "round_mask_op4"): New.
(define_subst_attr "round_mode512bit_condition"): Allow V8DImode,
V16SImode.
(define_subst_attr "round_modev8sf_condition"): New.
(define_subst_attr "round_modev4sf_condition"): GET_MODE instead of
<MODE>mode.
(define_subst_attr "round_saeonly_mask_operand4"): New.
(define_subst_attr "round_saeonly_mask_op4"): New.
(define_subst_attr "round_saeonly_mode512bit_condition"): Allow
V8DImode, V16SImode.
(define_subst_attr "round_saeonly_modev8sf_condition"): New.
(define_subst_attr "mask_expand4_name" "mask_expand4"): New.
(define_subst_attr "mask_expand4_args"): New.
(define_subst "mask_expand4"): New.

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>
From-SVN: r213965

9 years agoi386.md (define_attr "isa"): Add avx512bw,noavx512bw.
Alexander Ivchenko [Thu, 14 Aug 2014 13:25:36 +0000 (13:25 +0000)]
i386.md (define_attr "isa"): Add avx512bw,noavx512bw.

gcc/
        * config/i386/i386.md
(define_attr "isa"): Add avx512bw,noavx512bw.
(define_attr "enabled"): Ditto.
(define_split): Add 32/64-bit mask logic.
(define_insn "*k<logic>qi"): New.
(define_insn "*k<logic>hi"): New.
(define_insn "*anddi_1"): Add mask version.
(define_insn "*andsi_1"): Ditto.
(define_insn "*<code><mode>_1"): Ditto.
(define_insn "*<code>hi_1"): Ditto.
(define_insn "kxnor<mode>"): New.
(define_insn "kunpcksi"): New.
(define_insn "kunpckdi"): New.
(define_insn "*one_cmpl<mode>2_1"): Add mask version.
(define_insn "*one_cmplhi2_1"): Ditto.

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>
From-SVN: r213964

9 years agoi386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.
Alexander Ivchenko [Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)]
i386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.

gcc/
* config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
V32HImode.

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>
From-SVN: r213963

9 years agoi386.c (print_reg): Сorrectly print 64-bit mask registers.
Alexander Ivchenko [Thu, 14 Aug 2014 13:18:42 +0000 (13:18 +0000)]
i386.c (print_reg): Сorrectly print 64-bit mask registers.

gcc/
* config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
registers.
(inline_secondary_memory_needed): Allow 64 bit wide mask registers.
(ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
xmm/ymm16+ when availble.
* config/i386/i386.h
(HARD_REGNO_NREGS): Add mask regs.
(VALID_AVX512F_REG_MODE): Ditto.
(VALID_AVX512F_REG_MODE) : Define.
(VALID_MASK_AVX512BW_MODE): Ditto.
(reg_class) (MASK_REG_P(X)): Define.
* config/i386/i386.md: Do not split long moves with mask register,
use kmovb if avx512bw is availible.
(movdi_internal): Handle mask registers.

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>
From-SVN: r213962

9 years agore PR tree-optimization/62081 (ICE: in fix_loop_structure, at loop-init.c:208 with...
Richard Biener [Thu, 14 Aug 2014 13:14:24 +0000 (13:14 +0000)]
re PR tree-optimization/62081 (ICE: in fix_loop_structure, at loop-init.c:208 with -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts -fno-tree-reassoc -fno-tree-sink)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62081
* tree-ssa-loop.c (pass_fix_loops): New pass.
(pass_tree_loop::gate):  Do not fixup loops here.
* tree-pass.h (make_pass_fix_loops): Declare.
* passes.def: Schedule pass_fix_loops before GIMPLE loop passes.

From-SVN: r213961

9 years agore PR lto/62067 (lto-lang.c:549: too many calls to va_end on some code paths ?)
Richard Biener [Thu, 14 Aug 2014 13:13:41 +0000 (13:13 +0000)]
re PR lto/62067 (lto-lang.c:549: too many calls to va_end on some code paths ?)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR lto/62067
* lto-lang.c (def_fn_type): Fix error handling wrt va_end.

From-SVN: r213960

9 years agorequirements: Remove empty directory.
Matthias Klose [Thu, 14 Aug 2014 11:37:20 +0000 (11:37 +0000)]
requirements: Remove empty directory.

2014-08-14  Matthias Klose  <doko@ubuntu.com>

        * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
        Remove empty directory.

From-SVN: r213958

9 years agotree.c (type_hash_lookup, [...]): Merge into ...
Richard Biener [Thu, 14 Aug 2014 11:15:41 +0000 (11:15 +0000)]
tree.c (type_hash_lookup, [...]): Merge into ...

2014-08-14  Richard Biener  <rguenther@suse.de>

* tree.c (type_hash_lookup, type_hash_add): Merge into ...
(type_hash_canon): ... this and avoid 2nd lookup for the add.

From-SVN: r213956

9 years agoparser.c (cp_parser_init_declarator): Remove redundant check of decl_specifiers-...
Paolo Carlini [Thu, 14 Aug 2014 09:15:11 +0000 (09:15 +0000)]
parser.c (cp_parser_init_declarator): Remove redundant check of decl_specifiers->type.

/gcc/cp
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_init_declarator): Remove redundant check of
decl_specifiers->type.

/gcc/testsuite
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/alias-decl-4.C: Adjust for parser change.
* g++.dg/cpp0x/decltype2.C: Likewise.
* g++.dg/cpp0x/decltype3.C: Likewise.
* g++.dg/cpp0x/pr60249.C: Likewise.
* g++.dg/cpp0x/variadic-ex10.C: Likewise.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/cpp0x/variadic74.C: Likewise.
* g++.dg/parse/error10.C: Likewise.
* g++.dg/parse/error15.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/template/crash106.C: Likewise.
* g++.dg/template/crash89.C: Likewise.
* g++.dg/template/nontype7.C: Likewise.
* g++.dg/template/void3.C: Likewise.
* g++.dg/template/void7.C: Likewise.

/libstdc++-v3
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/26_numerics/random/linear_congruential_engine/
requirements/non_uint_neg.cc: Adjust for parser change.
* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
requirements/non_uint_neg.cc: Likewise.

From-SVN: r213952