1. 09 Jun, 2017 6 commits
    • Reverted r249005 until PowerPC and AIX issues sorted. · 903c723b
      From-SVN: r249050
      Tamar Christina committed
    • hard-reg-1-nov.c (mpx_test): Use "esp" instead of "rsp" for -m32. · 48e69247
      	* gcc.target/i386/mpx/hard-reg-1-nov.c (mpx_test): Use "esp"
      	instead of "rsp" for -m32.
      	* gcc.target/i386/mpx/hard-reg-2-lbv.c: Require sse2_runtime effective
      	target, add -msse2 to dg-options.
      	* gcc.target/i386/mpx/hard-reg-2-nov.c: Likewise.
      	* gcc.target/i386/mpx/hard-reg-2-ubv.c: Likewise.
      
      From-SVN: r249049
      Jakub Jelinek committed
    • Come up with selftests for predict.c. · d8838217
      2017-06-09  Martin Liska  <mliska@suse.cz>
      
      	* predict.c (struct branch_predictor): New struct.
      	(test_prediction_value_range): New test.
      	(predict_c_tests): New function.
      	* selftest-run-tests.c (selftest::run_tests): Run the function.
      	* selftest.h: Declare new tests.
      
      From-SVN: r249048
      Martin Liska committed
    • compiler: additional lvalue/rvalue context fixes · 1ee77fbd
          
          Fix lvalue/rvalue context mixup Set_and_use_temporary_expression's
          do_get_backend() method. Enhance Mark_lvalue_varexprs to handle
          conversions and temporary reference expressions, since occasionally
          the front end emits code such as "deref(conv(tempref)) = ...".
          
          Reviewed-on: https://go-review.googlesource.com/45141
      
      From-SVN: r249047
      Ian Lance Taylor committed
    • rs6000: Don't add an immediate to r0 (PR80966) · 120ef1d5
      If there is a large stack frame the rs6000 -fstack-limit code would
      calculate the new stack pointer value using two insns (an addis and
      an addi), with r0 as temporary.  Such instructions do not exist.
      
      This patch changes add<mode>3 to expand using a different strategy in
      such cases; to FAIL if there is no way to do it (namely, if the source
      is r0 and there is no way to get a temporary reg); and it changes
      rs6000_emit_allocate_stack to assert gen_add3_insn did in fact emit
      instructions.
      
      
      	PR target/80966
      	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
      	gen_add3_insn did not fail.
      	* config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
      	r0, construct that number in a temporary reg and add that reg to r0.
      	If asked to put the result in r0 as well, fail.
      
      gcc/testsuite/
      	* gcc.target/powerpc/stack-limit.c: New testcase.
      
      From-SVN: r249046
      Segher Boessenkool committed
    • Daily bump. · ff670453
      From-SVN: r249045
      GCC Administrator committed
  2. 08 Jun, 2017 29 commits
    • rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_eqv. · 271be653
      [gcc]
      
      2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
      	for early expansion of vec_eqv.
      
      [gcc/testsuite]
      
      2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-char.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-float.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-int.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-short.c: New.
      
      From-SVN: r249040
      Will Schmidt committed
    • re PR c/81006 (ICE with zero-size array and #pragma omp task depend) · 8ab7005b
      	PR c/81006
      	* c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
      	to sizetype before size_binop.
      
      	* semantics.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
      	to sizetype before size_binop.
      
      	* c-c++-common/gomp/pr81006.c: New test.
      
      From-SVN: r249035
      Jakub Jelinek committed
    • libgo: update to 1.8.3 release · 20e96b48
          
          Reviewed-on: https://go-review.googlesource.com/45150
      
      From-SVN: r249033
      Ian Lance Taylor committed
    • re PR c++/81011 (ICE with #pragma omp task and inaccessible copy-constructor) · 34361776
      	PR c++/81011
      	* cp-gimplify.c (cxx_omp_finish_clause): When changing clause
      	to OMP_CLAUSE_SHARED, also clear OMP_CLAUSE_SHARED_FIRSTPRIVATE
      	and OMP_CLAUSE_SHARED_READONLY flags.
      
      	* g++.dg/gomp/pr81011.C: New test.
      
      From-SVN: r249031
      Jakub Jelinek committed
    • re PR middle-end/81005 (-fsanitize=null and -fsanitize=alignment doesn't check… · 0d05f685
      re PR middle-end/81005 (-fsanitize=null and -fsanitize=alignment doesn't check aggregate arguments of calls)
      
      	PR middle-end/81005
      	* ubsan.c (instrument_null): Avoid pointless code temporary.
      	(pass_ubsan::execute): Instrument aggregate arguments of calls.
      
      	* c-c++-common/ubsan/align-10.c: New test.
      	* c-c++-common/ubsan/null-13.c: New test.
      
      From-SVN: r249030
      Jakub Jelinek committed
    • compiler: lvalue context fixes in Unary_expression::do_get_backend · 3159d897
          
          A couple of the Backend::var_expression invocations in
          Unary_expression::do_get_backend were selecting "lvalue" context
          incorrectly (these var exprs were not in an assignment or LHS
          position); fix is to change back to "rvalue" context.
          
          Reviewed-on: https://go-review.googlesource.com/45136
      
      From-SVN: r249029
      Ian Lance Taylor committed
    • re PR target/81015 (Bad codegen for __builtin_clz(unsigned short)) · 2163b9bc
      	PR target/81015
      	Revert:
      	2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
      
      	PR target/59874
      	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
      	(*clzhi2): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/81015
      	* gcc.target/i386/pr59874-1.c (foo): Call __builtin_ctzs.
      	* gcc.target/i386/pr59874-2.c (foo): Call __builtin_clzs.
      	* gcc.target/i386/pr81015.c: New test.
      
      From-SVN: r249028
      Uros Bizjak committed
    • Remove NO_TRAMPOLINES · 73f49ad7
      2017-06-08  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.c-torture/compile/930506-2.c: Use dg-require-effective-target
      	trampolines instead of NO_TRAMPOLINES.
      	* gcc.c-torture/execute/20000822-1.c: Same.
      	* gcc.c-torture/execute/920428-2.c: Same.
      	* gcc.c-torture/execute/920501-7.c: Same.
      	* gcc.c-torture/execute/920612-2.c: Same.
      	* gcc.c-torture/execute/921017-1.c: Same.
      	* gcc.c-torture/execute/921215-1.c: Same.
      	* gcc.c-torture/execute/931002-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-2.c: Same.
      	* gcc.c-torture/execute/nestfunc-1.c: Same.
      	* gcc.c-torture/execute/nestfunc-2.c: Same.
      	* gcc.c-torture/execute/nestfunc-3.c: Same.
      	* gcc.c-torture/execute/nestfunc-5.c: Same.
      	* gcc.c-torture/execute/nestfunc-6.c: Same.
      	* gcc.c-torture/execute/pr24135.c: Same.
      	* gcc.dg/Wtrampolines.c: Same.
      	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
      	* gcc.dg/torture/stackalign/nested-5.c: Same.
      	* gcc.dg/torture/stackalign/nested-6.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-3.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-5.c: Same.
      	* gcc.dg/trampoline-1.c: Same.
      	* gcc.dg/tree-prof/pr44777.c: Same.
      	* gcc.target/i386/pr67770.c: Same.
      	* lib/gcc.exp (gcc_target_compile): Remove appending of
      	-DNO_TRAMPOLINES to additional_flags.
      	* lib/objc.exp (objc_target_compile): Same.
      
      From-SVN: r249027
      Tom de Vries committed
    • Fix no_trampolines test in check_effective_target_trampolines · b9835925
      2017-06-08  Tom de Vries  <tom@codesourcery.com>
      
      	* lib/target-supports.exp (check_effective_target_trampolines): Test for
      	'gcc,no_trampolines' instead of 'no_trampolines'.
      
      From-SVN: r249026
      Tom de Vries committed
    • predict.c (unlikely_executed_edge_p): Move ahead. · 5591f0dd
      	* predict.c (unlikely_executed_edge_p): Move ahead.
      	(probably_never_executed_edge_p): Use it.
      
      From-SVN: r249025
      Jan Hubicka committed
    • compiler: fix undefined symbol error with unexported method · dadcc51c
          
          When an interface I1 in an imported package has an unexported method,
          and is then embedded into another interface I2, in a different
          package, that has other methods, and a type T2 is converted to I2, we
          failed to ever define the required interface method table.  Naturally
          T2 must implement the unexported method, and must therefore either be
          defined in the same package as I1, or embed a type from that package.
          In this case the compiler was assuming that that package would define
          the interface method table, but of course, since I2 was not defined in
          that package, that did not happen.
          
          The fix is to only assume that the interface method table will be
          defined elsewhere in the case where T2 and I2 are defined in the same
          package.  The compiler ensures that all such interface method tables
          are created, in Gogo::build_interface_method_tables.  This requires
          knowing the package in which an interface type is defined, a simple
          tweak to the importer.
          
          Testing this revealed that the special case for stub methods created
          for the embedded unexported methods of T2 needs to be done for
          function declarations as it currently is for function definitions, so
          that the newly created interface method tables use the correct name.
          
          Testing that revealed that the code to determine the pkgpath symbol
          for such stub methods was wrong.  It assumed that one could call
          pkgpath_for_symbol on the pkgpath to get the pkgpath symbol.  Would
          that it twere so simple.  Instead, add a function to look up the
          package, which must be known, and fetch the pkgpath symbol.
          
          The test for this is https://golang.org/cl/45085.
          
          Reviewed-on: https://go-review.googlesource.com/45086
      
      From-SVN: r249024
      Ian Lance Taylor committed
    • re PR middle-end/79988 ([CHKP] ICE in tree check: accessed operand 5 of… · 77db6c15
      re PR middle-end/79988 ([CHKP] ICE in tree check: accessed operand 5 of call_expr with 4 operands in ix86_expand_builtin, at config/i386/i386.c:36851)
      
      
      2017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>
      
             PR middle-end/79988
             * tree-chkp.c (chkp_gimple_call_builtin_p): Remove
             gimple_call_builtin_p call.
      
      017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>
      
              PR middle-end/79988
              * gcc.target/i386/mpx/pr79988.c: New test.
      
      From-SVN: r249023
      Alexander Ivchenko committed
    • system.h (fancy_abort): Annotate by ATTRIBUTE_COLD. · e6026dc0
      
      	* system.h (fancy_abort): Annotate by ATTRIBUTE_COLD.
      	* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
      	rtl_check_failed_type2, rtl_check_failed_code1,
      	rtl_check_failed_code2, rtl_check_failed_code_mode,
      	rtl_check_failed_block_symbol, cwi_check_failed_bounds,
      	rtvec_check_failed_bounds, rtl_check_failed_flag,
      	_fatal_insn_not_found, _fatal_insn): Likewise.
      	* tree.h (tree_contains_struct_check_failed,
      	tree_check_failed, tree_not_check_failed,
      	tree_class_check_failed, tree_range_check_failed,
      	tree_not_class_check_failed, tree_int_cst_elt_check_failed,
      	tree_vec_elt_check_failed, phi_node_elt_check_failed,
      	tree_operand_check_failed, omp_clause_check_failed,
      	omp_clause_operand_check_failed, omp_clause_range_check_failed):
      	Likewise.
      
      	* cp-tree.h (lang_check_failed): Annotate by ATTRIBUTE_COLD.
      
      From-SVN: r249022
      Jan Hubicka committed
    • cgraph.c (cgraph_edge::maybe_hot_p): Do not check flag_branch_probabilities. · ee4e85b7
      
      	* cgraph.c (cgraph_edge::maybe_hot_p): Do not check
      	flag_branch_probabilities.
      	* ipa-inline.c (edge_badness): Likewise.
      	* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
      	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
      	* predict.c (maybe_hot_frequency_p): Likewise.
      	(probably_never_executed): Likewise.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (find_single_block_region): Likewise.
      	* tracer.c (tail_duplicate): Likewise.
      
      From-SVN: r249020
      Jan Hubicka committed
    • opts.c (finish_options): x_flag_reorder_blocks_and_partition no longer requires x_flag_profile_use. · ae5512dd
      
      	* opts.c (finish_options): x_flag_reorder_blocks_and_partition no
      	longer requires x_flag_profile_use.
      
      From-SVN: r249019
      Jan Hubicka committed
    • PR libstdc++/81017 add noexcept to std::function move operations · 853ed6bc
      	PR libstdc++/81017
      	* include/bits/std_function.h (function::function(function&&))
      	(function::operator=(funtion&&)): Add noexcept.
      	* testsuite/20_util/function/assign/move.cc: Check for noexcept.
      	* testsuite/20_util/function/cons/move.cc: Likewise.
      
      From-SVN: r249018
      Jonathan Wakely committed
    • cfgrtl.c (cfg_layout_initialize): Check crtl->has_bb_partition instead of… · 0b6bc904
      cfgrtl.c (cfg_layout_initialize): Check crtl->has_bb_partition instead of flag_reorder_blocks_and_partition.
      
      	* cfgrtl.c (cfg_layout_initialize): Check crtl->has_bb_partition
      	instead of flag_reorder_blocks_and_partition.
      	* dbxout.c (dbxout_function_end): Likewise.
      	* dwarf2out.c (gen_subprogram_die): Likewise.
      	* haifa-sched.c (sched_create_recovery_edges): Likewise.
      	* hw-doloop.c (reorg_loops): Likewise.
      	* varasm.c (assemble_start_function,
      	assemble_end_function): Likewise.
      	(decide_function_section): Do not check for
      	flag_reorder_blocks_and_partition.
      
      From-SVN: r249017
      Jan Hubicka committed
    • t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to the set of -I options... · 1ac644c8
      2017-06-08  Olivier Hainque  <hainque@adacore.com>
      
              * config/t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to
              the set of -I options, support for direct inclusions of net/uio.h
              by VxWorks header files via ioLib.h.
      
      From-SVN: r249016
      Olivier Hainque committed
    • tree-chkp.c (chkp_get_hard_register_var_fake_base_address): New function. · 0036534f
      gcc/ChangeLog:
      
      2017-05-09  Alexander Ivchenko  <aivchenk@gmail.com>
      
              * tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
              New function.
              (chkp_get_hard_register_fake_addr_expr): Ditto.
              (chkp_build_addr_expr): Add check for hard reg case.
              (chkp_parse_array_and_component_ref): Ditto.
              (chkp_find_bounds_1): Ditto.
              (chkp_process_stmt): Don't generate bounds store for
              hard reg case.
      
      
      gcc/testsuite/ChangeLog:
      
      2017-05-09  Alexander Ivchenko  <aivchenk@gmail.com>
      
              * gcc.target/i386/mpx/hard-reg-2-lbv.c: New test.
              * gcc.target/i386/mpx/hard-reg-2-nov.c: New test.
              * gcc.target/i386/mpx/hard-reg-2-ubv.c: New test.
      
      From-SVN: r249015
      Alexander Ivchenko committed
    • predict.c (maybe_hot_bb_p): Do not check profile status. · b69d9ac6
      
      	* predict.c (maybe_hot_bb_p): Do not check profile status.
      	(maybe_hot_edge_p): Likewise.
      	(probably_never_executed): Check for zero counts even if profile
      	is not read.
      	(unlikely_executed_edge_p): New function.
      	(unlikely_executed_stmt_p): New function.
      	(unlikely_executed_bb_p): New function.
      	(set_even_probabilities): Use unlikely predicates.
      	(combine_predictions_for_bb): Likewise.
      	(predict_paths_for_bb): Likewise.
      	(predict_paths_leading_to_edge): Likewise.
      	(determine_unlikely_bbs): New function.
      	(estimate_bb_frequencies): Use it.
      	(compute_function_frequency): Use zero counts even if profile is
      	not read.
      	* profile-count.h: Fix typo.
      
      	* g++.dg/tree-ssa/counts-1.C: New testcase.
      	* gcc.dg/tree-ssa/counts-1.c: New testcase.
      
      From-SVN: r249013
      Jan Hubicka committed
    • Add mov[us]wb store intrinsics. · c46f9051
      gcc/
      	* config/i386/avx512bwintrin.h (_mm512_mask_cvtepi16_storeu_epi8,
      	_mm512_mask_cvtsepi16_storeu_epi8,
      	_mm512_mask_cvtusepi16_storeu_epi8): New intrinsics.
      	* config/i386/avx512vlbwintrin.h (_mm256_mask_cvtepi16_storeu_epi8,
      	_mm_mask_cvtsepi16_storeu_epi8, _mm256_mask_cvtsepi16_storeu_epi8,
      	_mm_mask_cvtusepi16_storeu_epi8, _mm256_mask_cvtusepi16_storeu_epi8,
      	_mm_mask_cvtepi16_storeu_epi8): New intrinsics.
      	* config/i386/i386-builtin-types.def (PV8Q, V8QI): New pointer type.
      	(VOID_FTYPE_PV32QI_V32HI_USI, VOID_FTYPE_PV8QI_V8HI_UQI,
      	VOID_FTYPE_PV16QI_V16HI_UHI): New function types.
      	* config/i386/i386-builtin.def (__builtin_ia32_pmovwb128mem_mask,
      	__builtin_ia32_pmovwb256mem_mask, __builtin_ia32_pmovswb128mem_mask,
      	__builtin_ia32_pmovswb256mem_mask, __builtin_ia32_pmovuswb128mem_mask,
      	__builtin_ia32_pmovuswb256mem_mask,
      	__builtin_ia32_pmovuswb512mem_mask, __builtin_ia32_pmovswb512mem_mask)
      	__builtin_ia32_pmovwb512mem_mask): New builtins.
      
      gcc/testsuite/
      	* gcc.target/i386/avx512bw-vpmovswb-1.c: Add new intrinsics to test.
      	* gcc.target/i386/avx512bw-vpmovswb-2.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovuswb-1.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovuswb-2.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovwb-1.c: Ditto.
      	* gcc.target/i386/avx512bw-vpmovwb-2.c: Ditto.
      
      From-SVN: r249012
      Julia Koval committed
    • re PR sanitizer/80932 (UBSAN: false positive as a result of distribution:… · 5ed41889
      re PR sanitizer/80932 (UBSAN: false positive as a result of distribution: c1*(c2*v1-c3*v2)=>c1*c2*v1-c1*c3*v2)
      
      	PR sanitize/80932
      	* c-c++-common/ubsan/pr80932.c: Test with ints, not with long ints.
      
      From-SVN: r249010
      Marek Polacek committed
    • [PR73350][PR80862] Improve subst for RC-capable insns. · 8055904e
      PR target/73350,80862
      gcc/
      	* config/i386/subst.md (round): Fix round pattern.
      	* config/i386/i386.c (ix86_erase_embedded_rounding):
      	Fix erasing rounding for the fixed pattern.
      
      gcc/testsuite/
      	* gcc.target/i386/pr73350.c: New test.
      
      From-SVN: r249009
      Julia Koval committed
    • * cfgbuild.c (find_many_sub_basic_blocks): Fix thinko. · 1972030c
      From-SVN: r249008
      Jan Hubicka committed
    • vx_crtbegin_auto.c: Update year in copyright notice. · 724faf7b
      2017-06-08  Olivier Hainque  <hainque@adacore.com>
      
              * vx_crtbegin_auto.c: Update year in copyright notice.
              * vx_crtbegin.c: Likewise.
              * vx_crtbegin.inc: Likewise. 
              * vx_crtend.c:  Likewise.
      
      From-SVN: r249007
      Olivier Hainque committed
    • gcov: Add block_info::block_info (PR gcov-profile/80911). · a82be9d5
      2017-06-08  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/80911
      	* gcov.c (block_info::block_info): New constructor.
      
      From-SVN: r249006
      Martin Liska committed
    • re PR middle-end/77925 (Add __builtin_issubnormal) · 94fc87ec
      2017-06-08  Tamar Christina  <tamar.christina@arm.com>
      
      	PR middle-end/77925
      	PR middle-end/77926
      	PR middle-end/66462
      
      	* gcc/builtins.c (fold_builtin_fpclassify): Remove.
      	(fold_builtin_interclass_mathfn): Remove.
      	(expand_builtin): Add builtins to lowering list.
      	(fold_builtin_n): Remove fold_builtin_varargs.
      	(fold_builtin_varargs): Remove.
      	* gcc/builtins.def (BUILT_IN_ISZERO, BUILT_IN_ISSUBNORMAL): New.
      	* gcc/real.h (get_min_float): New.
      	(real_format): Add is_ieee_compatible field.
      	* gcc/real.c (get_min_float): New.
      	(ieee_single_format): Set is_ieee_compatible flag.
      	* gcc/gimple-low.c (lower_stm): Define BUILT_IN_FPCLASSIFY,
      	CASE_FLT_FN (BUILT_IN_ISINF), BUILT_IN_ISINFD32, BUILT_IN_ISINFD64,
      	BUILT_IN_ISINFD128, BUILT_IN_ISNAND32, BUILT_IN_ISNAND64,
      	BUILT_IN_ISNAND128, BUILT_IN_ISNAN, BUILT_IN_ISNORMAL, BUILT_IN_ISZERO,
      	BUILT_IN_ISSUBNORMAL, CASE_FLT_FN (BUILT_IN_FINITE), BUILT_IN_FINITED32
      	BUILT_IN_FINITED64, BUILT_IN_FINITED128, BUILT_IN_ISFINITE.
      	(lower_builtin_fpclassify, is_nan, is_normal, is_infinity): New.
      	(is_zero, is_subnormal, is_finite, use_ieee_int_mode): Likewise.
      	(lower_builtin_isnan, lower_builtin_isinfinite): Likewise.
      	(lower_builtin_isnormal, lower_builtin_iszero): Likewise.
      	(lower_builtin_issubnormal, lower_builtin_isfinite): Likewise.
      	(emit_tree_cond, get_num_as_int, emit_tree_and_return_var): New.
      	(mips_single_format): Likewise.
      	(motorola_single_format): Likewise.
      	(spu_single_format): Likewise.
      	(ieee_double_format): Likewise.
      	(mips_double_format): Likewise.
      	(motorola_double_format): Likewise.
      	(ieee_extended_motorola_format): Likewise.
      	(ieee_extended_intel_128_format): Likewise.
      	(ieee_extended_intel_96_round_53_format): Likewise.
      	(ibm_extended_format): Likewise.
      	(mips_extended_format): Likewise.
      	(ieee_quad_format): Likewise.
      	(mips_quad_format): Likewise.
      	(vax_f_format): Likewise.
      	(vax_d_format): Likewise.
      	(vax_g_format): Likewise.
      	(decimal_single_format): Likewise.
      	(decimal_quad_format): Likewise.
      	(iee_half_format): Likewise.
      	(mips_single_format): Likewise.
      	(arm_half_format): Likewise.
      	(real_internal_format): Likewise.
      	* gcc/doc/extend.texi: Add documentation for built-ins.
      	* gcc/c/c-typeck.c (convert_arguments): Add BUILT_IN_ISZERO
      	and BUILT_IN_ISSUBNORMAL.
      
      gcc/testsuite/
      2017-06-08  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/aarch64/builtin-fpclassify.c: New codegen test.
      	* gcc.dg/fold-notunord.c: Removed.
      	* gcc.dg/torture/floatn-tg-4.h: Add tests for iszero and issubnormal.
      	* gcc.dg/torture/float128-tg-4.c: Likewise.
      	* gcc.dg/torture/float128x-tg-4: Likewise.
      	* gcc.dg/torture/float16-tg-4.c: Likewise.
      	* gcc.dg/torture/float32-tg-4.c: Likewise.
      	* gcc.dg/torture/float32x-tg-4.c: Likewise.
      	* gcc.dg/torture/float64-tg-4.c: Likewise.
      	* gcc.dg/torture/float64x-tg-4.c: Likewise.
      	* gcc.dg/pr28796-1.c: Add -O2.
      	* gcc.dg/builtins-43.c: Check lower instead of gimple.
      	* gcc.dg/tg-tests.h: Add iszero and issubnormal.
      	* gcc.dg/pr77925.c: Add to test safe cases.
      
      From-SVN: r249005
      Tamar Christina committed
    • re PR tree-optimization/80928 (SLP vectorization does not handle induction in… · fb4bc6ff
      re PR tree-optimization/80928 (SLP vectorization does not handle induction in outer loop vectorization)
      
      2017-06-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80928
      	* gcc.dg/vect/slp-perm-8.c: Do not expect check loop to be vectorized.
      
      From-SVN: r249004
      Richard Biener committed
    • Daily bump. · 4d3cb819
      From-SVN: r249003
      GCC Administrator committed
  3. 07 Jun, 2017 5 commits
    • simple-object-xcoff.c (simple_object_xcoff_find_sections): Search symbol table… · c1d24904
      simple-object-xcoff.c (simple_object_xcoff_find_sections): Search symbol table for .go_export symbol and apply pfn if found.
      
      2017-06-07  Tony Reix  <tony.reix@atos.net>
                  Matthieu Sarter  <matthieu.sarter.external@atos.net>
                  David Edelsohn  <dje.gcc@gmail.com>
      
              * simple-object-xcoff.c (simple_object_xcoff_find_sections):
              Search symbol table for .go_export symbol and apply pfn if found.
      
      Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>
      Co-Authored-By: Matthieu Sarter <matthieu.sarter.external@atos.net>
      
      From-SVN: r248999
      Tony Reix committed
    • rs6000-c: The return type of the following built-in functions was implemented as int not... · 989cc652
      gcc/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c: The return type of the following
      	built-in functions was implemented as int not long long.  Fix sign
      	of return value for the unsigned version of vec_mulo and vec_mule.
      	vector unsigned long long vec_bperm (vector unsigned long long,
      	                                     vector unsigned char)
      	vector signed long long vec_mule (vector signed int,
      	                                  vector signed int)
      	vector unsigned long long vec_mule (vector unsigned int,
      	                                    vector unsigned int)
      	vector signed long long vec_mulo (vector signed int,
      	                                  vector signed int)
      	vector unsigned long long vec_mulo (vector unsigned int,
      	                                    vector unsigned int)
      	* doc/extend.texi: Fix the documentation for the built-in
      	functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-3.c: Fix vec_mule, vec_mulo test cases.
      ---
      
      From-SVN: r248998
      Carl Love committed
    • re PR target/80982 (gcc.target/powerpc/builtins-3-runnable.c fails starting with… · 4a7f0dc0
      re PR target/80982 (gcc.target/powerpc/builtins-3-runnable.c fails starting with its introduction in r248846)
      
      gcc/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      
      	PR target/80982
      	* config/rs6000/altivec.md (double<mode>2): Fix the implementation of
      	for BE.
      
      From-SVN: r248997
      Carl Love committed
    • altivec.md: Fix argument swizzle in vec_doublel support... · 618f988c
      gcc/ChangeLog:
      
      2017-06-07  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/altivec.md: Fix argument swizzle in vec_doublel
      	support, Generate	doublehv for signed int/float for BE case only.
      
      From-SVN: r248996
      Carl Love committed
    • doc: update x86 -mcx16 option description · a4fe64ee
      	* doc/invoke.texi (mcx16): Rewrite.
      
      From-SVN: r248995
      Alexander Monakov committed