Commit Graph

132031 Commits

Author SHA1 Message Date
Alexander Ivchenko 44f5982995 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
2014-08-18 11:07:27 +00:00
Alexander Ivchenko 4769c826c6 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
2014-08-18 11:04:38 +00:00
Alexander Ivchenko 39012b09a2 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
2014-08-18 11:02:31 +00:00
Alexander Ivchenko 3bcf35e76f 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
2014-08-18 10:59:46 +00:00
Alexander Ivchenko 6f108bc620 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
2014-08-18 10:50:35 +00:00
Alexander Ivchenko 0148f0b699 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
2014-08-18 10:47:48 +00:00
Alexander Ivchenko e0aacde412 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
2014-08-18 10:45:23 +00:00
Yury Gribov 87d1d65af7 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
2014-08-18 08:23:47 +00:00
Kugan Vivekanandarajah 495e77b35b 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
2014-08-18 06:28:35 +00:00
GCC Administrator 86cde5ecfd Daily bump.
From-SVN: r214083
2014-08-18 00:17:39 +00:00
Segher Boessenkool 44c3a8bb73 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
2014-08-18 01:39:53 +02:00
Segher Boessenkool e7ee9a588e 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
2014-08-18 01:38:16 +02:00
Segher Boessenkool 2c7b41df9d 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
2014-08-18 01:36:53 +02:00
Segher Boessenkool 10802beec7 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
2014-08-18 01:35:30 +02:00
Tobias Burnus 19fe965886 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
2014-08-17 18:42:19 +02:00
Tobias Burnus 0522a84e51 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
2014-08-17 18:40:04 +02:00
Marek Polacek 544c27ba10 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
2014-08-17 16:19:43 +00:00
Andrew Pinski 387d13bc7b 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
2014-08-16 22:20:42 -07:00
GCC Administrator 3b3ff585ce Daily bump.
From-SVN: r214072
2014-08-17 00:16:25 +00:00
Roman Gareev b860c92e14 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
2014-08-16 21:18:24 +00:00
Gerald Pfeifer 3655abdd6b * wide-int.h (generic_wide_int): Declare as class instead of struct.
From-SVN: r214068
2014-08-16 19:27:54 +00:00
John David Anglin 3ba07ad320 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
2014-08-16 16:36:33 +00:00
Manuel López-Ibáñez 5f05dc5550 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
2014-08-16 14:19:38 +00:00
Paolo Carlini 9fec7f592f 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
2014-08-16 10:07:41 +00:00
Jan Hubicka 4d7cf10d21 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
2014-08-16 09:10:23 +00:00
Ian Lance Taylor 1a985ca83a compiler: Pass initialization of frame temporary to backend.
From-SVN: r214057
2014-08-16 00:54:32 +00:00
GCC Administrator 9fa05a40f6 Daily bump.
From-SVN: r214056
2014-08-16 00:18:18 +00:00
Oleg Endo a03b75b1d2 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
2014-08-15 22:55:47 +00:00
Jason Merrill 2b14490e73 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
2014-08-15 18:27:06 -04:00
Ian Lance Taylor ab36d98dd2 runtime: Don't get confused if m changes during runtime_gc.
From-SVN: r214048
2014-08-15 22:16:55 +00:00
Jason Merrill 5802281eb6 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
2014-08-15 17:59:40 -04:00
Thomas Koenig 5b33845084 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
2014-08-15 21:19:33 +00:00
Jason Merrill 33cb682bce 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
2014-08-15 13:27:58 -04:00
Tobias Burnus 9de8e7afa4 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
2014-08-15 18:33:08 +02:00
Manuel López-Ibáñez 86d2cad906 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
2014-08-15 16:27:38 +00:00
Paolo Carlini 8add4868b5 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
2014-08-15 16:23:47 +00:00
Manuel López-Ibáñez 598fc08518 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
2014-08-15 16:14:50 +00:00
Jonathan Wakely 2ce8cb99a6 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
2014-08-15 16:22:44 +01:00
Manuel López-Ibáñez 8e54f6d3ba 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
2014-08-15 15:10:15 +00:00
Vladimir Makarov 363785f63e 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
2014-08-15 14:16:56 +00:00
Manuel López-Ibáñez 592f32fa9b 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
2014-08-15 14:07:19 +00:00
Richard Biener ebd7d91067 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
2014-08-15 12:54:28 +00:00
Ilya Tocar 275be1dac2 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
2014-08-15 16:47:41 +04:00
Ilya Verbin f613bc0fbe MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214017
2014-08-15 12:33:03 +00:00
Richard Biener 09ad9c71aa 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
2014-08-15 11:42:01 +00:00
Ilya Tocar 5f75acf4a4 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214012
2014-08-15 14:35:03 +04:00
Jakub Jelinek 7258a25765 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
2014-08-15 12:23:13 +02:00
Kyrylo Tkachov 2c274197e9 [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
2014-08-15 09:02:27 +00:00
Richard Biener 4b5337e60e 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
2014-08-15 07:51:35 +00:00
Richard Biener 6e2028ff0f 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
2014-08-15 07:50:40 +00:00