Commit Graph

166121 Commits

Author SHA1 Message Date
Jan Hubicka d840d7a2bb lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations for method whose basetype was already reported.
* lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations
	for method whose basetype was already reported.

	* ipa-devirt.c (odr_type_violation_reported_p): New.
	* ipa-utils.h (odr_type_violation_reported_p): Declare.

From-SVN: r267397
2018-12-24 11:12:42 +00:00
Iain Sandoe c23f39f848 Fix PR67974 for Darwin by adding an asm shim for AVX.
The PR is about a set of tests that were not executed because of
missing asm support.  

However, the assembler can handle the insns now, so the tests are
attempted (but with a missing asm shim they fail).

This adds the shim.

In principle (bugs notwithstanding) Darwin’s x86_64 ABI is supposed
to follow the sysv psABI so we can have essentially a copy of the
Linux one.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	PR testsuite/67974
	* gcc.target/x86_64/abi/avx/asm-support-darwin.s: New.

From-SVN: r267395
2018-12-24 09:02:03 +00:00
Iain Sandoe 224246175f powerpc-darwin, skip ident tests.
The c-c++-common tests fail (or XPASS depending on which) on
powerpc Darwin because it doesn't currently emit .ident marker. 

Since there's no support for .ident in the assembler, we can't
enable the output and therefore these tests should be skipped.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	* c-c++-common/ident-0a.c: Skip for powerpc-darwin.
	* c-c++-common/ident-0b.c: Likewise.
	* c-c++-common/ident-1a.c: Likewise.
	* c-c++-common/ident-1b.c: Likewise.
	* c-c++-common/ident-2a.c: Likewise.
	* c-c++-common/ident-2b.c: Likewise.

From-SVN: r267394
2018-12-24 08:55:01 +00:00
Iain Sandoe f1b2727feb darwin, configuration, check properly for dwarf2 debug line support
This corrects a long-standing misconfiguration for Darwin.
The assembler supports the “.file” and “.loc” directives, but
the GCC configury was not detecting this because it was 
using objdump, which does not exist on most Darwin installations.

We added support for “otool” to GCC and now we can use that to
make the check that’s done with objdump on ELF targets.

2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	* configure.ac (dwarf2_debug_line): Check for the debug_line
	section using otool when there’s no objdump available.
	* configure: Regenerate.

From-SVN: r267393
2018-12-24 08:43:20 +00:00
Jan Hubicka 959b8c8257 ipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary; also handle rescaling of mismatched profiles.
* ipa-utils.c (ipa_merge_profiles): Fix updating of fnsummary;
	also handle rescaling of mismatched profiles.
	* ipa-fnsummary.c (analyze_function): Handle speculative edges.

From-SVN: r267392
2018-12-24 01:37:44 +00:00
GCC Administrator d0a6fcf589 Daily bump.
From-SVN: r267391
2018-12-24 00:16:20 +00:00
François Dumont 4483dd3fa3 2018-12-23 François Dumont <fdumont@gcc.gnu.org>
* libstdc++-v3/testsuite/util/testsuite_allocator.h
	(CustomPointerAlloc<>::allocate(size_t, pointer)): Replace by...
	(CustomPointerAlloc<>::allocate(size_t, const_void_pointer)): ...this.

From-SVN: r267381
2018-12-23 18:11:38 +00:00
François Dumont 23d5fd6cd6 Respect pointer_traits on node deallocation in _ReuseOrAllocNode parenthesis operator.
2018-12-23  François Dumont  <fdumont@gcc.gnu.org>

	Respect pointer_traits on node deallocation in _ReuseOrAllocNode
	parenthesis operator.

	* include/bits/hashtable_policy.h
	(_Hashtable_alloc<>::_M_deallocate_node_ptr(__node_type*)): New.
	(_Hashtable_alloc<>::_M_deallocate_node(__node_type*)): Use latter.
	(_ReuseOrAllocNode<>::operator<_Arg>()(_Arg&&)): Likewise.

