1. 29 Oct, 2018 15 commits
    • [rs6000] Consistently use '__vector' instead of 'vector' · 8505bf12
      Revision r265535 committed changes that used 'vector' instead of the
      preferred '__vector'.  There is a reason that '__vector' is preferred,
      because it ensures no conflicts with C++ namespace.  Indeed,
      gcc/config/rs6000/xmmintrin.h undefines it, leading to errors:
      
        gcc/include/xmmintrin.h:999:20: error: 'vector' undeclared (first use in this function); did you mean 'vec_or'?
        gcc/include/xmmintrin.h:999:20: note: each undeclared identifier is reported only once for each function it appears in
        gcc/include/xmmintrin.h:999:26: error: expected ')' before 'long'
        gcc/include/xmmintrin.h:999:37: error: expected ')' before 'result'
      
      Also fixed a few whitespace issues.
      
      [gcc]
      
      2018-10-29  Paul A. Clarke  <pc@us.ibm.com>
      
      	* gcc/config/rs6000/mmintrin.h (_mm_packs_pi16, _mm_packs_pi32,
      	_mm_packs_pu16, _mm_unpackhi_pi8, _mm_unpacklo_pi8, _mm_add_pi8,
      	_mm_add_pi16, _mm_add_pi32, _mm_sub_pi8, _mm_sub_pi16, _mm_sub_pi32,
      	_mm_cmpgt_pi8, _mm_cmpeq_pi16, _mm_cmpgt_pi16, _mm_cmpeq_pi32,
      	_mm_cmpgt_pi32, _mm_adds_pi8, _mm_adds_pi16, _mm_adds_pu8,
      	_mm_adds_pu16, _mm_subs_pi8, _mm_subs_pi16, _mm_subs_pu8,
      	_mm_subs_pu16, _mm_madd_pi16, _mm_mulhi_pi16, _mm_mullo_pi16,
      	_mm_sll_pi16, _mm_sra_pi16, _mm_srl_pi16, _mm_set1_pi16, _mm_set1_pi8):
      	Change 'vector' to '__vector'.
      	* gcc/config/rs6000/xmmintrin.h (_mm_cvtps_pi32, _mm_cvttps_pi32,
      	_mm_cvtps_pi16, _mm_cvtps_pi8, _mm_max_pi16, _mm_max_pu8, _mm_min_pi16,
      	_mm_min_pu8, _mm_mulhi_pu16, _mm_shuffle_pi16, _mm_avg_pu8,
      	_mm_avg_pu16): Likewise.  And, whitespace corrections.
      
      From-SVN: r265601
      Paul A. Clarke committed
    • PR c++/87594 - constexpr rejects-valid with range-based for. · a385474c
      	* constexpr.c (potential_constant_expression_1): If the condition
      	can't be evaluated, return true.
      
      	* g++.dg/cpp1y/constexpr-loop8.C: New test.
      
      From-SVN: r265600
      Marek Polacek committed
    • compiler: pass a single flags argument to Backend::function · a4e30bef
          
          Reviewed-on: https://go-review.googlesource.com/c/145319
      
      	* go-gcc.cc (Gcc_backend::function): Change to use a single flags
      	parameter.
      
      From-SVN: r265599
      Ian Lance Taylor committed
    • compiler: add location_file · 943cc2fb
          
          Add support for getting the file name from a Location value.  This
          will be used by later work.
          
          Reviewed-on: https://go-review.googlesource.com/c/145318
      
      	* go-linemap.cc (Gcc_linemap::location_file): New method.
      
      From-SVN: r265598
      Ian Lance Taylor committed
    • re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245… · 266ef361
      re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245 on 454.calculix with -Ofast and -flto)
      
      2018-10-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87785
      	* tree-vect-slp.c (vect_gather_slp_loads): Only gather
      	internal defs.
      
      	* gcc.dg/torture/20181029-1.c: New testcase.
      	* gcc.dg/torture/20181029-2.c: Likewise.
      
      From-SVN: r265596
      Richard Biener committed
    • Extract VXWORKS_NET_LIBS_RTP from VXWORKS_LIBS_RTP · bca81bd2
      2018-10-29  Olivier Hainque  <hainque@adacore.com>
      
      	* VXWORKS_NET_LIBS_RTP: New macro, network part of VXWORKS_LIBS_RTP.
      
      From-SVN: r265595
      Olivier Hainque committed
    • Introduce notion of VXWORKS_PERSONALITY · 3b727799
      2018-10-29  Olivier Hainque  <hainque@adacore.com>
      
      	* config/vxworks.h (VXWORKS_PERSONALITY): New VxWorks
      	ports configuration macro, defaults to "gnu".
      	(VXWORKS_OS_CPP_BUILTINS): Use it. Feed TOOL and
      	TOOL_FAMILY instead of _VX_TOOL/_VXTOOL_FAMILY.
      
      From-SVN: r265594
      Olivier Hainque committed
    • re PR tree-optimization/87790 (ICE in vect_get_vec_def_for_operand_1, at tree-vect-stmts.c:1475) · 6c7e3b1f
      2018-10-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87790
      	* tree-vect-slp.c (vect_mark_slp_stmts): Simplify.
      	(vect_make_slp_decision): Adjust.
      	(vect_slp_analyze_bb_1): Likewise.
      	(vect_detect_hybrid_slp_stmts): Properly union SLP type over
      	edges.
      
      	* gcc.dg/pr87790.c: New testcase.
      
      From-SVN: r265593
      Richard Biener committed
    • [OpenACC] Support C++ "this" in OpenACC directives · 87a5ccfb
      2018-10-29  Joseph Myers  <joseph@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      
      	* semantics.c (handle_omp_array_sections_1): Allow array sections with
      	"this" pointer for OpenACC.
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      
      From-SVN: r265591
      Joseph Myers committed
    • re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245… · 5d8c32cb
      re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245 on 454.calculix with -Ofast and -flto)
      
      2018-10-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87785
      	* tree-vect-slp.c (vect_build_slp_tree_2): Remove loads argument
      	and processing.
      	(vect_build_slp_tree): Likewise.
      	(vect_gather_slp_loads): New function.
      	(vect_analyze_slp_instance): Gather loads separately from the
      	SLP tree build.
      
      From-SVN: r265588
      Richard Biener committed
    • GCOV: introduce --json-format. · c8fda30f
      2018-10-29  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Make dependency to json.o.
      	* doc/gcov.texi: Document new JSON format, remove
      	old intermediate format documentation.
      	* gcov.c (struct function_info): Come up with m_name and
      	m_demangled_name.
      	(function_info::function_info): Initialize it.
      	(function_info::~function_info): Release it.
      	(main): Rename flag_intermediate_format to flag_json_format.
      	(print_usage): Describe --json-format.
      	(process_args): Set flag_json_format.
      	(output_intermediate_line): Remove.
      	(output_intermediate_json_line): Likewise.
      	(get_gcov_intermediate_filename): Return new extension
      	".gcov.json.gz".
      	(output_intermediate_file): Implement JSON emission.
      	(output_json_intermediate_file): Implement JSON emission.
      	(generate_results): Use ::get_name for function name.
      	Handle JSON output file.
      	(read_graph_file): Use ::get_name instead of cplus_demangle.
      	(read_count_file): Likewise.
      	(solve_flow_graph): Likewise.
      	(add_line_counts): Likewise.
      	(accumulate_line_counts): Use new flag_json_format.
      	(output_function_details): Use ::get_name instead of cplus_demangle.
      	(output_lines): Likewise.
      	* json.cc (test_writing_literals): Add new tests.
      	* json.h (class literal): Add new boolean constructor.
      2018-10-29  Martin Liska  <mliska@suse.cz>
      
      	* g++.dg/gcov/gcov-8.C: Do not check intermediate format.
      	* lib/gcov.exp: Remove legacy verify-intermediate.
      
      From-SVN: r265587
      Martin Liska committed
    • Fix mingw-w64 Ada native bootstrap (PR81878). · d4eb0305
      Due to the changes in PR81878 builds of GCC8 and trunk are impossible
      with Ada enabled[1][2].
      
      The reason the patch breaks the bootstrap is due to how gnatlink receives it's
      arguments.
      
      gnatlink is usually invoked as
      
              $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \
                --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
      
      so it passes $(CC) and $(GCC_LINK) as quoted arguments to the program.
      Because of this quotation the msys2 shell does not translate any paths in
      $(CC) and $(GCC_LINK) from their Unix version to their Windows version.
      
      Furthermore because there are multiple paths in the values separated by space
      and because the paths often contain a prefix like -L (e.g. -L/f/foo) we can't
      use `fix_srcfile_path` to fix this.
      
      An alternative solution would have been to create a stub program that echos the
      commandline options it receives back, and calling this program with $(CC) and $(GCC_LINK)
      unquoted to get them translated.  However this was a bit more invasive.
      
      So instead for native compilations we add -B../../ such that it picks up the lto plugin
      from the previous built compiler.  Since it's native there shouldn't be a mismatch here.
      
      [1] https://github.com/Alexpux/MINGW-packages/pull/3877#issuecomment-408651809
      [2] https://gcc.gnu.org/ml/gcc/2018-07/msg00410.html
      
      gnattools/ChangeLog:
      
      	PR ada/81878
      	* Makefile.in (TOOLS_FLAGS_TO_PASS_NATIVE): Add -B ../../.
      
      From-SVN: r265583
      Tamar Christina committed
    • combine: Fix various shortcomings in make_more_copies (PR87701, PR87780) · aef7647f
      This rewrites most of make_more_copies, in the process fixing a few PRs
      and some other bugs, and working around a few target problems.  Certain
      notes turn out to actually change the meaning of the RTL, so we cannot
      drop them; and i386 takes subregs of hard regs.
      
      
      	PR rtl-optimization/87701
      	PR rtl-optimization/87780
      	* combine.c (make_more_copies): Rewrite.
      
      From-SVN: r265582
      Segher Boessenkool committed
    • Daily bump. · 6679694a
      From-SVN: r265581
      GCC Administrator committed
    • gimplefe-30.c: New test. · 64f7ea7c
      
      gcc/testsuite/ChangeLog:
      
      2018-10-28  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* gcc.dg/gimplefe-30.c: New test.
      	* gcc.dg/gimplefe-31.c: New test.
      	* gcc.dg/gimplefe-32.c: New test.
      	* gcc.dg/gimplefe-33.c: New test.
      
      
      gcc/ChangeLog:
      
      2018-10-28  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* doc/generic.texi (ABSU_EXPR): Document.
              * match.pd (absu(x)*absu(x) -> x*x): Handle.
              (absu(absu(X)) -> absu(X)): Likewise.
              (absu(-X) -> absu(X)): Likewise.
              (absu(X)  where X is nonnegative -> X): Likewise.
      
      From-SVN: r265578
      Kugan Vivekanandarajah committed
  2. 28 Oct, 2018 5 commits
    • 48101_neg.cc: Remove dg-prune-output 'std' from regex pattern for versioned namespace... · 881eaae6
      2018-10-28  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/23_containers/deque/48101_neg.cc: Remove dg-prune-output
      	'std' from regex pattern for versioned namespace compatibility.
      	* testsuite/23_containers/vector/48101_neg.cc: Likewise.
      	* testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
      
      From-SVN: r265575
      François Dumont committed
    • Add D front-end, libphobos library, and D2 testsuite. · b4c522fa
      ChangeLog:
      
      	* Makefile.def (target_modules): Add libphobos.
      	(flags_to_pass): Add GDC, GDCFLAGS, GDC_FOR_TARGET and
      	GDCFLAGS_FOR_TARGET.
      	(dependencies): Make libphobos depend on libatomic, libbacktrace
      	configure, and zlib configure.
      	(language): Add language d.
      	* Makefile.in: Rebuild.
      	* Makefile.tpl (BUILD_EXPORTS): Add GDC and GDCFLAGS.
      	(HOST_EXPORTS): Add GDC.
      	(POSTSTAGE1_HOST_EXPORTS): Add GDC and GDC_FOR_BUILD.
      	(BASE_TARGET_EXPORTS): Add GDC.
      	(GDC_FOR_BUILD, GDC, GDCFLAGS): New variables.
      	(GDC_FOR_TARGET, GDC_FLAGS_FOR_TARGET): New variables.
      	(EXTRA_HOST_FLAGS): Add GDC.
      	(STAGE1_FLAGS_TO_PASS): Add GDC.
      	(EXTRA_TARGET_FLAGS): Add GDC and GDCFLAGS.
      	* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
      	environment variables.
      	* configure: Rebuild.
      	* configure.ac: Add target-libphobos to target_libraries.  Set and
      	substitute GDC_FOR_BUILD and GDC_FOR_TARGET.
      
      config/ChangeLog:
      
      	* multi.m4: Set GDC.
      
      gcc/ChangeLog:
      
      	* Makefile.in (tm_d_file_list, tm_d_include_list): New variables.
      	(TM_D_H, D_TARGET_DEF, D_TARGET_H, D_TARGET_OBJS): New variables.
      	(tm_d.h, cs-tm_d.h, default-d.o): New rules.
      	(d/d-target-hooks-def.h, s-d-target-hooks-def-h): New rules.
      	(s-tm-texi): Also check timestamp on d-target.def.
      	(generated_files): Add TM_D_H and d-target-hooks-def.h.
      	(build/genhooks.o): Also depend on D_TARGET_DEF.
      	* config.gcc (tm_d_file, d_target_objs, target_has_targetdm): New
      	variables.
      	* config/aarch64/aarch64-d.c: New file.
      	* config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
      	Define.
      	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): New
      	prototype.
      	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/aarch64/t-aarch64 (aarch64-d.o): New rule.
      	* config/arm/arm-d.c: New file.
      	* config/arm/arm-protos.h (arm_d_target_versions): New prototype.
      	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
      	* config/arm/t-arm (arm-d.o): New rule.
      	* config/default-d.c: New file.
      	* config/glibc-d.c: New file.
      	* config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/i386/i386-d.c: New file.
      	* config/i386/i386-protos.h (ix86_d_target_versions): New prototype.
      	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
      	(GNU_USER_TARGET_D_CRITSEC_SIZE): Define.
      	* config/i386/t-i386 (i386-d.o): New rule.
      	* config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Define.
      	* config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
      	* config/mips/mips-d.c: New file.
      	* config/mips/mips-protos.h (mips_d_target_versions): New prototype.
      	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/mips/t-mips (mips-d.o): New rule.
      	* config/powerpcspe/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/powerpcspe/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/powerpcspe/powerpcspe-d.c: New file.
      	* config/powerpcspe/powerpcspe-protos.h (rs6000_d_target_versions):
      	New prototype.
      	* config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
      	Support GNU D by using 0 as the language type.
      	* config/powerpcspe/powerpcspe.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/powerpcspe/t-powerpcspe (powerpcspe-d.o): New rule.
      	* config/riscv/riscv-d.c: New file.
      	* config/riscv/riscv-protos.h (riscv_d_target_versions): New
      	prototype.
      	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/riscv/t-riscv (riscv-d.o): New rule.
      	* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/rs6000/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/rs6000/rs6000-d.c: New file.
      	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): New
      	prototype.
      	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
      	Support GNU D by using 0 as the language type.
      	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/rs6000/t-rs6000 (rs6000-d.o): New rule.
      	* config/s390/s390-d.c: New file.
      	* config/s390/s390-protos.h (s390_d_target_versions): New prototype.
      	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/s390/t-s390 (s390-d.o): New rule.
      	* config/sparc/sparc-d.c: New file.
      	* config/sparc/sparc-protos.h (sparc_d_target_versions): New
      	prototype.
      	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/sparc/t-sparc (sparc-d.o): New rule.
      	* config/t-glibc (glibc-d.o): New rule.
      	* configure: Regenerated.
      	* configure.ac (tm_d_file): New variable.
      	(tm_d_file_list, tm_d_include_list, d_target_objs): Add substitutes.
      	* doc/contrib.texi (Contributors): Add self for the D frontend.
      	* doc/frontends.texi (G++ and GCC): Mention D as a supported language.
      	* doc/install.texi (Configuration): Mention libphobos as an option for
      	--enable-shared.  Mention d as an option for --enable-languages.
      	(Testing): Mention check-d as a target.
      	* doc/invoke.texi (Overall Options): Mention .d, .dd, and .di as file
      	name suffixes.  Mention d as a -x option.
      	* doc/sourcebuild.texi (Top Level): Mention libphobos.
      	* doc/standards.texi (Standards): Add section on D language.
      	* doc/tm.texi: Regenerated.
      	* doc/tm.texi.in: Add @node for D language and ABI, and @hook for
      	TARGET_CPU_VERSIONS, TARGET_D_OS_VERSIONS, and TARGET_D_CRITSEC_SIZE.
      	* dwarf2out.c (is_dlang): New function.
      	(gen_compile_unit_die): Use DW_LANG_D for D.
      	(declare_in_namespace): Return module die for D, instead of adding
      	extra declarations into the namespace.
      	(gen_namespace_die): Generate DW_TAG_module for D.
      	(gen_decl_die): Handle CONST_DECLSs for D.
      	(dwarf2out_decl): Likewise.
      	(prune_unused_types_walk_local_classes): Handle DW_tag_interface_type.
      	(prune_unused_types_walk): Handle DW_tag_interface_type same as other
      	kinds of aggregates.
      	* gcc.c (default_compilers): Add entries for .d, .dd and .di.
      	* genhooks.c: Include d/d-target.def.
      
      gcc/po/ChangeLog:
      
      	* EXCLUDES: Add sources from d/dmd.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.misc-tests/help.exp: Add D to option descriptions check.
      	* gdc.dg/asan/asan.exp: New file.
      	* gdc.dg/asan/gdc272.d: New test.
      	* gdc.dg/compilable.d: New test.
      	* gdc.dg/dg.exp: New file.
      	* gdc.dg/gdc254.d: New test.
      	* gdc.dg/gdc260.d: New test.
      	* gdc.dg/gdc270a.d: New test.
      	* gdc.dg/gdc270b.d: New test.
      	* gdc.dg/gdc282.d: New test.
      	* gdc.dg/gdc283.d: New test.
      	* gdc.dg/imports/gdc170.d: New test.
      	* gdc.dg/imports/gdc231.d: New test.
      	* gdc.dg/imports/gdc239.d: New test.
      	* gdc.dg/imports/gdc241a.d: New test.
      	* gdc.dg/imports/gdc241b.d: New test.
      	* gdc.dg/imports/gdc251a.d: New test.
      	* gdc.dg/imports/gdc251b.d: New test.
      	* gdc.dg/imports/gdc253.d: New test.
      	* gdc.dg/imports/gdc254a.d: New test.
      	* gdc.dg/imports/gdc256.d: New test.
      	* gdc.dg/imports/gdc27.d: New test.
      	* gdc.dg/imports/gdcpkg256/package.d: New test.
      	* gdc.dg/imports/runnable.d: New test.
      	* gdc.dg/link.d: New test.
      	* gdc.dg/lto/lto.exp: New file.
      	* gdc.dg/lto/ltotests_0.d: New test.
      	* gdc.dg/lto/ltotests_1.d: New test.
      	* gdc.dg/runnable.d: New test.
      	* gdc.dg/simd.d: New test.
      	* gdc.test/gdc-test.exp: New file.
      	* lib/gdc-dg.exp: New file.
      	* lib/gdc.exp: New file.
      
      libphobos/ChangeLog:
      
      	* Makefile.am: New file.
      	* Makefile.in: New file.
      	* acinclude.m4: New file.
      	* aclocal.m4: New file.
      	* config.h.in: New file.
      	* configure: New file.
      	* configure.ac: New file.
      	* d_rules.am: New file.
      	* libdruntime/Makefile.am: New file.
      	* libdruntime/Makefile.in: New file.
      	* libdruntime/__entrypoint.di: New file.
      	* libdruntime/__main.di: New file.
      	* libdruntime/gcc/attribute.d: New file.
      	* libdruntime/gcc/backtrace.d: New file.
      	* libdruntime/gcc/builtins.d: New file.
      	* libdruntime/gcc/config.d.in: New file.
      	* libdruntime/gcc/deh.d: New file.
      	* libdruntime/gcc/libbacktrace.d.in: New file.
      	* libdruntime/gcc/unwind/arm.d: New file.
      	* libdruntime/gcc/unwind/arm_common.d: New file.
      	* libdruntime/gcc/unwind/c6x.d: New file.
      	* libdruntime/gcc/unwind/generic.d: New file.
      	* libdruntime/gcc/unwind/package.d: New file.
      	* libdruntime/gcc/unwind/pe.d: New file.
      	* m4/autoconf.m4: New file.
      	* m4/druntime.m4: New file.
      	* m4/druntime/cpu.m4: New file.
      	* m4/druntime/libraries.m4: New file.
      	* m4/druntime/os.m4: New file.
      	* m4/gcc_support.m4: New file.
      	* m4/gdc.m4: New file.
      	* m4/libtool.m4: New file.
      	* src/Makefile.am: New file.
      	* src/Makefile.in: New file.
      	* src/libgphobos.spec.in: New file.
      	* testsuite/Makefile.am: New file.
      	* testsuite/Makefile.in: New file.
      	* testsuite/config/default.exp: New file.
      	* testsuite/lib/libphobos-dg.exp: New file.
      	* testsuite/lib/libphobos.exp: New file.
      	* testsuite/testsuite_flags.in: New file.
      
      From-SVN: r265573
      Iain Buclaw committed
    • re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=) · 01ce9e31
      2017-10-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/54613
      	* gfortran.h (gfc_isym_id): Add GFC_ISYM_FINDLOC.
      	(gfc_check_f): Add f6fl field.
      	(gfc_simplify_f): Add f6 field.
      	(gfc_resolve_f): Likewise.
      	(gfc_type_letter): Add optional logical_equas_int flag.
      	* check.c (intrinsic_type_check): New function.
      	(gfc_check_findloc): New function.
      	* intrinsics.c (gfc_type_letter): If logical_equals_int is
      	set, act accordingly.
      	(add_sym_5ml):  Reformat comment.
      	(add_sym_6fl): New function.
      	(add_functions): Add findloc.
      	(check_arglist): Add sixth argument, handle it.
      	(resolve_intrinsic): Likewise.
      	(check_specific): Handle findloc.
      	* intrinsic.h (gfc_check_findloc): Add prototype.
      	(gfc_simplify_findloc): Likewise.
      	(gfc_resolve_findloc): Likewise.
      	(MAX_INTRINSIC_ARGS): Adjust.
      	* iresolve.c (gfc_resolve_findloc): New function.
      	* simplify.c (gfc_simplify_minmaxloc): Make static.
      	(simplify_findloc_to_scalar): New function.
      	(simplify_findloc_nodim): New function.
      	(simplify_findloc_to_array): New function.
      	(gfc_simplify_findloc): New function.
      	(gfc_conv_intrinsic_findloc): New function.
      	(gfc_conv_intrinsic_function): Handle GFC_ISYM_FINDLOC.
      	(gfc_is_intrinsic_libcall): Likewise.
      
      2017-10-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/54613
      	* Makefile.am: Add files for findloc.
      	* Makefile.in: Regenerated.
      	* libgfortran.h (gfc_array_index_type): Add.
      	(gfc_array_s1): Add using GFC_UINTEGER_1.
      	(gfc_array_s4): Likewise.
      	Replace unnecessary comment.
      	(HAVE_GFC_UINTEGER_1): Define.
      	(HAVE_GFC_UINTEGER_4): Define.
      	* m4/findloc0.m4: New file.
      	* m4/findloc0s.m4: New file.
      	* m4/findloc1.m4: New file.
      	* m4/findloc1s.m4: New file.
      	* m4/findloc2s.m4: New file.
      	* m4/ifindloc0.m4: New file.
      	* m4/ifindloc1.m4: New file.
      	* m4/ifindloc2.m4: New file.
      	* m4/iparm.m4: Use unsigned integer for characters.
              * generated/findloc0_c16.c: New file.
              * generated/findloc0_c4.c: New file.
              * generated/findloc0_c8.c: New file.
              * generated/findloc0_i1.c: New file.
              * generated/findloc0_i16.c: New file.
              * generated/findloc0_i2.c: New file.
              * generated/findloc0_i4.c: New file.
              * generated/findloc0_i8.c: New file.
              * generated/findloc0_r16.c: New file.
              * generated/findloc0_r4.c: New file.
              * generated/findloc0_r8.c: New file.
              * generated/findloc0_s1.c: New file.
              * generated/findloc0_s4.c: New file.
              * generated/findloc1_c16.c: New file.
              * generated/findloc1_c4.c: New file.
              * generated/findloc1_c8.c: New file.
              * generated/findloc1_i1.c: New file.
              * generated/findloc1_i16.c: New file.
              * generated/findloc1_i2.c: New file.
              * generated/findloc1_i4.c: New file.
              * generated/findloc1_i8.c: New file.
              * generated/findloc1_r16.c: New file.
              * generated/findloc1_r4.c: New file.
              * generated/findloc1_r8.c: New file.
              * generated/findloc1_s1.c: New file.
              * generated/findloc1_s4.c: New file.
              * generated/findloc2_s1.c: New file.
              * generated/findloc2_s4.c: New file.
              * generated/maxloc0_16_s1.c: Regenerated.
              * generated/maxloc0_16_s4.c: Regenerated.
              * generated/maxloc0_4_s1.c: Regenerated.
              * generated/maxloc0_4_s4.c: Regenerated.
              * generated/maxloc0_8_s1.c: Regenerated.
              * generated/maxloc0_8_s4.c: Regenerated.
              * generated/maxloc1_16_s1.c: Regenerated.
              * generated/maxloc1_16_s4.c: Regenerated.
              * generated/maxloc1_4_s1.c: Regenerated.
              * generated/maxloc1_4_s4.c: Regenerated.
              * generated/maxloc1_8_s1.c: Regenerated.
              * generated/maxloc1_8_s4.c: Regenerated.
              * generated/maxloc2_16_s1.c: Regenerated.
              * generated/maxloc2_16_s4.c: Regenerated.
              * generated/maxloc2_4_s1.c: Regenerated.
              * generated/maxloc2_4_s4.c: Regenerated.
              * generated/maxloc2_8_s1.c: Regenerated.
              * generated/maxloc2_8_s4.c: Regenerated.
              * generated/maxval0_s1.c: Regenerated.
              * generated/maxval0_s4.c: Regenerated.
              * generated/maxval1_s1.c: Regenerated.
              * generated/maxval1_s4.c: Regenerated.
              * generated/minloc0_16_s1.c: Regenerated.
              * generated/minloc0_16_s4.c: Regenerated.
              * generated/minloc0_4_s1.c: Regenerated.
              * generated/minloc0_4_s4.c: Regenerated.
              * generated/minloc0_8_s1.c: Regenerated.
              * generated/minloc0_8_s4.c: Regenerated.
              * generated/minloc1_16_s1.c: Regenerated.
              * generated/minloc1_16_s4.c: Regenerated.
              * generated/minloc1_4_s1.c: Regenerated.
              * generated/minloc1_4_s4.c: Regenerated.
              * generated/minloc1_8_s1.c: Regenerated.
              * generated/minloc1_8_s4.c: Regenerated.
              * generated/minloc2_16_s1.c: Regenerated.
              * generated/minloc2_16_s4.c: Regenerated.
              * generated/minloc2_4_s1.c: Regenerated.
              * generated/minloc2_4_s4.c: Regenerated.
              * generated/minloc2_8_s1.c: Regenerated.
              * generated/minloc2_8_s4.c: Regenerated.
              * generated/minval0_s1.c: Regenerated.
              * generated/minval0_s4.c: Regenerated.
              * generated/minval1_s1.c: Regenerated.
              * generated/minval1_s4.c: Regenerated.
      
      2017-10-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/54613
      	* gfortran.dg/findloc_1.f90: New test.
      	* gfortran.dg/findloc_2.f90: New test.
      	* gfortran.dg/findloc_3.f90: New test.
      	* gfortran.dg/findloc_4.f90: New test.
      	* gfortran.dg/findloc_5.f90: New test.
      	* gfortran.dg/findloc_6.f90: New test.
      
      From-SVN: r265570
      Thomas Koenig committed
    • darwin - fix powerpc-darwin stack alignments · b10fb078
      2018-10-28  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR target/85669
      	* config/rs6000/darwin.h (STACK_BOUNDARY): New.
      	(RS6000_STARTING_FRAME_OFFSET): Adjust to preserve 16byte alignment.
      	(STACK_DYNAMIC_OFFSET): Likewise.
      
      From-SVN: r265568
      Iain Sandoe committed
    • Daily bump. · 01497ce7
      From-SVN: r265564
      GCC Administrator committed
  3. 27 Oct, 2018 3 commits
  4. 26 Oct, 2018 17 commits
    • powerpc: Fix typos in the manual · e6c57241
      2018-10-26  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
      
      	* doc/extend.texi (PowerPC builtins): Fix __builtin_unpack_ibm128
      	return type and other typos.
      
      From-SVN: r265548
      Tulio Magno Quites Machado Filho committed
    • rs6000-string.c (expand_strncmp_gpr_sequence): Change to a shorter sequence with fewer branches. · ef4adf1f
      2018-10-26  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	* config/rs6000/rs6000-string.c (expand_strncmp_gpr_sequence): Change to
      	a shorter sequence with fewer branches.
      	(emit_final_str_compare_gpr): Ditto.
      
      From-SVN: r265546
      Aaron Sawdey committed
    • sse-addss-1.c: Call abort under DEBUG also; formatting cleanup. · ffd0bbe1
      2018-10-26  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Jinsong Ji  <jji@us.ibm.com>
      
      	* gcc.target/powerpc/sse-addss-1.c: Call abort under DEBUG also;
      	formatting cleanup.
      	* gcc.target/powerpc/sse-pavgw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-addsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise.
      	* gcc.target/powerpc/sse2-divpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-divsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-maxsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-minsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movmskpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movsd-3.c: Likewise.
      	* gcc.target/powerpc/sse2-mulpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-mulsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-packssdw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-packsswb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-packuswb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddsb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddsw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddusb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmulhw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmuludq1.c: Likewise.
      	* gcc.target/powerpc/sse2-psadbw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pshufd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pshufhw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pshuflw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pslld-2.c: Likewise.
      	* gcc.target/powerpc/sse2-pslldq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrld-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrld-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psrldq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubusb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-subsd-1.c: Likewise.
      
      
      Co-Authored-By: Jinsong Ji <jji@us.ibm.com>
      
      From-SVN: r265545
      Bill Schmidt committed
    • [rs6000] Add tests for compatible implementations of x86 SSSE3 intrinsics · f5c2ba6d
      This is part 2/2 for contributing PPC64LE support for X86 SSSE3 instrisics.
      This patch includes testsuite/gcc.target tests, copied from gcc.target/i386,
      for the intrinsics defined in tmmintrin.h.
      
      [gcc/testsuite]
      
      2018-10-26  Paul A. Clarke  <pc@us.ibm.com>
      
      	* gcc.target/powerpc/ssse3-check.h: New file.
      	* gcc.target/powerpc/ssse3-vals.h: New file.
      	* gcc.target/powerpc/ssse3-pabsb.c: New file.
      	* gcc.target/powerpc/ssse3-pabsd.c: New file.
      	* gcc.target/powerpc/ssse3-pabsw.c: New file.
      	* gcc.target/powerpc/ssse3-palignr.c: New file.
      	* gcc.target/powerpc/ssse3-phaddd.c: New file.
      	* gcc.target/powerpc/ssse3-phaddsw.c: New file.
      	* gcc.target/powerpc/ssse3-phaddw.c: New file.
      	* gcc.target/powerpc/ssse3-phsubd.c: New file.
      	* gcc.target/powerpc/ssse3-phsubsw.c: New file.
      	* gcc.target/powerpc/ssse3-phsubw.c: New file.
      	* gcc.target/powerpc/ssse3-pmaddubsw.c: New file.
      	* gcc.target/powerpc/ssse3-pmulhrsw.c: New file.
      	* gcc.target/powerpc/ssse3-pshufb.c: New file.
      	* gcc.target/powerpc/ssse3-psignb.c: New file.
      	* gcc.target/powerpc/ssse3-psignd.c: New file.
      	* gcc.target/powerpc/ssse3-psignw.c: New file.
      
      From-SVN: r265544
      Paul A. Clarke committed
    • [rs6000] Add compatible implementations of x86 SSSE3 intrinsics · b1ddadac
      This is a follow-on to earlier commits for adding compatibility
      implementations of x86 intrinsics for PPC64LE.  This is the first of
      two patches.  This patch adds the 32 x86 intrinsics from
      <tmmintrin.h> ("SSSE3").  (Patch 2/2 adds tests for these intrinsics,
      and briefly describes the tests performed.)
      
      gcc/ChangeLog:
      
      2018-10-26  Paul A. Clarke  <pc@us.ibm.com>
      
      	* config/rs6000/tmmintrin.h: New file.
      	* config.gcc (powerpc*-*-*): Add tmmintrin.h to extra_headers.
      
      From-SVN: r265542
      Paul A. Clarke committed
    • [rs6000] Enable 32bit support for tests of x86-compatibile intrinsics · 075b562c
      Also, bugfix for mmx-packuswb-1.c, which had ommitted the required
      "-mpower8-vector" from dg-options.
      
      2018-10-26  Paul A. Clarke  <pc@us.ibm.com>
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/powerpc/mmx-packs.c: Enable 32 bit execution.
      	* gcc.target/powerpc/mmx-packssdw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-packsswb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-packs.c: Likewise.
      	* gcc.target/powerpc/mmx-packssdw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-packsswb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddd-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddsb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddsw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddusb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddusw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-paddw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pmulhw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pmullw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-pslld-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psllw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psrad-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psraw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psrld-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psrlw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psubb-2.c: Likewise.
      	* gcc.target/powerpc/mmx-psubd-2.c: Likewise.
      	* gcc.target/powerpc/mmx-psubsb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psubsw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psubusb-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psubusw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-psubw-2.c: Likewise.
      	* gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise.
      	* gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise.
      	* gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise.
      	* gcc.target/powerpc/mmx-punpckldq-1.c: Likewise.
      	* gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise.
      	* gcc.target/powerpc/pr37191.c: Likewise.
      	* gcc.target/powerpc/sse-addps-1.c: Likewise.
      	* gcc.target/powerpc/sse-addss-1.c: Likewise.
      	* gcc.target/powerpc/sse-andnps-1.c: Likewise.
      	* gcc.target/powerpc/sse-andps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cmpss-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise.
      	* gcc.target/powerpc/sse-cvtss2si-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvtss2si-2.c: Likewise.
      	* gcc.target/powerpc/sse-cvttss2si-1.c: Likewise.
      	* gcc.target/powerpc/sse-cvttss2si-2.c: Likewise.
      	* gcc.target/powerpc/sse-divps-1.c: Likewise.
      	* gcc.target/powerpc/sse-divss-1.c: Likewise.
      	* gcc.target/powerpc/sse-maxps-1.c: Likewise.
      	* gcc.target/powerpc/sse-maxps-2.c: Likewise.
      	* gcc.target/powerpc/sse-maxss-1.c: Likewise.
      	* gcc.target/powerpc/sse-minps-1.c: Likewise.
      	* gcc.target/powerpc/sse-minps-2.c: Likewise.
      	* gcc.target/powerpc/sse-minss-1.c: Likewise.
      	* gcc.target/powerpc/sse-movaps-1.c: Likewise.
      	* gcc.target/powerpc/sse-movaps-2.c: Likewise.
      	* gcc.target/powerpc/sse-movhlps-1.c: Likewise.
      	* gcc.target/powerpc/sse-movhps-1.c: Likewise.
      	* gcc.target/powerpc/sse-movhps-2.c: Likewise.
      	* gcc.target/powerpc/sse-movlhps-1.c: Likewise.
      	* gcc.target/powerpc/sse-movlps-1.c: Likewise.
      	* gcc.target/powerpc/sse-movlps-2.c: Likewise.
      	* gcc.target/powerpc/sse-movmskb-1.c: Likewise.
      	* gcc.target/powerpc/sse-movmskps-1.c: Likewise.
      	* gcc.target/powerpc/sse-movss-1.c: Likewise.
      	* gcc.target/powerpc/sse-movss-2.c: Likewise.
      	* gcc.target/powerpc/sse-movss-3.c: Likewise.
      	* gcc.target/powerpc/sse-mulps-1.c: Likewise.
      	* gcc.target/powerpc/sse-mulss-1.c: Likewise.
      	* gcc.target/powerpc/sse-orps-1.c: Likewise.
      	* gcc.target/powerpc/sse-pavgw-1.c: Likewise.
      	* gcc.target/powerpc/sse-pmaxsw-1.c: Likewise.
      	* gcc.target/powerpc/sse-pmaxub-1.c: Likewise.
      	* gcc.target/powerpc/sse-pminsw-1.c: Likewise.
      	* gcc.target/powerpc/sse-pminub-1.c: Likewise.
      	* gcc.target/powerpc/sse-pmulhuw-1.c: Likewise.
      	* gcc.target/powerpc/sse-psadbw-1.c: Likewise.
      	* gcc.target/powerpc/sse-rcpps-1.c: Likewise.
      	* gcc.target/powerpc/sse-rsqrtps-1.c: Likewise.
      	* gcc.target/powerpc/sse-shufps-1.c: Likewise.
      	* gcc.target/powerpc/sse-sqrtps-1.c: Likewise.
      	* gcc.target/powerpc/sse-subps-1.c: Likewise.
      	* gcc.target/powerpc/sse-subss-1.c: Likewise.
      	* gcc.target/powerpc/sse-ucomiss-1.c: Likewise.
      	* gcc.target/powerpc/sse-ucomiss-2.c: Likewise.
      	* gcc.target/powerpc/sse-ucomiss-3.c: Likewise.
      	* gcc.target/powerpc/sse-ucomiss-4.c: Likewise.
      	* gcc.target/powerpc/sse-ucomiss-5.c: Likewise.
      	* gcc.target/powerpc/sse-ucomiss-6.c: Likewise.
      	* gcc.target/powerpc/sse-unpckhps-1.c: Likewise.
      	* gcc.target/powerpc/sse-unpcklps-1.c: Likewise.
      	* gcc.target/powerpc/sse-xorps-1.c: Likewise.
      	* gcc.target/powerpc/sse2-addpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-addsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-andnpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-andpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cmppd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cmpsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-comisd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-comisd-2.c: Likewise.
      	* gcc.target/powerpc/sse2-comisd-3.c: Likewise.
      	* gcc.target/powerpc/sse2-comisd-4.c: Likewise.
      	* gcc.target/powerpc/sse2-comisd-5.c: Likewise.
      	* gcc.target/powerpc/sse2-comisd-6.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise.
      	* gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise.
      	* gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise.
      	* gcc.target/powerpc/sse2-divpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-divsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-maxpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-maxsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-minpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-minsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-mmx.c: Likewise.
      	* gcc.target/powerpc/sse2-movhpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movhpd-2.c: Likewise.
      	* gcc.target/powerpc/sse2-movlpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movlpd-2.c: Likewise.
      	* gcc.target/powerpc/sse2-movmskpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movq-2.c: Likewise.
      	* gcc.target/powerpc/sse2-movq-3.c: Likewise.
      	* gcc.target/powerpc/sse2-movsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-movsd-2.c: Likewise.
      	* gcc.target/powerpc/sse2-movsd-3.c: Likewise.
      	* gcc.target/powerpc/sse2-mulpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-mulsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-orpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-packssdw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-packsswb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-packuswb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddsb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddsw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddusb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddusw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-paddw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pand-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pandn-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pavgb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pavgw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pextrw.c: Likewise.
      	* gcc.target/powerpc/sse2-pinsrw.c: Likewise.
      	* gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmaxub-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pminsw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pminub-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmulhw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmullw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pmuludq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-por-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psadbw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pshufd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pshufhw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pshuflw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pslld-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pslld-2.c: Likewise.
      	* gcc.target/powerpc/sse2-pslldq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psllq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psllq-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psllw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psllw-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psrad-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrad-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psraw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psraw-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psrld-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrld-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psrldq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrlq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrlq-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psrlw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psrlw-2.c: Likewise.
      	* gcc.target/powerpc/sse2-psubb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubsb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubsw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubusb-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubusw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-psubw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpckldq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise.
      	* gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-pxor-1.c: Likewise.
      	* gcc.target/powerpc/sse2-shufpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-subpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-subsd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-ucomisd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-ucomisd-2.c: Likewise.
      	* gcc.target/powerpc/sse2-ucomisd-3.c: Likewise.
      	* gcc.target/powerpc/sse2-ucomisd-4.c: Likewise.
      	* gcc.target/powerpc/sse2-ucomisd-5.c: Likewise.
      	* gcc.target/powerpc/sse2-ucomisd-6.c: Likewise.
      	* gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise.
      	* gcc.target/powerpc/sse2-xorpd-1.c: Likewise.
      	* gcc.target/powerpc/sse3-addsubpd.c: Likewise.
      	* gcc.target/powerpc/sse3-addsubps.c: Likewise.
      	* gcc.target/powerpc/sse3-haddpd.c: Likewise.
      	* gcc.target/powerpc/sse3-haddps.c: Likewise.
      	* gcc.target/powerpc/sse3-hsubpd.c: Likewise.
      	* gcc.target/powerpc/sse3-hsubps.c: Likewise.
      	* gcc.target/powerpc/sse3-lddqu.c: Likewise.
      	* gcc.target/powerpc/sse3-movddup.c: Likewise.
      	* gcc.target/powerpc/sse3-movshdup.c: Likewise.
      	* gcc.target/powerpc/sse3-movsldup.c: Likewise.
      	* gcc.target/powerpc/mmx-packuswb-1.c: Likewise. Also, add
      	ommitted "-mpower8-vector" to dg-options.
      
      From-SVN: r265537
      Paul A. Clarke committed
    • [rs6000] x86 vector intrinsics compatibility: clean-ups for 32bit support · dbafa0f5
      Implement various corrections in the compatibility implementations of the
      x86 vector intrinsics found after enabling 32bit mode for the associated
      test cases.  (Actual enablement coming in a subsequent patch.)
      
      2018-10-26  Paul A. Clarke  <pc@us.ibm.com>
      
      gcc/ChangeLog:
      
      	* config/rs6000/mmintrin.h: Enable 32bit compilation.
      	* config/rs6000/xmmintrin.h: Likewise.
      
      From-SVN: r265535
      Paul A. Clarke committed
    • libgo: avoid use of 'local' directive in shell script · dbd93b9d
          
          Avoid declaring shell variables with 'local' (not supported
          on all systems of interest).
          
          Reviewed-on: https://go-review.googlesource.com/c/145021
      
      From-SVN: r265534
      Ian Lance Taylor committed
    • libgo: fix improperly mangled linker symbol directive · 797ea254
          
          Fix asm name directive for the C version of log/syslog.syslog_c,
          which didn't get included in the recent name mangling change.
          
          Reviewed-on: https://go-review.googlesource.com/c/145017
      
      From-SVN: r265533
      Ian Lance Taylor committed
    • [rs6000] Fix _mm_extract_pi16 for big-endian · 4fa008a7
      For compatibility implementation of x86 vector intrinsic, _mm_extract_pi16,
      adjust shift value for big-endian mode.
      
      gcc/ChangeLog:
      
      2018-10-25  Paul A. Clarke  <pc@us.ibm.com>
      
      	* config/rs6000/xmmintrin.h (_mm_extract_pi16): Fix for big-endian.
      
      From-SVN: r265531
      Paul A. Clarke committed
    • tree-vect-slp.c (vect_mark_slp_stmts): Add visited hash_set and wrapper. · 4bfcf879
      2018-10-26  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_mark_slp_stmts): Add visited hash_set
      	and wrapper.
      	(vect_mark_slp_stmts_relevant): Likewise.
      	(vect_detect_hybrid_slp_stmts): Likewise.
      	(vect_bb_slp_scalar_cost): Likewise.
      	(vect_remove_slp_scalar_calls): Likewise.
      
      From-SVN: r265528
      Richard Biener committed
    • update_version_svn (IGNORE_BRANCHES): Add gcc-6-branch. · 6d202724
      	* update_version_svn (IGNORE_BRANCHES): Add gcc-6-branch.
      	* crontab: Remove gcc-6-branch entry.
      
      From-SVN: r265527
      Jakub Jelinek committed
    • gcc_release (error, inform): Use $@ instead of $1. · 9038a1de
      	* gcc_release (error, inform): Use $@ instead of $1.
      	(build_sources): Check for ^[[:blank:]]*GCC in both index.html
      	and changes.html, rather than for GCC in one and ^GCC in another one.
      
      From-SVN: r265526
      Jakub Jelinek committed
    • ipa-devirt.c (odr_subtypes_equivalent_p): Fix recursion. · abb967da
      
      	* ipa-devirt.c (odr_subtypes_equivalent_p): Fix recursion.
      	(warn_types_mismatch): Fix walk of DECL_NAME.
      	(odr_types_equivalent_p): Fix overactive assert.
      	* lto/lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.
      
      	* g++.dg/lto/odr-1_0.C: Fix template.
      	* g++.dg/lto/odr-1_1.C: Fix template.
      
      From-SVN: r265523
      Jan Hubicka committed
    • re PR tree-optimization/87105 (Autovectorization [X86, SSE2, AVX2, DoublePrecision]) · a1f072e2
      2018-10-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87105
      	* tree-vectorizer.h (_slp_tree::refcnt): New member.
      	* tree-vect-slp.c (vect_free_slp_tree): Decrement and honor
      	refcnt.
      	(vect_create_new_slp_node): Initialize refcnt to one.
      	(bst_traits): Move.
      	(scalar_stmts_set_t, bst_fail): Remove.
      	(vect_build_slp_tree_2): Add bst_map argument and adjust calls.
      	(vect_build_slp_tree): Add bst_map argument and lookup
      	already created SLP nodes.
      	(vect_print_slp_tree): Handle a SLP graph, print SLP node
      	addresses.
      	(vect_slp_rearrange_stmts): Handle a SLP graph.
      	(vect_analyze_slp_instance): Adjust and free SLP nodes from
      	the CSE map.  Fix indenting.
      	(vect_schedule_slp_instance): Add short-cut.
      
      	* g++.dg/vect/slp-pr87105.cc: Adjust.
      	* gcc.dg/torture/20181024-1.c: New testcase.
      	* g++.dg/opt/20181025-1.C: Likewise.
      
      From-SVN: r265522
      Richard Biener committed
    • Relax hash function to match equals function behavior (PR testsuite/86158). · 74ca1c01
      2018-10-26  Martin Liska  <mliska@suse.cz>
      
      	PR testsuite/86158
      	* ipa-prop.c (struct ipa_vr_ggc_hash_traits): Hash with
      	addr_expr and not with pointers.
      
      From-SVN: r265521
      Martin Liska committed