1. 29 Oct, 2018 1 commit
    • 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 24 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
    • * tree.c (free_lang_data_in_type): Only check main variants. · b322cdb2
      From-SVN: r265520
      Jan Hubicka committed
    • ipa-devirt.c (warn_odr): Make static. · 420672bc
      
      	* ipa-devirt.c (warn_odr): Make static.
      	(types_same_for_odr): Drop strict variant.
      	(types_odr_comparable): Likewise.
      	(odr_or_derived_type_p): Look for main variants.
      	(odr_name_hasher::equal): Cleanup comment.
      	(odr_subtypes_equivalent): Add warn and warned arguments; check main
      	variants.
      	(type_variants_equivalent_p): break out from ...
      	(odr_types_equivalent): ... here; go for main variants where needed.
      	(warn_odr): ... here; turn static.
      	(warn_types_mismatch): Compare mangled names of main variants.
      	* ipa-utils.h (types_odr_comparable): Drop strict parameter.
      	(type_with_linkage_p): Sanity check that we look at main variant.
      	* lto.c (lto_read_decls): Only consider main variant to be ODR type.
      	* tree.h (types_same_for_odr): Drop strict argument.
      
      From-SVN: r265519
      Jan Hubicka committed
    • re PR lto/87754 (ICE in odr_types_equivalent_p, at ipa-devirt.c:1250) · 99976e27
      2018-10-26  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/87754
      	* g++.dg/lto/odr-1_0.C: Fix pattern.
      
      From-SVN: r265518
      Richard Biener committed
    • re PR tree-optimization/87746 (ICE in vect_update_misalignment_for_peel, at… · 7ea4b8ed
      re PR tree-optimization/87746 (ICE in vect_update_misalignment_for_peel, at tree-vect-data-refs.c:1035)
      
      2018-10-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87746
      	* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
      	Simplify and fix WRT strided store groups with size not
      	equal to step in element count.
      	(vect_analyze_group_access_1): Dump the whole group.
      
      	* gcc.dg/pr87746.c: New testcase.
      
      From-SVN: r265517
      Richard Biener committed
    • Don't xfail gcc.dg/pr78973-2.c on non-ilp64 targets · 682f212a
      	* gcc.dg/pr78973-2.c: Remove xfail on dg-warning.
      
      From-SVN: r265516
      Rainer Orth committed
    • libgo: don't use wc in gotest · c404b3b9
          
          The wc command is not in the GNU approved list of Makefile utilities
          (https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html#Utilities-in-Makefiles).
          
          Reviewed-on: https://go-review.googlesource.com/c/144897
      
      From-SVN: r265515
      Ian Lance Taylor committed
    • Daily bump. · 03f7544f
      From-SVN: r265514
      GCC Administrator committed
  5. 25 Oct, 2018 7 commits
    • compiler: improve name mangling for packpaths · 34489eb2
          
          The current implementation of Gogo::pkgpath_for_symbol was written in
          a way that allowed two distinct package paths to map to the same
          symbol, which could cause collisions at link- time or compile-time.
          
          Switch to a better mangling scheme to insure that we get a unique
          packagepath symbol for each package. In the new scheme instead of having
          separate mangling schemes for identifiers and package paths, the
          main identifier mangler ("go_encode_id") now handles mangling of
          both packagepath characters and identifier characters.
          
          The new mangling scheme is more intrusive: "foo/bar.Baz" is mangled as
          "foo..z2fbar.Baz" instead of "foo_bar.Baz". To mitigate this, this
          patch also adds a demangling capability so that function names
          returned from runtime.CallersFrames are converted back to their
          original unmangled form.
          
          Changing the pkgpath_for_symbol scheme requires updating a number of
          //go:linkname directives and C "__asm__" directives to match the new
          scheme, as well as updating the 'gotest' driver (which makes
          assumptions about the correct mapping from pkgpath symbol to package
          name).
          
          Fixes golang/go#27534.
          
          Reviewed-on: https://go-review.googlesource.com/c/135455
      
      From-SVN: r265510
      Ian Lance Taylor committed
    • rs6000-c.c (P9V_BUILTIN_VEC_VSCEDPGT, [...]): Rename base overloaded name. · fc756f9f
      gcc/ChangeLog:
      
      2018-10-25  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_VSCEDPGT,
      	P9V_BUILTIN_VEC_VSCEDPLT, P9V_BUILTIN_VEC_VSCEDPEQ,
      	P9V_BUILTIN_VEC_VSCEDPUO): Rename base overloaded name.  Add quad
      	precicion entry for each overloaded builtin.
      	* config/rs6000/rs6000-builtin.def (VSCEDPGT, VSCEDPLT, VSCEDPEQ,
      	VSCEDPUO): Rename overloaded name.
      	(VSCEDPGT, VSCEQPGT, VSCEDPLT, VSCEQPLT, VSCEDPEQ, VSCEQPEQ,
      	VSCEDPUO, VSCEQPUO): Add defitions for overloaded builtins.
      	* config/rs6000/vsx.md (xscmpexpqp_<code>_<mode>): Add
      	define_expand for xscmpexqp instruction.
      	(*xscmpexpqp): Add define_insn for the xscmpexqp instruction.
      
      gcc/testsuite/ChangeLog:
      
      2018-10-25  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/float128-cmp2-runnable.c: New test file.
      
      From-SVN: r265509
      Carl Love committed
    • emmintrin.h (_mm_slli_epi16): Replace deprecated function with vec_sl. · 80a2dd51
      2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Jinsong Ji <jji@us.ibm.com>
      
      	* config/rs6000/emmintrin.h (_mm_slli_epi16): Replace deprecated
      	function with vec_sl.
      	(_mm_slli_epi32): Likewise.
      	(_mm_slli_epi64): Likewise.
      	(_mm_srai_epi16): Replace deprecated function with vec_sra.
      	(_mm_srai_epi32): Likewise.
      	(_mm_srli_epi16): Replace deprecated function with vec_sr.
      	(_mm_srli_epi32): Likewise.
      	(_mm_srli_epi64): Likewise.
      	(_mm_sll_epi16): Replace deprecated function with vec_sl.
      	(_mm_sll_epi32): Likewise.
      	(_mm_sll_epi64): Likewise.
      	(_mm_sra_epi16): Replace deprecated function with vec_sra.
      	(_mm_sra_epi32): Likewise.
      	(_mm_srl_epi16): Replace deprecated function with vec_sr.
      	(_mm_srl_epi32): Likewise.
      	(_mm_srl_epi64): Likewise.
      
      
      Co-Authored-By: Jinsong Ji <jji@us.ibm.com>
      
      From-SVN: r265508
      Bill Schmidt committed
    • emmintrin.h (_mm_sll_epi16): Replace comparison operators with vec_cmp* for… · 1d3d2703
      emmintrin.h (_mm_sll_epi16): Replace comparison operators with vec_cmp* for compatibility due to unfortunate...
      
      2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Jinsong Ji <jji@us.ibm.com>
      
      	* gcc/config/rs6000/emmintrin.h (_mm_sll_epi16): Replace
      	comparison operators with vec_cmp* for compatibility due to
      	unfortunate history; clean up formatting and use types more
      	appropriately.
      	(_mm_sll_epi32): Likewise.
      	(_mm_sll_epi64): Likewise.
      	(_mm_srl_epi16): Likewise.
      	(_mm_srl_epi32): Likewise.
      	(_mm_srl_epi64): Likewise.
      
      
      Co-Authored-By: Jinsong Ji <jji@us.ibm.com>
      
      From-SVN: r265507
      Bill Schmidt committed
    • emmintrin.h (_mm_sll_epi64): Remove wrong cast. · 71c3949e
      2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Jinsong Ji <jji@us.ibm.com>
      
      	* config/rs6000/emmintrin.h (_mm_sll_epi64): Remove wrong cast.
      	* config/rs6000/xmmintrin.h (_mm_min_ps): Change m's type to
      	__vector __bool int.  Use vec_cmpgt in preference to deprecated
      	function vec_vcmpgtfp.
      	(_mm_max_ps): Likewise.
      
      
      Co-Authored-By: Jinsong Ji <jji@us.ibm.com>
      
      From-SVN: r265506
      Bill Schmidt committed
    • rl78.c (insn_ok_now): Always re-recognize the insn if returning false. · 7959b94e
      	* config/rl78/rl78.c (insn_ok_now): Always re-recognize the insn
      	if returning false.
      
      From-SVN: r265505
      Jeff Law committed