From-SVN: r267380
2018-12-23 18:05:23 +00:00
Paul Thomas 18246c420f re PR fortran/77703 (ICE on assignment to pointer function)
2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77703
	* resolve.c (get_temp_from_expr): Use the string length of
	constant character expressions.

2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77703
	* gfortran.dg/ptr_func_assign_5.f08 : New test.

From-SVN: r267379
2018-12-23 17:35:13 +00:00
Martin Sebor b71bbbe2b2 builtins.h (c_strlen_data): Add new fields and comments.
* builtins.h (c_strlen_data): Add new fields and comments.
	* builtins.c (unterminated_array): Change field reference from
	"len" to "minlen" in c_strlen_data instance.
	* gimple-fold.c (get_range_strlen): Likewise.
	* gimple-ssa-sprintf.c (get_string_length): Likewise.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r267378
2018-12-23 09:00:45 -07:00
Martin Sebor e09aa5bd6d builtins.c (unterminated_array): Rename "data" to "lendata".
* builtins.c (unterminated_array): Rename "data" to "lendata".  Fix
	a few comments.
	(expand_builtin_strnlen, expand_builtin_stpcpy_1): Likewise.
	(fold_builtin_strlen): Likewise.
	* gimple-fold.c (get_range_strlen): Likewise.  Also rename a couple
	instances of "type" to "optype" and "arg" to "fld".

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r267377
2018-12-23 08:49:43 -07:00
Martin Sebor 3f46ef1ff6 builtins.c (unterminated_array): Use empty brace initialization for c_strlen_data.
2018-12-23  Martin Sebor  <msebor@redhat.com>
	    Jeff Law  <law@redhat.com>

	* builtins.c (unterminated_array): Use empty brace initialization
	for c_strlen_data.
	(c_strlen, expand_builtin_strnlen): Likewise.
	(expand_builtin_stpcpy_1, fold_builtin_strlen): Likewise.
	* gimple-fold.c (get_range_strlen): Likewise.
	(gimple_fold_builtin_stpcpy): Likewise.
	* gimple-ssa-sprintf.c (get_string_length): Likewise.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r267376
2018-12-23 08:37:28 -07:00
Alan Modra f7bdd292d9 [RS6000] PR88346, Inconsistent list of CPUs supported after r266502
This patch removes the %e error for AIX, since it seems there has been
no attempt to keep cpu support up to date for AIX, and adds missing
entries to ASM_CPU_SPEC in rs6000.h.  The rs64a->rs64 name change
happened a long time ago as a fix for PR20813 (git commit c92b4c3f5b).

	PR 88346
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Correct %e message.  Handle
	-mcpu=rs64, not -mcpu=rs64a.  Handle -mcpu=powerpc64 and -mcpu=titan.
	* config/rs6000/driver-rs6000.c (asm_names): Similarly.
	* config/rs6000/aix71.h (ASM_CPU_SPEC): Delete %e message.  Handle
	-mcpu=rs64, not -mcpu=rs64a.
	* config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise.

From-SVN: r267375
2018-12-23 23:58:20 +10:30
Iain Sandoe 3f5c0b6bb1 Fix Ada bootstrap for Darwin9 and earlier.
2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

gcc/ada/

	* adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system
	interface used is available on the target.

From-SVN: r267374
2018-12-23 12:51:52 +00:00
Iain Sandoe b5327e50d5 LTO-wrapper, don't pre-link early debug objects.
Pass them to the final link, the pre-link wasn't effective.
Make the temp filenames easier to follow.
Also save them in the CWD when save-temps is given.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

	* lto-wrapper.c (tool_cleanup): Don’t report ficticious temp files.
	(debug_objcopy): Improve temp filenames.  Append the early
	debug objects to the outfiles.  Remove the phase prelinking the
	early debug. Emit the early debug filenames for ld.

