1. 16 Jul, 2017 2 commits
  2. 15 Jul, 2017 5 commits
  3. 14 Jul, 2017 18 commits
    • libgo: don't copy semt into runtime.inc · f30d2091
          
          https://gcc.gnu.org/PR81449 reports a problem with the definition semt
          in runtime.inc on some systems. Since the C code in libgo/runtime
          doesn't need semt, just don't copy it into runtime.inc.
          
          Reviewed-on: https://go-review.googlesource.com/48593
      
      From-SVN: r250217
      Ian Lance Taylor committed
    • cmd/go: use gccSupportsFlag for -fsplit-stack · b9d36a8d
          
          Don't assume that all (or only) 386/amd64 compilers support
          -fsplit-stack.
          
          Reviewed-on: https://go-review.googlesource.com/48592
      
      From-SVN: r250216
      Ian Lance Taylor committed
    • rs6000-c.c (altivec_overloaded_builtins): Add array entries to represent… · b70bb05b
      rs6000-c.c (altivec_overloaded_builtins): Add array entries to represent __ieee128 versions of the scalar_test_data_class...
      
      gcc/ChangeLog:
      
      2017-07-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	array entries to represent __ieee128 versions of the
      	scalar_test_data_class, scalar_test_neg, scalar_extract_exp,
      	scalar_extract_sig, and scalar_insert_exp built-in functions.
      	(altivec_resolve_overloaded_builtin): Add special case handling
      	for the __builtin_scalar_insert_exp function, as represented by
      	the P9V_BUILTIN_VEC_VSIEDP constant.
      	* config/rs6000/rs6000-builtin.def (VSEEQP): Add scalar extract
      	exponent support for __ieee128 argument.
      	(VSESQP): Add scalar extract signature support for __ieee128
      	argument.
      	(VSTDCNQP): Add scalar test negative support for __ieee128
      	argument.
      	(VSIEQP): Add scalar insert exponent support for __int128 argument
      	with __ieee128 result.
      	(VSIEQPF): Add scalar insert exponent support for __ieee128
      	argument with __ieee128 result.
      	(VSTDCQP): Add scalar test data class support for __ieee128
      	argument.
      	(VSTDCNQP): Add overload support for scalar test negative with
      	__ieee128 argument.
      	(VSTDCQP): Add overload support for scalar test data class
      	__ieee128 argument.
      	* config/rs6000/vsx.md (UNSPEC_VSX_SXSIG) Replace
      	UNSPEC_VSX_SXSIGDP.
      	(UNSPEC_VSX_SIEXPQP): New constant.
      	(xsxexpqp): New insn for VSX scalar extract exponent quad
      	precision.
      	(xsxsigqp): New insn for VSX scalar extract significand quad
      	precision.
      	(xsiexpqpf): New insn for VSX scalar insert exponent quad
      	precision with floating point argument.
      	(xststdcqp): New expand for VSX scalar test data class quad
      	precision.
      	(xststdcnegqp): New expand for VSX scalar test negative quad
      	precision.
      	(xststdcqp): New insn to match expansions for VSX scalar test data
      	class quad precision and VSX scalar test negative quad precision.
      	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
      	special case operand checking to enforce that second operand of
      	VSX scalar test data class with quad precision argument is a 7-bit
      	unsigned literal.
      	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
      	prototypes and descriptions of __ieee128 versions of
      	scalar_extract_exp, scalar_extract_sig, scalar_insert_exp,
      	scalar_test_data_class, and scalar_test_neg built-in functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-07-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-5.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-6.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-7.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-5.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-6.c: New test.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-7.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-11.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-12.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-13.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-14.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-15.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-6.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-7.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-9.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-10.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-11.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-12.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-13.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-14.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-15.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-8.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-9.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-neg-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-neg-5.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-neg-6.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-neg-7.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-neg-8.c: New test.
      	* gcc.target/powerpc/bfp/vec-extract-exp-4.c: New test.
      	* gcc.target/powerpc/bfp/vec-extract-exp-5.c: New test.
      	* gcc.target/powerpc/bfp/vec-extract-sig-4.c: New test.
      	* gcc.target/powerpc/bfp/vec-extract-sig-5.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-10.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-11.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-8.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-9.c: New test.
      	* gcc.target/powerpc/bfp/vec-test-data-class-8.c: New test.
      	* gcc.target/powerpc/bfp/vec-test-data-class-9.c: New test.
      
      From-SVN: r250214
      Kelvin Nilsen committed
    • Constrain std::variant constructor for class template argument deduction · 20316b9b
      2017-07-14  Jason Merrill  <jason@redhat.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/std/variant (variant::variant(_Tp&&)): Constrain to remove
      	the constructor for empty variants from the candidate functions
      	during class template argument deduction.
      	* testsuite/20_util/variant/deduction.cc: New.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r250213
      Jason Merrill committed
    • re PR tree-optimization/81162 (UBSAN switch triggers incorrect optimization in SLSR) · 3b805666
      [gcc]
      
      2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/81162
      	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
      	replace a negate with an add.
      
      [gcc/testsuite]
      
      2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/81162
      	* gcc.dg/pr81162.c: New file.
      
      From-SVN: r250212
      Bill Schmidt committed
    • ssa-dse-30.c: Correct test to look for memmove that bcopy is expected to be transformed to. · bece580c
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-ssa/ssa-dse-30.c: Correct test to look for memmove
      	that bcopy is expected to be transformed to.
      
      From-SVN: r250209
      Martin Sebor committed
    • [Patch ARM] Document the +crypto extension on CPUs. · 4ddf9709
      We don't document the list of CPU names which can take a +crypto extension
      in the ARM port. This patch fixes that oversight.
      
      gcc/
      
      2017-14-07  James Greenhalgh  <james.greenhalgh@arm.com>
      
      	* doc/invoke.texi (arm/-mcpu): Document +crypto.
      
      From-SVN: r250207
      James Greenhalgh committed
    • [ARM] Fix definition of __ARM_FEATURE_NUMERIC_MAXMIN · 514b60f1
      Definition of __ARM_FEATURE_NUMERIC_MAXMIN checks for
      TARGET_ARM_ARCH >= 8 and TARGET_NEON being true in addition to
      TARGET_VFP5. However, instructions covered by this macro are part of
      FPv5 which is available in ARMv7E-M architecture. This commit fixes the
      macro to only check for TARGET_VFP5.
      
      2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-c.c (arm_cpu_builtins): Define
          __ARM_FEATURE_NUMERIC_MAXMIN solely based on TARGET_VFP5.
      
      From-SVN: r250206
      Thomas Preud'homme committed
    • [ARM] Add support for ARM Cortex-R52 processor · 2376caf9
      2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-cpus.in (cortex-r52): Add new entry.
          (armv8-r): Set ARM Cortex-R52 as default CPU.
          * config/arm/arm-tables.opt: Regenerate.
          * config/arm/arm-tune.md: Regenerate.
          * config/arm/driver-arm.c (arm_cpu_table): Add entry for ARM
          Cortex-R52.
          * doc/invoke.texi: Mention -mtune=cortex-r52 and availability of fp.dp
          extension for -mcpu=cortex-r52.
      
      From-SVN: r250205
      Thomas Preud'homme committed
    • [ARM] Rewire -mfpu=fp-armv8 as VFPv5 + D32 + DP · c8d61ab8
      fp-armv8 is currently defined as a double precision FPv5 with 32 D
      registers *and* a special FP_ARMv8 bit. However FP for ARMv8 should only
      bring 32 D registers on top of FPv5-D16 so this FP_ARMv8 bit is
      spurious. As a consequence, many instruction patterns which are guarded
      by TARGET_FPU_ARMV8 are unavailable to FPv5-D16 and FPv5-SP-D16.
      
      This commit gets rid of TARGET_FPU_ARMV8 and rewire all uses to
      expressions based on TARGET_VFP5, TARGET_VFPD32 and TARGET_VFP_DOUBLE.
      It also redefine ISA_FP_ARMv8 to include the D32 capability to
      distinguish it from FPv5-D16. At last, it sets the +fp.sp for ARMv8-R to
      enable FPv5-SP-D16 (ie FP for ARMv8 with single precision only and 16 D
      registers).
      
      2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-isa.h (isa_bit_FP_ARMv8): Delete enumerator.
          (ISA_FP_ARMv8): Define as ISA_FPv5 and ISA_FP_D32.
          * config/arm/arm-cpus.in (armv8-r): Define fp.sp as enabling FPv5.
          (fp-armv8): Define it as FP_ARMv8 only.
          config/arm/arm.h (TARGET_FPU_ARMV8): Delete.
          (TARGET_VFP_FP16INST): Define using TARGET_VFP5 rather than
          TARGET_FPU_ARMV8.
          config/arm/arm.c (arm_rtx_costs_internal): Replace checks against
          TARGET_FPU_ARMV8 by checks against TARGET_VFP5.
          * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Define
          first ARM_CHECK_BUILTIN_MODE definition using TARGET_VFP5 rather
          than TARGET_FPU_ARMV8.
          * config/arm/arm-c.c (arm_cpu_builtins): Likewise for
          __ARM_FEATURE_NUMERIC_MAXMIN macro definition.
          * config/arm/arm.md (cmov<mode>): Condition on TARGET_VFP5 rather than
          TARGET_FPU_ARMV8.
          * config/arm/neon.md (neon_vrint): Likewise.
          (neon_vcvt): Likewise.
          (neon_<fmaxmin_op><mode>): Likewise.
          (<fmaxmin><mode>3): Likewise.
          * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Likewise.
          * config/arm/predicates.md (arm_cond_move_operator): Check against
          TARGET_VFP5 rather than TARGET_FPU_ARMV8 and fix spacing.
      
      From-SVN: r250204
      Thomas Preud'homme committed
    • c/c++: Add fix-it hints for suggested missing #includes · eea77d1f
      gcc/c-family/ChangeLog:
      	* c-common.c (try_to_locate_new_include_insertion_point): New
      	function.
      	(per_file_includes_t): New typedef.
      	(added_includes_t): New typedef.
      	(added_includes): New variable.
      	(maybe_add_include_fixit): New function.
      	* c-common.h (maybe_add_include_fixit): New decl.
      
      gcc/c/ChangeLog:
      	* c-decl.c (implicitly_declare): When suggesting a missing
      	#include, provide a fix-it hint.
      
      gcc/cp/ChangeLog:
      	* name-lookup.c (get_std_name_hint): Add '<' and '>' around
      	the header names.
      	(maybe_suggest_missing_header): Update for addition of '<' and '>'
      	to above.  Provide a fix-it hint.
      	* pt.c: Include "gcc-rich-location.h"
      	(listify): Attempt to add fix-it hint for missing
      	#include <initializer_list>.
      	* rtti.c: Include "gcc-rich-location.h".
      	(typeid_ok_p): Attempt to add fix-it hint for missing
      	#include <typeinfo>.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/cpp0x/missing-initializer_list-include.C: New test case.
      	* g++.dg/lookup/missing-std-include-2.C: New test case.
      	* g++.dg/lookup/missing-std-include-3.C: New test case.
      	* g++.dg/rtti/missing-typeinfo-include.C: New test case.
      	* gcc.dg/missing-header-fixit-1.c: New test case.
      	* gcc.dg/missing-header-fixit-2.c: New test case.
      	* gcc.dg/missing-header-fixit-2.h: New header.
      
      From-SVN: r250203
      David Malcolm committed
    • [Patch][Aarch64] Refactor comments in aarch64_print_operand · bcf19844
      This patch refactors comments in config/aarch64/aarch64.c aarch64_print_operand
      to provide a table of aarch64 specific formating options.
      
      ---
      gcc/
      
      2017-07-14  Jackson Woodruff  <jackson.woodruff@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_print_operand): Move comments
      	to top of function.
      
      From-SVN: r250202
      Jackson Woodruff committed
    • Update comment in gimple-ssa-store-merging.c · a848c710
      	* gimple-ssa-store-merging.c (clear_bit_region): Replace reference to
      	loop in comment with memset.
      
      From-SVN: r250201
      Kyrylo Tkachov committed
    • re PR sanitizer/81066 (sanitizer_stoptheworld_linux_libcdep.cc:276:22: error:… · 144e36a7
      re PR sanitizer/81066 (sanitizer_stoptheworld_linux_libcdep.cc:276:22: error: aggregate ‘sigaltstack handler_stack’ has incomplete type and cannot be defined)
      
      	PR sanitizer/81066
      	* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
      	* sanitizer_common/sanitizer_linux.cc: Likewise.
      	* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
      	* tsan/tsan_platform_linux.cc: Likewise.
      
      From-SVN: r250200
      Jakub Jelinek committed
    • Remove Java references in source code. · ed5cd5bc
      2017-07-14  Martin Liska  <mliska@suse.cz>
      
      	* cfgexpand.c (expand_gimple_basic_block): Remove dead comment.
      	* dwarf2out.c (is_java): Remove the function.
      	(output_pubname): Remove usage of the function.
      	(lower_bound_default): Remove usage of DW_LANG_Java.
      	(gen_compile_unit_die): Likewise.
      	* gcc.c: Remove compiler defaults for .java and .zip files.
      	* gimple-expr.c (remove_suffix): Change as there's no longer
      	extension than 4-letter one.
      	* gimplify.c (mostly_copy_tree_r): Remove Java-special part.
      	(gimplify_save_expr): Likewise.
      	* ipa-utils.h (polymorphic_type_binfo_p): Remove the comment
      	as it's possible even for other languages than Java.
      	* langhooks.h (struct lang_hooks): Remove Java from a comment.
      	* lto-opts.c (lto_write_options): Remove reference to Java.
      	* opts.c (strip_off_ending): Update file extension handling.
      	* tree-cfg.c (verify_gimple_call): Remove comment with Java.
      	* tree-eh.c (lower_resx): Likewise.
      	* tree.c (free_lang_data_in_type): Remove dead code.
      	(find_decls_types_r): Likewise.
      	(build_common_builtin_nodes): Remove Java from a comment.
      	(verify_type): Remove dead code.
      	* varasm.c (assemble_external): Remove Java from a comment.
      
      From-SVN: r250199
      Martin Liska committed
    • Add additional quotes to opts.c. · 4f4b35a0
      2017-07-14  Martin Liska  <mliska@suse.cz>
      
      	* opts.c (finish_options): Add quotes.
      	(common_handle_option): Likewise.
      
      From-SVN: r250198
      Martin Liska committed
    • Remove Pascal language in source code. · d6d4718a
      2017-07-14  Martin Liska  <mliska@suse.cz>
      
      	* dbxout.c (get_lang_number): Do not handle GNU Pascal.
      	* dbxout.h (extern void dbxout_stab_value_internal_label_diff):
      	Remove N_SO_PASCAL.
      	* dwarf2out.c (lower_bound_default): Do not handle
      	DW_LANG_Pascal83.
      	(gen_compile_unit_die): Likewise.
      	* gcc.c: Remove default extension binding for GNU Pascal.
      	* stmt.c: Remove Pascal language from a comment.
      	* xcoffout.c: Likewise.
      
      From-SVN: r250197
      Martin Liska committed
    • Daily bump. · f16b1783
      From-SVN: r250195
      GCC Administrator committed
  4. 13 Jul, 2017 13 commits
  5. 12 Jul, 2017 2 commits
    • re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports… · 3787ee47
      re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports should warn about old libraries)
      
      [gcc]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
      	provides the hardware capability bits, define the macro
      	__BUILTIN_CPU_SUPPORTS__.
      	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
      	if GLIBC does not provide the hardware capability bits.  Add a
      	gcc_unreachable call if the built-in cpu function is neither
      	__builtin_cpu_is nor __builtin_cpu_supports.
      	(rs6000_get_function_versions_dispatcher): Change the warning
      	that an old GLIBC is used which does not export the capability
      	bits to be an error.
      	* doc/extend.texi (target_clones attribute): Document the
      	restriction that GLIBC 2.23 or newer is needed on the PowerPC.
      	(PowerPC built-in functions): Document that GLIBC 2.23 or newer is
      	needed by __builtin_cpu_is and __builtin_cpu_supports.  Document
      	the macros defined by GCC if the newer GLIBC is available.
      
      [gcc/testsuite]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* gcc.target/powerpc/bmi-andn-1.c: Add guard against using
      	__builtin_cpu_supports with old GLIBC's.
      	* gcc.target/powerpc/bmi-andn-2.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-1.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-2.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-4.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-5.c: Likewise.
      	* gcc.target/powerpc/bmi-blsi-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsi-2.c: Likewise.
      	* gcc.target/powerpc/bmi-blsmsk-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsmsk-2.c: Likewise.
      	* gcc.target/powerpc/bmi-blsr-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsr-2.c: Likewise.
      	* gcc.target/powerpc/bmi-tzcnt-1.c: Likewise.
      	* gcc.target/powerpc/bmi-tzcnt-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-bzhi32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-bzhi64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx32-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx64-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-pdep32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pdep64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext64-1.c: Likewise.
      	* gcc.target/powerpc/cpu-builtin-1.c: Likewise.
      
      [libgcc]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* configure.ac (PowerPC float128 hardware support): Test whether
      	we can use __builtin_cpu_supports before enabling the ifunc
      	handler.
      	* configure: Regenerate.
      
      From-SVN: r250165
      Michael Meissner committed
    • riscv.c: Remove unnecessary includes. · 1b68a156
      	* config/riscv/riscv.c: Remove unnecessary includes.  Reorder
      	remaining includes slightly.
      	* config/riscv/riscv-builtins.c: Include profile-count.h.
      
      From-SVN: r250162
      Jeff Law committed