Commit Graph

166966 Commits

Author SHA1 Message Date
Martin Liska
a5f87af7ed Use 1UL constant in order to not overflow (PR c++/89383).
2019-02-18  Martin Liska  <mliska@suse.cz>

	PR c++/89383
	* line-map.c (linemap_line_start): Use 1UL in order
	to not overflow.

From-SVN: r268981
2019-02-18 09:46:19 +00:00
Martin Jambor
469b4adb4f [PR 89209] Avoid segfault in a peculiar corner case in SRA
2019-02-18  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/89209
	* tree-sra.c (create_access_replacement): New optional parameter
	reg_tree.  Use it as a type if non-NULL and access type is not of
	a register type.
	(get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
	to create_access_replacement.
	(sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
	Check lacc is non-NULL before attempting to re-create it on the RHS.

	testsuite/
	* gcc.dg/tree-ssa/pr89209.c: New test.

From-SVN: r268980
2019-02-18 09:59:04 +01:00
Martin Liska
db30281f0b Come up with fast {function,call}_summary classes (PR ipa/89306).
2019-02-18  Martin Liska  <mliska@suse.cz>

	PR ipa/89306
	* cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
	by default.
	(symbol_table::free_edge): Recycle m_summary_id.
	* cgraph.h (get_summary_id): New.
	(symbol_table::release_symbol): Set m_summary_id to -1
	by default.
	(symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
	* ipa-fnsummary.c (ipa_fn_summary_t): Switch from
	function_summary to fast_function_summary.
	* ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
	* ipa-pure-const.c (class funct_state_summary_t):
	Switch from function_summary to fast_function_summary.
	* ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
	(class ipa_ref_opt_summary_t): Switch from function_summary
	to fast_function_summary.
	* symbol-summary.h (class function_summary_base): New class
	that is created from base of former function_summary.
	(function_summary_base::unregister_hooks): New.
	(class function_summary): Inherit from function_summary_base.
	(class call_summary_base): New class
	that is created from base of former call_summary.
	(class call_summary): Inherit from call_summary_base.
	(struct is_same): New.
	(class fast_function_summary): New summary class.
	(class fast_call_summary): New summary class.
	* vec.h (vec_safe_grow_cleared): New function.

From-SVN: r268979
2019-02-18 08:21:23 +00:00
Martin Liska
e8cecccc2e Support if statement in !GCC$ builtin directive.
2019-02-18  Martin Liska  <mliska@suse.cz>

	* config/i386/i386.c (ix86_get_multilib_abi_name): New function.
	(TARGET_GET_MULTILIB_ABI_NAME): New macro defined.
	* doc/tm.texi: Document new target hook.
	* doc/tm.texi.in: Likewise.
	* target.def: Add new target macro.
	* gcc.c (find_fortran_preinclude_file): Do not search multilib
	suffixes.
2019-02-18  Martin Liska  <mliska@suse.cz>

	* decl.c (gfc_match_gcc_builtin): Add support for filtering
	of builtin directive based on multilib ABI name.
2019-02-18  Martin Liska  <mliska@suse.cz>

	* gfortran.dg/simd-builtins-7.f90: New test.
	* gfortran.dg/simd-builtins-7.h: New test.

From-SVN: r268978
2019-02-18 08:19:47 +00:00
GCC Administrator
d3cbcb2338 Daily bump.
From-SVN: r268977
2019-02-18 00:17:08 +00:00
Harald Anlauf
0f7cec0982 re PR fortran/88299 ([F18] COMMON in a legacy module produces bogus warnings in dependent code)
2019-02-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/88299
	* resolve.c (resolve_common_blocks,resolve_common_vars): Move
	check for obsolent COMMON feature in F2018 to better place.

	PR fortran/88299
	* gfortran.dg/pr88299.f90: New test.

From-SVN: r268974
2019-02-17 21:19:20 +00:00
Harald Anlauf
e6ca33ba57 re PR fortran/89077 (ICE using * as len specifier for character parameter)
2019-02-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/89077
	* decl.c (gfc_set_constant_character_len): Clear original string
	representation after padding has been performed to target length.

	PR fortran/89077
	* gfortran.dg/transfer_simplify_12.f90: New test.

From-SVN: r268973
2019-02-17 21:14:14 +00:00
Marek Polacek
dc20515ee5 re PR c++/89356 (sorry, unimplemented: mangling implicit_conv_expr in nodejs8 package since r268321)
PR c++/89356
	* g++.dg/abi/mangle68.C: New test.
	* g++.dg/cpp0x/decltype69.C: New test.

From-SVN: r268972
2019-02-17 17:53:54 +00:00
Marek Polacek
35d7b5284e re PR c++/89315 (Cannot convert to std::initializer_list - fails with gcc9 works with gcc8)
PR c++/89315
	* g++.dg/cpp0x/initlist114.C: New test.

From-SVN: r268971
2019-02-17 17:25:27 +00:00
Marek Polacek
feb0dcfede * g++.old-deja/g++.robertl/eb82.C: Tweak dg-error.
From-SVN: r268970
2019-02-17 16:55:37 +00:00
Marek Polacek
1f6857ba56 PR c++/89217 - ICE with list-initialization in range-based for loop.
* constexpr.c (unshare_constructor): No longer static.
	* cp-tree.h (unshare_constructor): Declare.
	* semantics.c (finish_compound_literal): When dealing with a
	non-dependent expression in a template, return the original
	expression.  Pass LOOKUP_NO_NARROWING to digest_init_flags.

	* g++.dg/cpp0x/range-for37.C: New test.

From-SVN: r268969
2019-02-17 16:52:40 +00:00
Alan Modra
b43e6340c8 [RS6000] Fix <bd>_<mode> and <bd>tf_<mode> splitters
This patch fixes a bug that can result in "insn does not satisfy its
constraints" if these splitters fire due to not getting ctr for the
jump insn.  Since the jump insn can have any of r,m,d,wi,c,l as the
decremented count output, it's not sufficient to check for
gpc_reg_operand (which matches VSX regs for example).  Seen after
correcting register_move_cost when the cost of gpr <-> vsx is much
lower.  Since this is a prerequisite to fixing PR89271, I'm mentioning
that PR in the ChangeLog.

The <bd>tf_<mode> split had a further bug in that it wouldn't match
if the count output was m,d,wi, or l.

	PR target/89271
	* config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int
	output reg on add insn.
	(<bd>tf_<mode> split): Likewise.  Match predicates with insn.

From-SVN: r268968
2019-02-17 13:31:41 +10:30
GCC Administrator
b8cc38153b Daily bump.
From-SVN: r268967
2019-02-17 00:16:28 +00:00
H.J. Lu
2f3d266045 i386: Add ssse3_pmulhrswv4hi3 expander
There is no V4HI pmulhrsw in AVX512BW and V4HI/V8HI pmulhrsw don't require
AVX2.

	PR target/89372
	* config/i386/sse.md (ssedoublemode): Remove V4HI.
	(PMULHRSW): Likewise.
	(<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
	TARGET_AVX2.
	(ssse3_pmulhrswv4hi3): New expander.

From-SVN: r268964
2019-02-16 14:16:04 -08:00
H.J. Lu
49be11f5c9 i386: Correct *vec_extractv2si_zext_mem
The second and third alternatives in *vec_extractv2si_zext_mem don't
require MMX.  But the second one requires SSE2.

	* config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
	MMX.  Add isa attribute.

From-SVN: r268963
2019-02-16 12:29:24 -08:00
Jakub Jelinek
843192c0eb re PR tree-optimization/88074 (g++ hangs on math expression)
PR middle-end/88074
	* simplify.c (simplify_transformation_to_array): Run post_op
	immediately after processing corresponding row, rather than at the
	end.
	(norm2_scale): New variable.
	(add_squared): Rename to ...
	(norm2_add_squared): ... this.  Scale down operand and/or result
	if needed.
	(do_sqrt): Rename to ...
	(norm2_do_sqrt): ... this.  Handle the result == e case.  Scale up
	result and clear norm2_scale.
	(gfc_simplify_norm2): Clear norm2_scale.  Change add_squared to
	norm2_add_squared and &do_sqrt to norm2_do_sqrt.  Scale up result
	and clear norm2_scale again.

From-SVN: r268962
2019-02-16 19:46:04 +01:00
David Malcolm
3fe53000bb Fix excess warnings from -Wtype-limits with location wrappers (PR c++/88680)
PR c++/88680 reports excess warnings from -Wtype-limits after the C++
FE's use of location wrappers was extended in r267272 for cases such as:

  const unsigned n = 8;
  static_assert (n >= 0 && n % 2 == 0, "");

t.C:3:18: warning: comparison of unsigned expression >= 0 is always true
  [-Wtype-limits]
    3 | static_assert (n >= 0 && n % 2 == 0, "");
      |                ~~^~~~

The root cause is that the location wrapper around "n" breaks the
suppression of the warning for the "if OP0 is a constant that is >= 0"
case.

This patch fixes it by calling fold_for_warn on OP0, extracting the
constant.

gcc/c-family/ChangeLog:
	PR c++/88680
	* c-common.c (shorten_compare): Call fold_for_warn on op0 when
	implementing -Wtype-limits.

gcc/testsuite/ChangeLog:
	PR c++/88680
	* g++.dg/wrappers/pr88680.C: New test.

From-SVN: r268961
2019-02-16 16:17:17 +00:00
Thomas Koenig
9dbdefbb20 re PR fortran/71066 (ICE in set_loop_bounds, at fortran/trans-array.c:4680)
2019-02-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71066
	* trans-decl.c (generate_coarray_sym_init):  For an array
	constructor in a DATA statement of a coarray variable, set the
	rank to 1 to avoid confusion later on.  If the constructor
	contains only one value, use that for initiailizig.

2019-02-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71066
	* gfortran.dg/coarray_data_1.f90: New test.

From-SVN: r268960
2019-02-16 16:12:51 +00:00
Eric Botcazou
d810ce4b18 patchable_function_entry-decl.c: Add -fno-pie on SPARC.
* c-c++-common/patchable_function_entry-decl.c: Add -fno-pie on SPARC.
	* c-c++-common/patchable_function_entry-default.c: Likewise.
	* c-c++-common/patchable_function_entry-definition.c: Likewise.

From-SVN: r268958
2019-02-16 14:40:53 +00:00
Jakub Jelinek
3140b2ed03 re PR rtl-optimization/66152 (suboptimal load bytes to stack)
PR rtl-optimization/66152
	* builtins.h (c_readstr): Declare.
	* builtins.c (c_readstr): Remove forward declaration.  Add
	null_terminated_p argument, if false, read all bytes from the
	string instead of stopping after '\0'.
	* expr.c (string_cst_read_str): New function.
	(store_expr): Use string_cst_read_str instead of
	builtin_strncpy_read_str.  Try to store by pieces the whole
	exp_len first, and only if that fails, split it up into
	store by pieces followed by clear_storage.  Formatting fix.

	* gcc.target/i386/pr66152.c: New test.

From-SVN: r268957
2019-02-16 12:20:33 +01:00
Jakub Jelinek
1f1d52e33d i386.md (*movqi_internal): Remove static from buf variable.
* config/i386/i386.md (*movqi_internal): Remove static from
	buf variable.  Use output_asm_insn (buf, operands); return "";
	instead of return buf;.
	* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
	*<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
	*<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.

From-SVN: r268956
2019-02-16 11:05:16 +01:00
GCC Administrator
bc50c4998f Daily bump.
From-SVN: r268955
2019-02-16 00:16:34 +00:00
Cherry Zhang
fba70f605e compiler,runtime: use __builtin_dwarf_cfa for getcallersp
Currently, the compiler lowers runtime.getcallersp to
    __builtin_frame_address(1). In the C side of the runtime,
    getcallersp is defined as __builtin_frame_address(0). They don't
    match. Further, neither of them actually returns the caller's SP.
    On AMD64, __builtin_frame_address(0) just returns the frame
    pointer. __builtin_frame_address(1) returns the memory content
    where the frame pointer points to, which is typically the
    caller's frame pointer but can also be garbage if the frame
    pointer is not enabled.
    
    This CL changes it to use __builtin_dwarf_cfa(), which returns
    the caller's SP at the call site. This matches the SP we get
    from unwinding the stack.
    
    Currently getcallersp is not used for anything real. It will be
    used for precise stack scan (a new version of CL 159098).
    
    Reviewed-on: https://go-review.googlesource.com/c/162905

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_dwarf_cfa
	instead of __builtin_frame_address.

From-SVN: r268952
2019-02-15 23:22:29 +00:00
Eric Botcazou
9695618899 asan_oob_test.cc: Skip OOB_int on SPARC.
* g++.dg/asan/asan_oob_test.cc: Skip OOB_int on SPARC.
	* g++.dg/asan/function-argument-3.C: Tweak for 32-bit SPARC.

From-SVN: r268951
2019-02-15 23:16:25 +00:00
Eric Botcazou
34c5627c9c linux.h (ASAN_CC1_SPEC): Define.
* config/sparc/linux.h (ASAN_CC1_SPEC): Define.
	(CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC and ASAN_CC1_SPEC.
	* config/sparc/linux64.h (ASAN_CC1_SPEC): Likewise.
	(CC1_SPEC): Likewise.
	* config/sparc/sparc.c (sparc_asan_shadow_offset): Adjust for 64-bit.

From-SVN: r268950
2019-02-15 23:08:49 +00:00
Eric Botcazou
362432c00d asan.c (asan_emit_stack_protection): Use full-sized mask to align the base address on 64-bit strict-alignment platforms.
* asan.c (asan_emit_stack_protection): Use full-sized mask to align
	the base address on 64-bit strict-alignment platforms.

From-SVN: r268949
2019-02-15 21:40:24 +00:00
Ian Lance Taylor
dd66d9d71d re PR go/89368 (ICE in go/gofrontend/expressions.cc:4669 after r268923)
PR go/89368
    compiler: write barrier check nil-check policy tweak
    
    Tweak the recipe for generating writeBarrier loads to insure that the
    dereference expr is marked as not requiring a nil check (not needed
    for gccgo, but needed for gollvm).
    
    Fixes https://gcc.gnu.org/PR89368
    
    Reviewed-on: https://go-review.googlesource.com/c/162904

From-SVN: r268948
2019-02-15 21:04:58 +00:00
H.J. Lu
879f9d0b2f i386: Fix ')' in VALID_MMX_REG_MODE
Replace "(MODE == V1DImode)" with "(MODE) == V1DImode".

	* config/i386/i386.h (VALID_MMX_REG_MODE): Correct the misplaced
	')'.

From-SVN: r268947
2019-02-15 12:47:31 -08:00
Uros Bizjak
d6cfb47fd4 darwin.h (TARGET_FPMATH_DEFAULT_P): New define.
* config/i386/darwin.h (TARGET_FPMATH_DEFAULT_P): New define.

From-SVN: r268944
2019-02-15 19:02:50 +01:00
Tamar Christina
75e2abe6f9 Arm: Remove alternative from neon_softfp_fp16 directive.
There's a bit of a disconnect between the feature flags that don't test the fpu
and ones that do when the test itself also forces an architecture.  The forcing
of the architecture would change the defaults and without explicitly giving the
correct fpu again the test would fail.

I don't see a good way to solve this problem, really the feature tests should
ideally contain the extra options the test adds too, but for this specific case
it can be solved by always testing the fpu explicitly.

Committed under the GCC obvious

gcc/testsuite/ChangeLog:

	* lib/target-supports.exp
	(check_effective_target_arm_neon_softfp_fp16_ok_nocache): Drop non-fpu
	checking alternative.

From-SVN: r268943
2019-02-15 17:17:17 +00:00
Aaron Sawdey
0a3d52ddee re PR rtl-optimization/88308 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2309)
2019-02-15  Aaron Sawdey  <acsawdey@linux.ibm.com>

	PR rtl-optimization/88308
	* shrink-wrap.c (move_insn_for_shrink_wrap): Fix LABEL_NUSES counts
	on copied instruction.

From-SVN: r268942
2019-02-15 09:41:25 -06:00
Ian Lance Taylor
a72128258b re PR go/89123 (Too many go test failures on s390x-linux)
PR go/89123
    internal/cpu, runtime: add S/390 CPU capability support
    
    Patch by Robin Dapp.
    
    Updates https://gcc.gnu.org/PR89123
    
    Reviewed-on: https://go-review.googlesource.com/c/162887

From-SVN: r268941
2019-02-15 14:51:10 +00:00
Ian Lance Taylor
7b54753033 runtime: include <syscall.h> and <sys/syscall.h> if available
Fixes Solaris build.
    
    Reviewed-on: https://go-review.googlesource.com/c/162885

From-SVN: r268940
2019-02-15 14:25:12 +00:00
Ian Lance Taylor
d86dd2490f runtime: add type cast for non-split-stack calls to scanstackblock
Reviewed-on: https://go-review.googlesource.com/c/162884

From-SVN: r268939
2019-02-15 13:54:45 +00:00
Eric Botcazou
2dca0c882a * gcc.target/sparc/struct-ret-check-1.c: Add -fno-pie option.
From-SVN: r268934
2019-02-15 10:55:50 +00:00
Eric Botcazou
3bafb64805 patchable_function_entry-decl.c: Do not run on Visium.
* c-c++-common/patchable_function_entry-decl.c: Do not run on Visium.
	* c-c++-common/patchable_function_entry-default.c: Likewise.
	* c-c++-common/patchable_function_entry-definition.c: Likewise.
	* gcc.dg/tree-ssa/pr84859.c: Add -ftree-cselim switch.

From-SVN: r268932
2019-02-15 10:50:27 +00:00
Eric Botcazou
bf7988f1e9 lib2funcs.c (__set_trampoline_parity): Replace TRAMPOLINE_SIZE with __LIBGCC_TRAMPOLINE_SIZE__.
libgcc/
	* config/visium/lib2funcs.c (__set_trampoline_parity): Replace
	TRAMPOLINE_SIZE with __LIBGCC_TRAMPOLINE_SIZE__.
gcc/
	* final.c (insn_current_reference_address): Replace test on JUMP_P
	with test on jump_to_label_p.
	* config/visium/visium-passes.def: New file.
	* config/visium/t-visium (PASSES_EXTRA): Define.
	* config/visium/visium-protos.h (make_pass_visium_reorg): Declare.
	* config/visium/visium.h (TRAMPOLINE_SIZE): Adjust.
	(TRAMPOLINE_ALIGNMENT): Define.
	* config/visium/visium.c (visium_option_override): Do not register
	the machine-specific reorg pass here.
	(visium_trampoline_init): Align the BRA insn on a 64-bit boundary
	for the GR6.
	(output_branch): Adjust threshold for long branch instruction.
	* config/visium/visium.md (cpu): Move around.
	(length): Adjust for the GR6.

From-SVN: r268931
2019-02-15 10:40:34 +00:00
Jakub Jelinek
9f53b76775 re PR other/69006 (Extraneous newline emitted between error messages in GCC 6)
PR other/69006
	PR testsuite/88920
	* lib/gcc-dg.exp: If llvm_binutils effective target, set
	allow_blank_lines to 2 during initialization.
	(dg-allow-blank-lines-in-output): Set allow_blank_lines to 1 only if
	it was previously zero.
	(gcc-dg-prune): Don't check for llvm_binutils effective target here.
	Clear allow_blank_lines afterwards whenever it was 1.
	* gdc.test/gdc-test.exp (dmd2dg): Don't call
	dg-allow-blank-lines-in-output here.
	(gdc-do-test): Set allow_blank_lines to 3 if it is 0 before running
	the tests and restore it back at the end.

From-SVN: r268930
2019-02-15 08:52:50 +01:00
Jakub Jelinek
906c376300 opts-1.c: New test.
* c-c++-common/ubsan/opts-1.c: New test.
	* c-c++-common/ubsan/opts-2.c: New test.
	* c-c++-common/ubsan/opts-3.c: New test.
	* c-c++-common/ubsan/opts-4.c: New test.

From-SVN: r268929
2019-02-15 08:51:38 +01:00
Richard Biener
4c9ed22ae0 re PR tree-optimization/89278 (ICE in gimplify_modify_expr, at gimplify.c:5821)
PR tree-optimization/89278
	* tree-loop-distribution.c: Include tree-eh.h.
	(generate_memset_builtin, generate_memcpy_builtin): Call
	rewrite_to_non_trapping_overflow on builtin->size before passing it
	to force_gimple_operand_gsi.

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

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r268927
2019-02-15 08:39:45 +01:00
Jakub Jelinek
5f88ba10e0 re PR c/89340 (ICE in function_and_variable_visibility, at ipa-visibility.c:707)
PR c/89340
	* c-decl.c (start_function): Clear TREE_PUBLIC on nested functions
	before c_decl_attributes rather than after it.

	* gcc.dg/pr89340.c: New test.
	* gcc.dg/torture/pr57036-2.c (jpgDecode_convert): Expect a warning
	that leaf attribute on nested function is useless.

From-SVN: r268926
2019-02-15 08:38:09 +01:00
Jakub Jelinek
f521d9d8ad re PR other/89342 (ICE in maybe_default_option, at opts.c:347)
PR other/89342
	* optc-save-gen.awk: Handle optimize_fast like optimize_size or
	optimize_debug.
	* opth-gen.awk: Likewise.

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

From-SVN: r268924
2019-02-15 08:17:24 +01:00
Ian Lance Taylor
8a9f2a6bbd compiler, runtime: harmonize types referenced by both C and Go
Compiling with LTO revealed a number of cases in the runtime and
    standard library where C and Go disagreed about the type of an object or
    function (or where Go and code generated by the compiler disagreed). In
    all cases the underlying representation was the same (e.g., uintptr vs.
    void*), so this wasn't causing actual problems, but it did result in a
    number of annoying warnings when compiling with LTO.
    
    Reviewed-on: https://go-review.googlesource.com/c/160700

From-SVN: r268923
2019-02-15 01:57:51 +00:00
Ian Lance Taylor
c8530c4109 re PR go/89168 (FAIL: cmd/go/internal/load)
PR go/89168
    libgo: change gotest to run examples with output
    
    Change the gotest script to act like "go test" and run examples that
    have "output" comments.  This is not done with full generality, but
    just enough to run the libgo tests.  Other packages should be tested
    with "go test" as usual.
    
    While we're here clean up some old bits of gotest, and only run
    TestXXX functions that are actually in *_test.go files.  The latter
    change should fix https://gcc.gnu.org/PR89168.
    
    Reviewed-on: https://go-review.googlesource.com/c/162139

From-SVN: r268922
2019-02-15 00:36:50 +00:00
Ian Lance Taylor
b90fff0cc0 go-backend.c (go_imported_unsafe): Update optimization_default_node.
* go-backend.c (go_imported_unsafe): Update
	optimization_default_node.

From-SVN: r268921
2019-02-15 00:29:41 +00:00
GCC Administrator
f97745dca5 Daily bump.
From-SVN: r268920
2019-02-15 00:16:44 +00:00
Uros Bizjak
8b131a8a7a i386.h (TARGET_SUBTARGET64_ISA_DEFAULT): Enable MMX, SSE and SSE2 by default.
* config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT):
	Enable MMX, SSE and SSE2 by default.
	* config/i386/i386.c (ix86_option_override_internal): Do not
	explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here.

From-SVN: r268917
2019-02-15 00:54:25 +01:00
Jakub Jelinek
dddd0c7a5b re PR rtl-optimization/89354 (Combine pass yields wrong code with -O2 and -msse2 for 32bit target)
PR rtl-optimization/89354
	* combine.c (make_extraction): Punt if extraction_mode is narrower
	than len bits.

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

From-SVN: r268913
2019-02-15 00:10:47 +01:00
Uros Bizjak
bf36afbc8f ssse3-pabsb.c: Re-enable 64-bit form on AVX targets.
* gcc.target/i386/ssse3-pabsb.c: Re-enable 64-bit form on AVX targets.
	* gcc.target/i386/ssse3-pabsd.c: Ditto.
	* gcc.target/i386/ssse3-pabsw.c: Ditto.
	* gcc.target/i386/ssse3-palignr.c: Ditto.
	* gcc.target/i386/ssse3-phaddd.c: Ditto.
	* gcc.target/i386/ssse3-phaddsw.c: Ditto.
	* gcc.target/i386/ssse3-phaddw.c: Ditto.
	* gcc.target/i386/ssse3-phsubd.c: Ditto.
	* gcc.target/i386/ssse3-phsubsw.c: Ditto.
	* gcc.target/i386/ssse3-phsubw.c: Ditto.
	* gcc.target/i386/ssse3-pmaddubsw.c: Ditto.
	* gcc.target/i386/ssse3-pmulhrsw.c: Ditto.
	* gcc.target/i386/ssse3-pshufb.c: Ditto.
	* gcc.target/i386/ssse3-psignb.c: Ditto.
	* gcc.target/i386/ssse3-psignd.c: Ditto.
	* gcc.target/i386/ssse3-psignw.c: Ditto.

From-SVN: r268907
2019-02-14 22:54:36 +01:00
Janne Blomqvist
6608603212 PR 81552 Improve and document -flag-init-integer
Make the option handling code parse the -flag-init-integer value as a
C long type, allowing a larger range on systems where long is a larger
type than int.  Document the behavior.

Regtested on x86_64-pc-linux-gnu, committed as obvious.

2019-02-14  Janne Blomqvist  <jb@gcc.gnu.org>

        PR fortran/81552
        * gfortran.h (gfc_option_t): Make flag_init_integer_value a long.
        * options.c (gfc_handle_option): Use strtol instead of atoi.
        * invoke.texi: Document -finit-integer behavior in more detail

From-SVN: r268906
2019-02-14 23:33:29 +02:00