1. 24 Sep, 2016 2 commits
  2. 23 Sep, 2016 38 commits
    • lang.opt, [...]: New flag -fdec-static. · 34d567d1
      2016-09-23  Fritz Reese  <fritzoreese@gmail.com>
      
      	gcc/fortran/
      	* lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
      	* options.c (set_dec_flags): Set -fdec-static with -fdec.
      	* gfortran.h (symbol_attribute): New attribute automatic.
      	* gfortran.h (gfc_add_automatic): New prototype.
      	* match.h (gfc_match_automatic, gfc_match_static): New functions.
      	* decl.c (gfc_match_automatic, gfc_match_static): Ditto.
      	* symbol.c (gfc_add_automatic): Ditto.
      	* decl.c (match_attr_spec): Match AUTOMATIC and STATIC decls.
      	* parse.c (decode_specification_statement, decode_statement): Ditto.
      	* resolve.c (apply_default_init_local, resolve_fl_variable_derived,
      	resolve_symbol): Support for automatic attribute.
      	* symbol.c (check_conflict, gfc_copy_attr, gfc_is_var_automatic):
      	Ditto.
      	* trans-decl.c (gfc_finish_var_decl): Ditto.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_static_1.f90, dec_static_2.f90, dec_static_3.f90,
      	dec_static_4.f90: New testcases.
      
      From-SVN: r240458
      Fritz Reese committed
    • re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO)) · 4a8d4422
      2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/48298
      	* io/inquire.c (inquire_via_unit): Adjust error check for the
      	two possible internal unit KINDs.
      	* io/io.h: Adjust defines for is_internal_unit and
      	is_char4_unit. (gfc_unit): Add internal unit data to structure.
      	(get_internal_unit): Change declaration to set_internal_unit.
      	(free_internal_unit): Change name to stash_internal_unit_number.
      	(get_unique_unit_number): Adjust parameter argument.
      	Define IOPARM_DT_HAS_UDTIO. (gfc_saved_unit): New structure.
      	* io/list_read.c (next_char_internal): Use is_char4_unit.
      	* io/open.c (st_open): Adjust call to get_unique_unit_number.
      	* io/transfer.c (write_block): Use is_char4_unit.
      	(data_transfer_init): Update check for unit numbers.
      	(st_read_done): Free the various allocated memories used for the
      	internal units and stash the negative unit number and pointer to unit
      	structure to allow reuse. (st_write_done): Likewise stash the freed
      	unit.
      	* io/unit.c: Create a fixed size buffer of 16 gfc_saved_unit's to use
      	as a stack to save newunit unit numbers and unit structure for reuse.
      	(get_external_unit): Change name to get_gfc_unit to better
      	reflect what it does. (find_unit): Change call to get_gfc_unit.
      	(find_or_create_unit): Likewise. (get_internal_unit): Change
      	name to set_internal_unit. Move internal unit from the dtp
      	structure to the gfc_unit structure so that it can be passed to
      	child I/O statements through the UNIT.
      	(free_internal_unit): Change name to stash_internal_unit_number.
      	Push the common.unit number onto the newunit stack, saving it
      	for possible reuse later. (get_unit): Set the internal unit
      	KIND. Use get_unique_unit_number to get a negative unit number
      	for the internal unit. Use get_gfc_unit to get the unit structure
      	and use set_internal_unit to initialize it.
      	(init_units): Initialize the newunit stack.
      	(get_unique_unit_number): Check the stack for an available unit
      	number and use it. If none there get the next most negative
      	number. (close_units): Free any unit structures pointed to from the save
      	stack.
      
      2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/48298
      	* gfortran.h (gfc_dt): Add *udtio.
      	* ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit
      	25. Add IOPARM_dt_dtio bit to common flags.
      	* resolve.c (resolve_transfer): Set dt->udtio to expression.
      	* io.c (gfc_match_inquire): Adjust error message for internal
      	unit KIND.
      	* libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4,
      	GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT.
      	* trans-io.c (build_dt): Set common_unit to reflect the KIND of
      	the internal unit. Set mask bit for presence of dt->udtio.
      
      2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/48298
      	* gfortran.dg/negative_unit_check.f90: Update test.
      	* gfortran.dg/dtio_14.f90: New test.
      
      From-SVN: r240456
      Jerry DeLisle committed
    • rs6000.md (cmpmemsi): New define_expand. · 9f38dde2
      	* config/rs6000/rs6000.md (cmpmemsi): New define_expand.
      	* config/rs6000/rs6000.c (expand_block_compare): New function used by
      	cmpmemsi pattern to do builtin expansion of memcmp ().
      	(compute_current_alignment): Add helper function for
      	expand_block_compare used to compute alignment as the compare proceeds.
      	(select_block_compare_mode): Used by expand_block_compare to select
      	the mode used for reading the next chunk of bytes in the compare.
      	(do_load_for_compare): Used by expand_block_compare to emit the load
      	insns for the compare.
      	(rs6000_emit_dot_insn): Moved this function to avoid a forward
      	reference from expand_block_compare ().
      	* config/rs6000/rs6000-protos.h (expand_block_compare): Add a
      	prototype for this function.
      	* config/rs6000/rs6000.opt (mblock-compare-inline-limit): Add a new
      	target option for controlling how much code inline expansion of
      	memcmp() will be allowed to generate.
      
      From-SVN: r240455
      Aaron Sawdey committed
    • S/390: Fix hotpatch test cases. · 90ef45cb
      The attached patch fixes some dg-error tests that were broken since
      the recent change of the error location.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/s390/hotpatch-compile-1.c: Fixed dg-error test.
      	* gcc.target/s390/hotpatch-compile-2.c: Likewise.
      	* gcc.target/s390/hotpatch-compile-3.c: Likewise.
      	* gcc.target/s390/hotpatch-compile-4.c: Likewise.
      	* gcc.target/s390/hotpatch-compile-5.c: Likewise.
      	* gcc.target/s390/hotpatch-compile-6.c: Likewise.
      	* gcc.target/s390/hotpatch-compile-14.c: Likewise.
      
      From-SVN: r240454
      Dominik Vogt committed
    • compiler: better abstraction layer for diagnostics. · 56bafc49
          
          Introduce an abstraction layer for reporting diagnostics, so as to avoid
          directly using the native GCC interfaces such as "error_at",
          "warning_at", "open_quote", "close_quote", etc.  The new interfaces have
          the same look and feel as the GCC equivalents, but make calls into
          back-end functions to allow the back end to select the proper final
          reporting routine.
          
          Reviewed-on: https://go-review.googlesource.com/29191
      
      	* go-gcc-diagnostics.cc: New file.
      	* go-location.h (Location): Remove operator source_location.  Add
      	operator==.
      	* go-system.h: #include <sstream>.
      	* Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
      	go/go-gcc-diagnostics.o.
      	(CFLAGS-go/go-gcc-diagnostics.o): New variable.
      
      From-SVN: r240453
      Than McIntosh committed
    • hooks.c (hook_bool_bool_false, [...]): For arguments with ATTRIBUTE_UNUSED... · 34a594e8
      	* hooks.c (hook_bool_bool_false, hook_bool_bool_gcc_optionsp_false,
      	hook_bool_mode_false, hook_bool_mode_true,
      	hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
      	hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_const_rtx_insn_const_rtx_insn_true,
      	hook_bool_mode_uhwi_false, hook_void_FILEptr_constcharptr,
      	hook_bool_FILEptr_rtx_false, hook_bool_gsiptr_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	default_can_output_mi_thunk_no_vcall, hook_int_uint_mode_1,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_int_rtx_0, hook_int_rtx_bool_0, hook_void_tree,
      	hook_void_constcharptr, hook_void_tree_treeptr, hook_void_int_int,
      	hook_bool_tree_false, hook_bool_const_tree_false, hook_bool_tree_true,
      	hook_bool_const_tree_true, hook_bool_tree_tree_false,
      	hook_bool_tree_tree_true, hook_bool_tree_bool_false,
      	hook_bool_rtx_insn_true, hook_bool_rtx_false,
      	hook_bool_uintp_uintp_false,
      	hook_bool_rtx_mode_int_int_intp_bool_false, hook_rtx_rtx_null,
      	hook_rtx_tree_int_null, hook_uint_mode_0,
      	hook_constcharptr_const_tree_null, hook_tree_tree_int_treep_bool_null,
      	hook_tree_tree_tree_null, hook_tree_tree_tree_tree_null,
      	hook_constcharptr_const_rtx_insn_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null,
      	hook_tree_const_tree_null, hook_bool_rtx_insn_int_false,
      	hook_void_rtx_insn_int, hook_void_gcc_optionsp): For arguments with
      	ATTRIBUTE_UNUSED, remove parameter name as well as ATTRIBUTE_UNUSED.
      
      From-SVN: r240452
      Jakub Jelinek committed
    • re PR go/77701 (suspicious code in go/go-gcc.cc) · fdbda43d
      	PR go/77701
      	* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
      	to pass arguments in the correct order.
      
      From-SVN: r240451
      Chris Manghane committed
    • re PR testsuite/77713 (gcc.dg/tree-ssa/builtin-sprintf.c compilation failed to produce executable) · e0535922
      gcc/testsuite/ChangeLog:
      
      	PR testsuite/77713
      	* gcc.dg/tree-ssa/builtin-sprintf.c (test_e_long_double): Avoid
      	assuming long double is bigger than double.
      
      From-SVN: r240450
      Martin Sebor committed
    • Implement P0138R2, C++17 construction rules for enum class values · d664d76d
      	Implement P0138R2, C++17 construction rules for enum class values
      	* cp-tree.h (is_direct_enum_init): Declare.
      	* decl.c (is_direct_enum_init): New function.
      	(reshape_init): Use it.
      	* typeck.c (convert_for_assignment): Likewise.
      
      	* g++.dg/cpp1z/direct-enum-init1.C: New test.
      
      From-SVN: r240449
      Jakub Jelinek committed
    • Make-lang.in (check-c++1z): Pass RUNTESTFLAGS down to make check-g++. · 24cae8cb
      	* Make-lang.in (check-c++1z): Pass RUNTESTFLAGS down to
      	make check-g++.
      
      From-SVN: r240448
      Jakub Jelinek committed
    • Avoid reallocation for basic_string::clear() · 13190419
      	PR libstdc++/56166
      	PR libstdc++/77582
      	* include/bits/basic_string.h (basic_string::clear()): Drop reference
      	and use empty rep.
      	* include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
      	Likewise.
      	* testsuite/21_strings/basic_string/56166.cc: New.
      	* testsuite/ext/vstring/modifiers/clear/56166.cc: New.
      
      From-SVN: r240447
      Jonathan Wakely committed
    • Optimize truncating a basic_string · a922c5ff
      	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
      	(basic_string::erase(size_type, size_type)): Add fast path for
      	truncating the string, by calling _M_set_length directly.
      	(basic_string::erase(__const_iterator, __const_iterator)): Likewise.
      	* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
      	(basic_string::resize(size_type, _CharT)): Likewise.
      
      From-SVN: r240446
      Jonathan Wakely committed
    • vec.h (vNULL): Extend comment to say = vNULL initialization isn't needed for static vars. · b862552d
      	* vec.h (vNULL): Extend comment to say = vNULL initialization
      	isn't needed for static vars.
      
      From-SVN: r240445
      Jakub Jelinek committed
    • sel-sched-ir.c (sel_global_bb_info, [...]): Remove unnecessary = vNULL… · 7de76362
      sel-sched-ir.c (sel_global_bb_info, [...]): Remove unnecessary = vNULL initialization of file scope vec.
      
      	* sel-sched-ir.c (sel_global_bb_info, sel_region_bb_info,
      	loop_nests, s_i_d, last_added_blocks): Remove unnecessary
      	= vNULL initialization of file scope vec.
      	* passes.c (pass_tab, enabled_pass_uid_range_tab,
      	disabled_pass_uid_range_tab): Likewise.
      	* haifa-sched.c (sched_luids, h_i_d): Likewise.
      	* tree-chkp-opt.c (check_infos): Likewise.
      	* sel-sched.c (vec_av_set, vec_temp_moveop_nops): Likewise.
      c/
      	* c-parser.c (incomplete_record_decls): Remove unnecessary
      	= vNULL initialization of file scope vec.
      cp/
      	* constexpr.c (call_stack): Remove unnecessary
      	= vNULL initialization of file scope vec.
      
      From-SVN: r240444
      Jakub Jelinek committed
    • vec.h (vnull::operator vec): Add constexpr keyword for C++11 and later. · 3d1ba08f
      	* vec.h (vnull::operator vec): Add constexpr keyword for
      	C++11 and later.
      
      From-SVN: r240443
      Jakub Jelinek committed
    • Fix gcc.dg/tree-ssa/builtin-sprintf-warn-4.c · 3b31f720
      gcc/testsuite/ChangeLog
      	PR preprocessor/77672
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c (test): Update
      	expected multiline output from first warning to reflect change
      	in r240434.
      
      From-SVN: r240442
      David Malcolm committed
    • builtin-sprintf-warn-2.c: Fix xfail pattern. · 592459bf
      2016-09-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/testsuite/
          * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Fix xfail pattern.
      
      From-SVN: r240441
      Thomas Preud'homme committed
    • Fix incorrect file in ChangeLog on previous commit · b571e480
      gcc/
      	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Add call
      	to duplicate_ssa_name_ptr_info.
      
      From-SVN: r240440
      Matthew Fortune committed
    • Ensure points-to information is maintained for prefetch. · ed481942
      gcc/
              PR tree-optimization/77654
              * tree-ssa-alias.c (issue_prefetch_ref): Add call
              to duplicate_ssa_name_ptr_info.
      
      From-SVN: r240439
      Doug Gilmore committed
    • re PR testsuite/77411 (object-size-9.c -fpic -m32 failure) · 0af06385
      2016-09-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
                  Tom de Vries  <tom@codesourcery.com>
      
              PR testsuite/77411
              * c-c++-common/ubsan/object-size-9.c: Call __builtin_exit in C++.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r240437
      Bernd Edlinger committed
    • atomic-12.c: Skip for C++1z. · 8f01b67a
      	* c-c++-common/gomp/atomic-12.c: Skip for C++1z.
      	* c-c++-common/gomp/atomic-13.c: Likewise.
      	* c-c++-common/gomp/atomic-14.c: Likewise.
      	* c-c++-common/pr60439.c: Remove invalid code.
      	* g++.dg/expr/bitfield4.C: Robustify for C++1z.
      	* g++.dg/expr/bitfield5.C: Likewise.
      	* g++.dg/expr/bitfield6.C: Likewise.
      	* g++.dg/expr/bool1.C: Likewise.
      	* g++.dg/expr/bool3.C: Likewise.
      	* g++.dg/expr/lval3.C: Likewise.
      	* g++.dg/expr/lval4.C: Likewise.
      	* g++.old-deja/g++.jason/bool5.C: Likewise.
      
      From-SVN: r240436
      Marek Polacek committed
    • * configure.ac: Define HAVE_MEMALIGN for newlib. · 7be8d663
      From-SVN: r240435
      Jason Merrill committed
    • Provide location information for terminator characters (PR preprocessor/77672) · bbd6fcf3
      substring_loc::get_location currently fails for the final terminator
      character in a STRING_CST from the C frontend, so that format_warning_va
      falls back to using the location of the string as a whole.
      
      This patch tweaks things [1] so that we use the final closing quote
      as the location of the terminator character, as requested in
      PR preprocessor/77672.
      
      [1] specifically, cpp_interpret_string_1.
      
      gcc/ChangeLog:
      	PR preprocessor/77672
      	* input.c (selftest::test_lexer_string_locations_simple): Update
      	test to expect location information of the terminator character
      	at the location of the final closing quote.
      	(selftest::test_lexer_string_locations_hex): Likewise.
      	(selftest::test_lexer_string_locations_oct): Likewise.
      	(selftest::test_lexer_string_locations_letter_escape_1): Likewise.
      	(selftest::test_lexer_string_locations_letter_escape_2): Likewise.
      	(selftest::test_lexer_string_locations_ucn4): Likewise.
      	(selftest::test_lexer_string_locations_ucn8): Likewise.
      	(selftest::test_lexer_string_locations_u8): Likewise.
      	(selftest::test_lexer_string_locations_utf8_source): Likewise.
      	(selftest::test_lexer_string_locations_concatenation_1): Likewise.
      	(selftest::test_lexer_string_locations_concatenation_2): Likewise.
      	(selftest::test_lexer_string_locations_concatenation_3): Likewise.
      	(selftest::test_lexer_string_locations_macro): Likewise.
      	(selftest::test_lexer_string_locations_long_line): Likewise.
      
      gcc/testsuite/ChangeLog:
      	PR preprocessor/77672
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
      	(test_terminator_location): New function.
      
      libcpp/ChangeLog:
      	PR preprocessor/77672
      	* charset.c (cpp_interpret_string_1): Add a source_range for the
      	NUL-terminator, using the location of the trailing quote of the
      	final string.
      
      From-SVN: r240434
      David Malcolm committed
    • Really commit testcase intended for r240230. · 30faeb0f
      2016-09-23  Fritz Reese  <fritzoreese@gmail.com>
      
      Really commit testcase intended for r240230.
      
      	* gcc/testsuite/gfortran.dg/dec_structure_15.f90: Really commit.
      
      From-SVN: r240433
      Fritz Reese committed
    • tree-ssa-sccvn.c (visit_reference_op_call): Value number virtual definition to virtual use if... · 113d06a4
      2016-09-23  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.c (visit_reference_op_call): Value number
      	virtual definition to virtual use if the call devirtualizes
      	to a const or pure function.
      	(visit_use): Also visit calls we can devirtualize to a
      	const or pure function.
      
      	* gcc.dg/tree-ssa/ssa-fre-56.c: New testcase.
      
      From-SVN: r240431
      Richard Biener committed
    • re PR tree-optimization/77697 (suspicious code in tree-ssa-forwprop.c) · 26bedff5
      2016-09-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77697
      	* tree-ssa-forwprop.c (defcodefor_name): Remove bogus code,
      	signal error if we have sth ternary or unhandled.
      
      From-SVN: r240430
      Richard Biener committed
    • Revert bogus dg-extract-results.sh change · 643e0854
      	* dg-extract-results.sh: Revert bogus change.
      
      From-SVN: r240429
      Rainer Orth committed
    • [PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics. · cab9e1df
      testsuite/
      2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable
      	-march=armv8.2-a+fp16 when supported by the hardware.
      	* gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New.
      	* gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc:
      	Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined.  Add
      	semi-colons to a macro invocations.
      	* gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.  Also fix some white-space.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.  Also fix some long lines and white-space.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.  Also fix some long lines and white-space.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16
      	tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
      	defined.
      	* gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c:
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c:
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c:
      	Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c:
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise.
      	* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c:
      	Likewise.
      
      From-SVN: r240427
      Matthew Wahab committed
    • [PATCH 16/17][ARM] Add tests for VFP FP16 ACLE instrinsics. · da9b2e69
      testsuite/
      2016-09-23  Jiong Wang  <jiong.wang@arm.com>
      	    Matthew Wahab  <matthew.wahab@arm.com>
      
      	* gcc.target/aarch64/advsimd-intrinsics/binary_scalar_op.inc: New.
      	* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: New.
      	* gcc.target/aarch64/advsimd-intrinsics/ternary_scalar_op.inc: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vabsh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vaddh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s32_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u32_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s32_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u32_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_s32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvth_u32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u32_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vdivh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmah_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vfmsh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmaxnmh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vminnmh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vmulh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vnegh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndah_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndih_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndmh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndnh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndph_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vrndxh_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vsqrth_f16_1.c: New.
      	* gcc.target/aarch64/advsimd-intrinsics/vsubh_f16_1.c: New.
      
      
      Co-Authored-By: Matthew Wahab <matthew.wahab@arm.com>
      
      From-SVN: r240426
      Jiong Wang committed
    • [PATCH 15/17][ARM] Add tests for ARMv8.2-A FP16 support. · 785cf02f
      testsuite/
      2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* gcc.target/arm/armv8_2-fp16-neon-1.c: New.
      	* gcc.target/arm/armv8_2-fp16-scalar-1.c: New.
      	* gcc.target/arm/armv8_2-fp16-scalar-2.c: New.
      	* gcc.target/arm/attr-fp16-arith-1.c: Add a test of intrinsics
      	support.
      
      From-SVN: r240425
      Matthew Wahab committed
    • [PATCH 14/17][ARM] Add NEON FP16 instrinsics. · de955a69
      gcc/
      2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm_neon.h (vabd_f16): New.
      	(vabdq_f16): New.
      	(vabs_f16): New.
      	(vabsq_f16): New.
      	(vadd_f16): New.
      	(vaddq_f16): New.
      	(vcage_f16): New.
      	(vcageq_f16): New.
      	(vcagt_f16): New.
      	(vcagtq_f16): New.
      	(vcale_f16): New.
      	(vcaleq_f16): New.
      	(vcalt_f16): New.
      	(vcaltq_f16): New.
      	(vceq_f16): New.
      	(vceqq_f16): New.
      	(vceqz_f16): New.
      	(vceqzq_f16): New.
      	(vcge_f16): New.
      	(vcgeq_f16): New.
      	(vcgez_f16): New.
      	(vcgezq_f16): New.
      	(vcgt_f16): New.
      	(vcgtq_f16): New.
      	(vcgtz_f16): New.
      	(vcgtzq_f16): New.
      	(vcle_f16): New.
      	(vcleq_f16): New.
      	(vclez_f16): New.
      	(vclezq_f16): New.
      	(vclt_f16): New.
      	(vcltq_f16): New.
      	(vcltz_f16): New.
      	(vcltzq_f16): New.
      	(vcvt_f16_s16): New.
      	(vcvt_f16_u16): New.
      	(vcvt_s16_f16): New.
      	(vcvt_u16_f16): New.
      	(vcvtq_f16_s16): New.
      	(vcvtq_f16_u16): New.
      	(vcvtq_s16_f16): New.
      	(vcvtq_u16_f16): New.
      	(vcvta_s16_f16): New.
      	(vcvta_u16_f16): New.
      	(vcvtaq_s16_f16): New.
      	(vcvtaq_u16_f16): New.
      	(vcvtm_s16_f16): New.
      	(vcvtm_u16_f16): New.
      	(vcvtmq_s16_f16): New.
      	(vcvtmq_u16_f16): New.
      	(vcvtn_s16_f16): New.
      	(vcvtn_u16_f16): New.
      	(vcvtnq_s16_f16): New.
      	(vcvtnq_u16_f16): New.
      	(vcvtp_s16_f16): New.
      	(vcvtp_u16_f16): New.
      	(vcvtpq_s16_f16): New.
      	(vcvtpq_u16_f16): New.
      	(vcvt_n_f16_s16): New.
      	(vcvt_n_f16_u16): New.
      	(vcvtq_n_f16_s16): New.
      	(vcvtq_n_f16_u16): New.
      	(vcvt_n_s16_f16): New.
      	(vcvt_n_u16_f16): New.
      	(vcvtq_n_s16_f16): New.
      	(vcvtq_n_u16_f16): New.
      	(vfma_f16): New.
      	(vfmaq_f16): New.
      	(vfms_f16): New.
      	(vfmsq_f16): New.
      	(vmax_f16): New.
      	(vmaxq_f16): New.
      	(vmaxnm_f16): New.
      	(vmaxnmq_f16): New.
      	(vmin_f16): New.
      	(vminq_f16): New.
      	(vminnm_f16): New.
      	(vminnmq_f16): New.
      	(vmul_f16): New.
      	(vmul_lane_f16): New.
      	(vmul_n_f16): New.
      	(vmulq_f16): New.
      	(vmulq_lane_f16): New.
      	(vmulq_n_f16): New.
      	(vneg_f16): New.
      	(vnegq_f16): New.
      	(vpadd_f16): New.
      	(vpmax_f16): New.
      	(vpmin_f16): New.
      	(vrecpe_f16): New.
      	(vrecpeq_f16): New.
      	(vrnd_f16): New.
      	(vrndq_f16): New.
      	(vrnda_f16): New.
      	(vrndaq_f16): New.
      	(vrndm_f16): New.
      	(vrndmq_f16): New.
      	(vrndn_f16): New.
      	(vrndnq_f16): New.
      	(vrndp_f16): New.
      	(vrndpq_f16): New.
      	(vrndx_f16): New.
      	(vrndxq_f16): New.
      	(vrsqrte_f16): New.
      	(vrsqrteq_f16): New.
      	(vrecps_f16): New.
      	(vrecpsq_f16): New.
      	(vrsqrts_f16): New.
      	(vrsqrtsq_f16): New.
      	(vsub_f16): New.
      	(vsubq_f16): New.
      
      From-SVN: r240424
      Matthew Wahab committed
    • [PATCH 13/17][ARM] Add VFP FP16 instrinsics. · 29c3d574
      gcc/
      2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config.gcc (extra_headers): Add arm_fp16.h
      	* config/arm/arm_fp16.h: New.
      	* config/arm/arm_neon.h: Include "arm_fp16.h".
      
      From-SVN: r240423
      Matthew Wahab committed
    • [PATCH 12/17][ARM] Add builtins for NEON FP16 intrinsics. · 0768b127
      2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm_neon_builtins.def (vadd): New (v8hf, v4hf
      	variants).
      	(vmulf): New (v8hf, v4hf variants).
      	(vfma): New (v8hf, v4hf variants).
      	(vfms): New (v8hf, v4hf variants).
      	(vsub): New (v8hf, v4hf variants).
      	(vcage): New (v8hf, v4hf variants).
      	(vcagt): New (v8hf, v4hf variants).
      	(vcale): New (v8hf, v4hf variants).
      	(vcalt): New (v8hf, v4hf variants).
      	(vceq): New (v8hf, v4hf variants).
      	(vcgt): New (v8hf, v4hf variants).
      	(vcge): New (v8hf, v4hf variants).
      	(vcle): New (v8hf, v4hf variants).
      	(vclt): New (v8hf, v4hf variants).
      	(vceqz): New (v8hf, v4hf variants).
      	(vcgez): New (v8hf, v4hf variants).
      	(vcgtz): New (v8hf, v4hf variants).
      	(vcltz): New (v8hf, v4hf variants).
      	(vclez): New (v8hf, v4hf variants).
      	(vabd): New (v8hf, v4hf variants).
      	(vmaxf): New (v8hf, v4hf variants).
      	(vmaxnm): New (v8hf, v4hf variants).
      	(vminf): New (v8hf, v4hf variants).
      	(vminnm): New (v8hf, v4hf variants).
      	(vpmaxf): New (v4hf variant).
      	(vpminf): New (v4hf variant).
      	(vpadd): New (v4hf variant).
      	(vrecps): New (v8hf, v4hf variants).
      	(vrsqrts): New (v8hf, v4hf variants).
      	(vabs): New (v8hf, v4hf variants).
      	(vneg): New (v8hf, v4hf variants).
      	(vrecpe): New (v8hf, v4hf variants).
      	(vrnd): New (v8hf, v4hf variants).
      	(vrnda): New (v8hf, v4hf variants).
      	(vrndm): New (v8hf, v4hf variants).
      	(vrndn): New (v8hf, v4hf variants).
      	(vrndp): New (v8hf, v4hf variants).
      	(vrndx): New (v8hf, v4hf variants).
      	(vrsqrte): New (v8hf, v4hf variants).
      	(vmul_lane): Add v4hf and v8hf variants.
      	(vmul_n): Add v4hf and v8hf variants.
      	(vext): New (v8hf, v4hf variants).
      	(vcvts): New (v8hi, v4hi variants).
      	(vcvts): New (v8hf, v4hf variants).
      	(vcvtu): New (v8hi, v4hi variants).
      	(vcvtu): New (v8hf, v4hf variants).
      	(vcvts_n): New (v8hf, v4hf variants).
      	(vcvtu_n): New (v8hi, v4hi variants).
      	(vcvts_n): New (v8hi, v4hi variants).
      	(vcvtu_n): New (v8hf, v4hf variants).
      	(vbsl): New (v8hf, v4hf variants).
      	(vcvtas): New (v8hf, v4hf variants).
      	(vcvtau): New (v8hf, v4hf variants).
      	(vcvtms): New (v8hf, v4hf variants).
      	(vcvtmu): New (v8hf, v4hf variants).
      	(vcvtns): New (v8hf, v4hf variants).
      	(vcvtnu): New (v8hf, v4hf variants).
      	(vcvtps): New (v8hf, v4hf variants).
      	(vcvtpu): New (v8hf, v4hf variants).
      
      From-SVN: r240422
      Matthew Wahab committed
    • [PATCH 11/17][ARM] Add builtins for VFP FP16 intrinsics. · 66e31c3d
      gcc/
      2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-builtins.c (hf_UP): New.
      	(si_UP): New.
      	(vfp_builtin_data): New.  Update comment.
      	(enum arm_builtins): Include "arm_vfp_builtins.def".
      	(ARM_BUILTIN_VFP_PATTERN_START): New.
      	(arm_init_vfp_builtins): New.
      	(arm_init_builtins): Add arm_init_vfp_builtins.
      	(arm_expand_vfp_builtin): New.
      	(arm_expand_builtins): Update for arm_expand_vfp_builtin.  Fix
      	long line.
      	* config/arm/arm_vfp_builtins.def: New file.
      	* config/arm/t-arm (arm.o): Add arm_vfp_builtins.def.
      	(arm-builtins.o): Likewise.
      
      From-SVN: r240421
      Matthew Wahab committed
    • Drop TREE_OVERFLOW · 1e401340
      gcc/ChangeLog:
      
      2016-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR ipa/77677
      	* ipa-cp.c (propagate_vr_accross_jump_function): Drop TREE_OVERFLOW
      	from constant while creating value range.
      
      gcc/testsuite/ChangeLog:
      
      2016-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR ipa/77677
      	* gcc.dg/torture/pr77677.c: New test.
      
      From-SVN: r240420
      Kugan Vivekanandarajah committed
    • trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Use the old caf- interface where possible. · 8ed3eeac
      gcc/fortran/ChangeLog:
      
      2016-09-23  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Use the old caf-
      	interface where possible.
      
      gcc/testsuite/ChangeLog:
      
      2016-09-23  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* gfortran.dg/coarray_lib_comm_1.f90: Using the old caf-interface
      	here now.
      
      From-SVN: r240419
      Andre Vehreschild committed
    • [PATCH][IRA]Initialize ira_use_lra_p early by moving the initialization into · 23427d51
      ira_init_once ().
      
      ira_use_lra_p previously will be used unintialized in backend_init_target ().
      
      gcc/
      
      2016-09-23  Renlin Li  <renlin.li@arm.com>
      
      	* ira.c (ira): Move ira_use_lra_p initialization code to ...
      	(ira_init_once): Here.
      
      From-SVN: r240418
      Renlin Li committed