From-SVN: r267373
2018-12-23 12:43:47 +00:00
Iain Sandoe d590d99ac9 Fix ident tests by Enabling ident output for X86 Darwin.
The c-c++-common tests fail (or XPASS depending on which) on Darwin
because it doesn't currently emit .ident marker.  For X86 Darwin, this
is a trivial oversight; the assembler supports the directive.  We can
therefore use the default target hook there.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

        * config/i386/darwin.h (TARGET_ASM_OUTPUT_IDENT): New.

From-SVN: r267372
2018-12-23 11:04:14 +00:00
Iain Sandoe 4098a6d436 use simple-object instead of nm to determine if files contain LTO.
This replaces the use of nm to search for the LTO common symbol marker
and uses simple object to see if there's a section starting with
".gnu.lto_." or ".gnu.offload_lto_"

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

	* collect2.c (maybe_run_lto_and_relink): Don’t say we have a temp file
	unless we actually did some LTO.
	(has_lto_section, is_lto_object_file): New.
	(maybe_lto_object_file): Remove.
	(scan_prog_file): Use is_lto_object_file() instead of scanning the
	output of nm.

From-SVN: r267371
2018-12-23 10:43:59 +00:00
Iain Sandoe 513825f06b Handle -save-temps in collect2
Handle the option, make the saved filenames and paths easier to handle.
Don't print '[Leaving...]' for files we never created and don't exist - or unless
verbose is true.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

	* collect2.c (main): Parse the output file early so we can make nicer
	temp names.  Respond to “-save-temps” in the GCC OPTIONS.
	(maybe_unlink): Don’t print “[Leaving…”] for files we never created
	and don’t exist.

From-SVN: r267370
2018-12-23 10:35:28 +00:00
Iain Sandoe f67eeb79e1 Ensure collect2 responds to intended commmand line options.
To ensure compatibility with the flags consumed by ld, some of the flags
needed by collect2 come from the command line and some are passed
in the COLLECT_GCC_OPTIONS.

Here we combine initial parses of both and then set the LTO mode accordingly.

2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

	* collect2.c (main): Combine flags from both the command line and
	COLLECT_GCC_OPTIONS to determine the set in force

From-SVN: r267369
2018-12-23 10:28:51 +00:00
Steven G. Kargl 0652a15121 re PR fortran/88328 (ICE in resolve_tag_format, at fortran/io.c:1641)
2018-12-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88328
	* io.c (resolve_tag_format): Add error for zero-sized array.
	(gfc_resolve_dt): Manipulate gfc_current_locus to get sensible error
	message locus.

2018-12-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88328
	* gfortran.dg/pr88328.f90: New test.

From-SVN: r267367
2018-12-23 05:18:27 +00:00
GCC Administrator e2385f4e81 Daily bump.
From-SVN: r267366
2018-12-23 00:16:22 +00:00
Jason Merrill 6c8120c5ff Remove support for demangling GCC 2.x era mangling schemes.
libiberty/
	* cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
	internal_cplus_demangle, and all subroutines.
	(libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
	Lucid, ARM, HP, and EDG demangling styles.
	(cplus_demangle): Remove 'work' variable.  Don't call
	internal_cplus_demangle.
include/
	* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
	ARM, HP, and EDG demangling styles.

From-SVN: r267363
2018-12-22 19:06:34 -05:00
Jan Hubicka 61e8dc4b93 * ipa-utils.c (ipa_merge_profiles): Recompute summaries.
From-SVN: r267361
2018-12-22 21:13:41 +00:00
Jan Hubicka 4611c03d2b tree.c: (obj_type_ref_class): Move to...
* tree.c: (obj_type_ref_class): Move to...
	* ipa-devirt.c (obj_type_ref_class): Move to here; lookup main
	odr type.
	(get_odr_type): Compensate for type simplification.

	* g++.dg/ipa/devirt-30.C: Add dg-do.
	* g++.dg/lto/devirt-1_0.C: New testcase.
	* g++.dg/lto/devirt-2_0.C: New testcase.
	* g++.dg/lto/devirt-3_0.C: New testcase.
	* g++.dg/lto/devirt-4_0.C: New testcase.
	* g++.dg/lto/devirt-5_0.C: New testcase.
	* g++.dg/lto/devirt-6_0.C: New testcase.
	* g++.dg/lto/devirt-13_0.C: New testcase.
	* g++.dg/lto/devirt-14_0.C: New testcase.
	* g++.dg/lto/devirt-19_0.C: New testcase.
	* g++.dg/lto/devirt-22_0.C: New testcase.
	* g++.dg/lto/devirt-23_0.C: New testcase.
	* g++.dg/lto/devirt-30_0.C: New testcase.
	* g++.dg/lto/devirt-34_0.C: New testcase.

From-SVN: r267359
2018-12-22 20:06:52 +00:00
Iain Sandoe b5e1a72454 [Patch, PowerPC/Darwin] Fix library export of long double symbols.
During 8.x, the rs6000 target-specific mangling was reorganised which uncovered
a long-standing bug in Darwin’s mangling for ‘IBM’ long double.  Now the symbols
are correctly mangled, and we end up with a bunch of test link fails.

This patch adds the necessary subset of the Linux long double exports to Darwin’s
export table.

2018-12-22  Iain Sandoe  <iain@sandoe.co.uk>

	* /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols.

From-SVN: r267358
2018-12-22 20:06:47 +00:00
Steven G. Kargl 02543f0263 re PR fortran/85798 (ICE in get_array_index, at fortran/data.c:69)
2018-12-22  Steven G . Kargl  <kargl@gcc.gnu.org>

	PR fortran/85798
	* decl.c (gfc_match_data): If a component of a derived type entity
	appears in data statement, check that does not have the allocatable
	attribute.
 
2018-12-22  Steven G . Kargl  <kargl@gcc.gnu.org>

	PR fortran/85798
	* gfortran.dg/pr85798.f90: New test.

From-SVN: r267356
2018-12-22 19:37:06 +00:00
Steven G. Kargl 73f5d219bb re PR fortran/88169 (Rejects USE rename of namelist group)
2018-12-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88169
	* module.c (mio_namelist): Remove an error condition/message that
	is contrary to the Fortran standard.

2018-12-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88169
	* gfortran.dg/pr88169_1.f90: new test.
	* gfortran.dg/pr88169_2.f90: Ditto.
	* gfortran.dg/pr88169_3.f90: Ditto.

From-SVN: r267351
2018-12-22 17:26:12 +00:00
Thomas Koenig a00165b466 backport: re PR fortran/85544 (ICE in gfc_conv_scalarized_array_ref, at fortran/trans-array.c:3385)
2018-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

    Backport from trunk
    PR fortran/85544
    * gfortran.dg/power_7.f90: New test.

From-SVN: r267348
2018-12-22 14:21:01 +00:00
Thomas Koenig 06b2653852 re PR fortran/85544 (ICE in gfc_conv_scalarized_array_ref, at fortran/trans-array.c:3385)
2018-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85544
	* frontend-passes.c (optimize_power): Remove.
	(optimize_op): Remove call to optimize_power.
	* trans-expr.c (gfc_conv_power_op): Handle cases of 1**integer,
	(2|4|8|16) ** integer and (-1) ** integer.

2018-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85544
	* gfortran.dg/power_7.f90: New test.

From-SVN: r267347
2018-12-22 14:14:44 +00:00
GCC Administrator 91c02f863e Daily bump.
From-SVN: r267346
2018-12-22 00:16:32 +00:00
Steven G. Kargl 8ab8b08a13 re PR fortran/69121 (IEEE_SCALB is not generic)
2018-12-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69121
	* ieee/ieee_arithmetic.F90: Provide missing interfaces for IEEE_SCALB.

2018-12-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69121
	* gfortran.dg/ieee/ieee_9.f90: New test.

From-SVN: r267343
2018-12-21 21:09:17 +00:00
Jakub Jelinek 4cd3e7df0b re PR c++/86524 (std::less with pointer arguments not usable in static_assert in constexpr function)
PR c++/86524
	PR c++/88446
	* cp-tree.h (cp_fold_maybe_rvalue, cp_fold_rvalue): Declare.
	(fold_non_dependent_expr): Add manifestly_const_eval argument.
	* constexpr.c (cxx_eval_builtin_function_call): Evaluate
	__builtin_constant_p if ctx->manifestly_const_eval even in constexpr
	functions.  Don't reuse dummy{1,2} vars between different arguments.
	Use cp_fold_rvalue instead of cp_fully_fold.  Fix comment typo.
	(fold_non_dependent_expr): Add manifestly_const_eval argument, pass
	it through to cxx_eval_outermost_constant_expr and
	maybe_constant_value.
	* cp-gimplify.c (cp_fold_maybe_rvalue, cp_fold_rvalue): No longer
	static.
	* semantics.c (finish_static_assert): Call fold_non_dependent_expr
	with true as manifestly_const_eval.

	* g++.dg/cpp1y/constexpr-86524.C: New test.
	* g++.dg/cpp2a/is-constant-evaluated4.C: New test.
	* g++.dg/cpp2a/is-constant-evaluated5.C: New test.
	* g++.dg/cpp2a/is-constant-evaluated6.C: New test.

From-SVN: r267341
2018-12-21 20:58:36 +01:00
Paul Thomas dca0061722 correct double semi-colons
From-SVN: r267340
2018-12-21 19:25:02 +00:00
Jakub Jelinek d1ffbd43e8 re PR middle-end/85594 (ICE during expand when compiling with -fwrapv -fopenmp)
PR middle-end/85594
	PR middle-end/88553
	* omp-expand.c (extract_omp_for_update_vars): Regimplify the condition
	if needed.
	(expand_omp_for_generic): Don't clobber t temporary for ordered loops.

	* gcc.dg/gomp/pr85594.c: New test.
	* gcc.dg/gomp/pr88553.c: New test.

From-SVN: r267339
2018-12-21 20:17:13 +01:00
Jan Hubicka ffdcdc0b5a re PR ipa/88561 (PGO devirtualization miscompilation of firefox)
PR ipa/88561
	* ipa-polymorphic-call.c
	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Handle
	arguments of thunks correctly.
	(ipa_polymorphic_call_context::get_dynamic_context): Be ready for
	NULL instance pinter.
	* lto-cgraph.c (lto_output_node): Always stream thunk info.

From-SVN: r267338
2018-12-21 19:13:06 +00:00
Paul Thomas 69597e2f5d re PR fortran/87881 (gfortran.dg/inquiry_type_ref_(1.f08|3.f90) fail on darwin)
2018-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87881
	* expr.c (find_inquiry_ref): Loop through the inquiry refs in
	case there are two of them.
	(simplify_ref_chain): Return true after a successful call to
	find_inquiry_ref.

2018-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87881
	* gfortran.dg/inquiry_part_ref_4.f90: New test.

From-SVN: r267337
2018-12-21 19:09:42 +00:00
Andreas Krebbel 2f8df14d37 S/390: Add support for double<->long vector converts
gcc/ChangeLog:

2018-12-21  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/s390/vector.md ("floatv2div2df2", "floatunsv2div2df2")
	("fix_truncv2dfv2di2", "fixuns_truncv2dfv2di2"): New pattern
	definitions.

gcc/testsuite/ChangeLog:

2018-12-21  Andreas Krebbel  <krebbel@linux.ibm.com>

	* gcc.target/s390/vector/fp-signedint-convert-1.c: New test.
	* gcc.target/s390/vector/fp-unsignedint-convert-1.c: New test.

From-SVN: r267336
2018-12-21 18:57:00 +00:00
Uros Bizjak c3d62ffdc2 pr88418.c (dg-options): Add -mno-avx.
* gcc.target/i386/pr88418.c (dg-options): Add -mno-avx.

From-SVN: r267334
2018-12-21 19:13:22 +01:00
Thomas Preud'homme 7c50cefc2c Update maintainer email address
2018-12-21  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

    * MAINTAINERS (Write After Approval): Update my maintainer address.

From-SVN: r267330
2018-12-21 17:53:03 +00:00
Gergö Barany ea9a30d071 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r267329
2018-12-21 17:23:16 +00:00
Eric Botcazou dd9bf787d3 re PR rtl-optimization/87727 (gcc.target/sparc/overflow-2.c FAILs)
PR rtl-optimization/87727
	* combine.c (cant_combine_insn_p): On a LEAF_REGISTERS target, combine
	again moves from leaf hard registers.

	* final.c (final_scan_insn_1) <NOTE_INSN_INLINE_ENTRY>: Minor tweak.

From-SVN: r267328
2018-12-21 16:09:23 +00:00
Jakub Jelinek 4a77025b7d re PR target/88522 (Error: operand size mismatch for `vpgatherqq')
PR target/88522
	* config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask,
	*avx512pf_gatherpf<mode>df_mask, *avx512pf_scatterpf<mode>sf_mask,
	*avx512pf_scatterpf<mode>df_mask): Use %X5 instead of %5 for
	-masm=intel.
	(gatherq_mode): Remove mode iterator.
	(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2): Use X instead
	of <xtg_mode>.
	(*avx512f_gatherdi<mode>): Use X instead of <gatherq_mode>.
	(*avx512f_gatherdi<mode>_2, *avx512f_scattersi<mode>,
	*avx512f_scatterdi<mode>): Use %X5 for -masm=intel.

From-SVN: r267327
2018-12-21 17:01:53 +01:00
Jakub Jelinek f9f248c8b8 re PR rtl-optimization/88563 (wrong code with -O2 -fno-code-hoisting -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-forwprop -fno-tree-fre -fno-tree-pre -fno-tree-vrp)
PR rtl-optimization/88563
	* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Swap innermode
	and mode arguments to convert_modes.  Likewise swap mode and word_mode
	arguments.  Handle both arguments with VOIDmode before convert_modes
	of one of them.  Formatting fixes.

	* gcc.dg/pr88563.c: New test.

From-SVN: r267326
2018-12-21 16:54:55 +01:00
Uros Bizjak 247c45b265 re PR target/88556 (Inline built-in sinh, cosh, tanh for -ffast-math)
PR target/88556
	* internal-fn.def (COSH): New.
	(SINH): Ditto.
	(TANH): Ditto.
	* optabs.def (cosh_optab): New.
	(sinh_optab): Ditto.
	(tanh_optab): Ditto.
	* config/i386/i386-protos.h (ix86_emit_i387_sinh): New prototype.
	(ix86_emit_i387_cosh): Ditto.
	(ix86_emit_i387_tanh): Ditto.
	* config/i386/i386.c (ix86_emit_i387_sinh): New function.
	(ix86_emit_i387_cosh): Ditto.
	(ix86_emit_i387_tanh): Ditto.
	* config/i386/i386.md (sinhxf2): New expander.
	(sinh<mode>2):	Ditto.
	(coshxf2): Ditto.
	(cosh<mode>2): Ditto.
	(tanhxf2): Ditto.
	(tanh<mode>2): Ditto.

From-SVN: r267325
2018-12-21 14:30:58 +01:00
Jakub Jelinek 6aa698aa4d re PR c++/87125 (ICE in tsubst_copy starting with r261084)
PR c++/87125
	* g++.dg/cpp0x/pr87125.C: New test.

From-SVN: r267324
2018-12-21 13:11:57 +01:00
Thomas Preud'homme 7fa344c523 [ARM] Fix size-optimization-ieee testcase failure
On some version of dejagnu, options in RUNTESTFLAGS are appended to the
command-line and thus any -mfloat-abi=softfp or -mfloat-abi=hard in
there overwrite the -mfloat-abi=soft in the dg-options for
size-optimization-ieee-* tests. Test is still run though because
arm_soft_ok returns true if -mfloat-abi=soft is accepted, even if the
file is not compiled for softfloat due to a later -mfloat-abi on the
command line.

This patch adds a dg-skip-if to those tests to ensure they are not run
in softfp or hard mode.

2018-12-21  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

    gcc/testsuite/
    * gcc.target/arm/size-optimization-ieee-1.c: Skip if passing
    -mfloat-abi=softfp or -mfloat-abi=hard.
    * gcc.target/arm/size-optimization-ieee-2.c: Likewise.
    * gcc.target/arm/size-optimization-ieee-3.c: Likewise.

From-SVN: r267323
2018-12-21 11:49:04 +00:00
Jakub Jelinek d6b612a76f re PR target/88547 (missed optimization for vector comparisons)
PR target/88547
	* config/i386/i386.c (ix86_expand_int_sse_cmp): Optimize
	x > y ? 0 : -1 into min (x, y) == x ? -1 : 0.

	* gcc.target/i386/pr88547-1.c: Expect only 2 knotb and 2 knotw
	insns instead of 4, check for vpminud, vpminuq and no vpsubd or
	vpsubq.
	* gcc.target/i386/sse2-pr88547-1.c: New test.
	* gcc.target/i386/sse2-pr88547-2.c: New test.
	* gcc.target/i386/sse4_1-pr88547-1.c: New test.
	* gcc.target/i386/sse4_1-pr88547-2.c: New test.
	* gcc.target/i386/avx2-pr88547-1.c: New test.
	* gcc.target/i386/avx2-pr88547-2.c: New test.
	* gcc.target/i386/avx512f-pr88547-2.c: New test.
	* gcc.target/i386/avx512vl-pr88547-1.c: New test.
	* gcc.target/i386/avx512vl-pr88547-2.c: New test.
	* gcc.target/i386/avx512vl-pr88547-3.c: New test.
	* gcc.target/i386/avx512f_cond_move.c (y): Change from unsigned int
	array to int array.

From-SVN: r267322
2018-12-21 11:37:11 +01:00
Jan Beulich 10d26d9dd2 x86: VAESDEC{,LAST} allow memory inputs
They are no different from their VAESENC{,LAST} counterparts in this
regard.

From-SVN: r267321
2018-12-21 09:31:30 +00:00
Alexandre Oliva 5d6551f527 support --with-multilib-list=@name for ARM
Introduce @name as a means to specify alternate multilib profiles as
arguments to --with-multilib-list.

So far this is only implemented for ARM.


for  gcc/ChangeLog

	* config.gcc (tmake_file): Add name to tmake_file for
        each @name in --with-multilib-list on arm-*-* targets.
	* doc/install.texi (with-multilib-list): Document it.

From-SVN: r267320
2018-12-21 05:40:53 +00:00
Marek Polacek 906a9283a5 PR c++/88196 - ICE with class non-type template parameter.
* pt.c (convert_nontype_argument): If the expr is a PTRMEM_CST, also
	check if the type we're converting it to is TYPE_PTRMEM_P.

	* g++.dg/cpp0x/ptrmem-cst-arg1.C: Tweak dg-error.
	* g++.dg/cpp2a/nontype-class10.C: New test.
	* g++.dg/template/pr54858.C: Tweak dg-error.

From-SVN: r267319
2018-12-21 03:34:06 +00:00