Uros Bizjak [Tue, 11 Apr 2017 20:36:58 +0000 (22:36 +0200)]
i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts.
* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
Use shift_const cost parameter when calculating gain of STV shifts.
From-SVN: r246856
Vladimir Makarov [Tue, 11 Apr 2017 19:39:59 +0000 (19:39 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)
2017-04-11 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70478
* lra-constraints.c (process_alt_operands): Check memory for
disfavoring memory insn operand.
From-SVN: r246854
Jakub Jelinek [Tue, 11 Apr 2017 17:21:51 +0000 (19:21 +0200)]
re PR middle-end/80100 (simplify-rtx.c sanitizer detects undefined behaviour with optimization)
PR middle-end/80100
* simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
left shift in unsigned HOST_WIDE_INT type.
* gcc.dg/pr80100.c: New test.
From-SVN: r246851
Jakub Jelinek [Tue, 11 Apr 2017 17:19:56 +0000 (19:19 +0200)]
re PR rtl-optimization/80385 (Segfault in commutative_operand_precedence() rtlanal.c:3373)
PR rtl-optimization/80385
* simplify-rtx.c (simplify_unary_operation_1): Don't transform
(not (neg X)) into (plus X -1) for complex or non-integral modes.
* g++.dg/opt/pr80385.C: New test.
From-SVN: r246850
Jakub Jelinek [Tue, 11 Apr 2017 17:15:47 +0000 (19:15 +0200)]
re PR libgomp/80394 (Empty OpenMP task is wrongly removed when optimizing)
PR libgomp/80394
* omp-low.c (scan_omp_task): Don't optimize away empty tasks
if they have any depend clauses.
* testsuite/libgomp.c/pr80394.c: New test.
From-SVN: r246849
Martin Liska [Tue, 11 Apr 2017 16:38:19 +0000 (18:38 +0200)]
Add function part to a same comdat group (PR ipa/80212).
2017-04-11 Martin Liska <mliska@suse.cz>
PR ipa/80212
* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
* ipa-split.c (split_function): Create a local comdat symbol
if caller is in a comdat group.
2017-04-11 Martin Liska <mliska@suse.cz>
PR ipa/80212
* g++.dg/ipa/pr80212.C: New test.
From-SVN: r246848
Martin Liska [Tue, 11 Apr 2017 16:37:31 +0000 (18:37 +0200)]
Do not create a constprop clone for calls_comdat_local nodes (PR ipa/80212).
2017-04-11 Martin Liska <mliska@suse.cz>
PR ipa/80212
* ipa-cp.c (determine_versionability): Handle calls_comdat_local
flags.
From-SVN: r246847
Martin Sebor [Tue, 11 Apr 2017 16:35:34 +0000 (16:35 +0000)]
PR middle-end/80364 - sanitizer detects signed integer overflow in gimple-ssa-sprintf.c
gcc/ChangeLog:
PR middle-end/80364
* gimple-ssa-sprintf.c (get_int_range): Remove second argument and
always use the int type. Use INTEGRAL_TYPE_P() rather than testing
for INTEGER_TYPE.
(directive::set_width, directive::set_precision, format_character):
Adjust.
(parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
INTEGER_TYPE.
gcc/testsuite/ChangeLog:
PR middle-end/80364
* gcc.dg/tree-ssa/builtin-sprintf-warn-16.c: New test.
From-SVN: r246846
Damian Rouson [Tue, 11 Apr 2017 16:34:07 +0000 (16:34 +0000)]
download_prerequisites (md5_check): New function emulates Linux 'md5 --check' on macOS.
2017-04-11 Damian Rouson <damian@sourceryinstitute.org>
* download_prerequisites (md5_check): New function emulates Linux
'md5 --check' on macOS. Modified script for macOS compatibility.
From-SVN: r246845
Richard Earnshaw [Tue, 11 Apr 2017 14:57:41 +0000 (14:57 +0000)]
[arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name as a CPU name
In this PR we incorrectly print the architecture name in a .cpu
directive in the assembly file when the -mcpu and -march options
conflict (don't target the same base architecture). In this case the
.arch overrides the .cpu directive and we should emit a .arch option.
PR target/80389
* config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch conflict,
set target->arch_name instead of target->cpu_name.
From-SVN: r246843
Jerry DeLisle [Tue, 11 Apr 2017 14:51:25 +0000 (14:51 +0000)]
close.c: Fix white space in pointer declarations and comment formats where applicable.
2017-04-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* close.c: Fix white space in pointer declarations and comment
formats where applicable.
* fbuf.c: Likewise.
* fbuf.h: Likewise.
* format.c: Likewise.
* inquire.c: Likewise.
* intrinsics.c: Likewise.
* list_read.c: Likewise.
* lock.c: Likewise.
* open.c: Likewise.
* read.c: Likewise.
* transfer.c: Likewise.
* unit.c: Likewise.
* unix.c: Likewise.
* unix.h: Likewise.
* write.c: Likewise.
From-SVN: r246842
Richard Biener [Tue, 11 Apr 2017 13:44:24 +0000 (13:44 +0000)]
re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)
2017-04-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/80374
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
build_zero_cst, remove fold_convertible_p check again.
From-SVN: r246840
Martin Liska [Tue, 11 Apr 2017 13:08:08 +0000 (15:08 +0200)]
Do not instrument register variables in object-size sanitizer (PR sanitizer/70878).
2017-04-11 Martin Liska <mliska@suse.cz>
PR sanitizer/70878
* ubsan.c (instrument_object_size): Do not instrument register
variables.
2017-04-11 Martin Liska <mliska@suse.cz>
PR sanitizer/70878
* gcc.dg/ubsan/pr70878.c: New test.
From-SVN: r246837
Jakub Jelinek [Tue, 11 Apr 2017 08:54:54 +0000 (10:54 +0200)]
re PR target/80381 (AVX512: -O3, _mm512_srai_epi32, the last argument must be an 8-bit immediate)
PR target/80381
* config/i386/i386-builtin-types.def
(V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
* config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
__builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
__builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
__builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
__builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
__builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
__builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
__builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
__builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
__builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
__builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
__builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
__builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
__builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
__builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
__builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
__builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
__builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
__builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
__builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
__builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
__builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
__builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
__builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
aliases.
* config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
flag to second_arg_count, handle 4 argument function type _COUNT
aliases, handle second_arg_count on second argument rather than last.
* gcc.target/i386/pr80381.c: New test.
From-SVN: r246835
Jakub Jelinek [Tue, 11 Apr 2017 08:51:40 +0000 (10:51 +0200)]
re PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#<expression error>)
PR c++/80363
* error.c (dump_expr): Handle VEC_COND_EXPR like COND_EXPR.
* g++.dg/ext/pr80363.C: New test.
From-SVN: r246834
Markus Trippelsdorf [Tue, 11 Apr 2017 06:31:58 +0000 (06:31 +0000)]
Fix pr80374 testcase
From-SVN: r246832
Senthil Kumar Selvaraj [Tue, 11 Apr 2017 05:09:41 +0000 (05:09 +0000)]
Fix bogus builtin-sprintf-warn-{3,10}.c failures for avr.
This patch fixes a whole bunch of failures reported for
gcc.dg/tree-ssa/builtin-sprintf-warn-{3,10}.c for the avr target.
builtin-sprintf-warn-10.c fails because the bounds in the warning
messages expect 4 digit wide exponents i.e. __DBL_MAX_EXP__ > 999.
For the avr, floats and doubles are both 32 bits wide, __DBL_MAX_EXP__
== 128, and the max number of exponent digits can only be 3 .
The computed size thus ends up one short of the value the test
expects. The patch makes the test run only for targets with double64plus.
builtin-sprintf-warn-3.c fails because the test appears to assume all
non lp64 targets to be ilp32. For the avr, pointer size and int size
are equal, but both are 16 bits, not 32. The patch fixes this by
explicitly adding avr to the dejagnu selector.
gcc/testsuite
2017-04-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Require double64plus.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c (void test_too_large):
Add avr-*-* to non-lp64 selector.
From-SVN: r246831
GCC Administrator [Tue, 11 Apr 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246830
Martin Sebor [Mon, 10 Apr 2017 23:26:17 +0000 (17:26 -0600)]
Adjust dg-bogus pattern to match the text of the changed diagnostic.
gcc/testsuite:
* gcc.dg/pr40340-3.c: Adjust directive pattern.
* gcc.dg/pr40340-4.c: Same.
From-SVN: r246827
Nicolas Koenig [Mon, 10 Apr 2017 20:58:21 +0000 (22:58 +0200)]
re PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded statement)
2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/69498
* module.c (gfc_match_submodule): Add error
if function is called in the wrong state.
2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/69498
* gfortran.dg/submodule_unexp.f90: Modified test
to account for new error.
* gfortran.dg/submodule_twice.f90: New Test
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r246826
Jakub Jelinek [Mon, 10 Apr 2017 20:49:11 +0000 (22:49 +0200)]
re PR c++/80176 (cannot bind reference to static member function using object access expression)
PR c++/80176
* tree.c (lvalue_kind): For COMPONENT_REF with BASELINK second
operand, if it is a static member function, recurse on the
BASELINK.
* g++.dg/init/ref23.C: New test.
From-SVN: r246825
Thomas Koenig [Mon, 10 Apr 2017 20:40:48 +0000 (20:40 +0000)]
re PR tree-optimization/80304 (Wrong result with do concurrent)
2017-04-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR tree-optimization/80304
* gfortran.dg/do_concurrent_4.f90: New test case.
From-SVN: r246824
Janus Weil [Mon, 10 Apr 2017 20:28:23 +0000 (22:28 +0200)]
re PR fortran/80046 ([F03] Explicit interface required: pointer argument)
2017-04-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/80046
* expr.c (gfc_check_pointer_assign): Check if procedure pointer
components in a pointer assignment need an explicit interface.
2017-04-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/80046
* gfortran.dg/proc_ptr_comp_48.f90: New test case.
From-SVN: r246823
David Edelsohn [Mon, 10 Apr 2017 19:50:33 +0000 (19:50 +0000)]
* g++.dg/torture/pr79905.C: Add -maltivec option.
From-SVN: r246820
Jeff Law [Mon, 10 Apr 2017 19:19:42 +0000 (13:19 -0600)]
re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)
PR tree-optimization/80374
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
record anything if we can not convert integer_zero_node to the
desired type.
PR tree-optimization/80374
* g++.dg/pr80374.c: New test.
From-SVN: r246819
Kelvin Nilsen [Mon, 10 Apr 2017 19:01:37 +0000 (19:01 +0000)]
re PR target/80108 (ICE in aggregate_value_p at function.c:2028)
gcc/ChangeLog:
2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/80108
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Enhance special handling given to the TARGET_P9_MINMAX option in
relation to certain other options.
gcc/testsuite/ChangeLog:
2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/80108
* gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: New file.
* gcc.target/powerpc/ppc-fortran/pr80108-1.f90: New test.
From-SVN: r246818
Uros Bizjak [Mon, 10 Apr 2017 18:58:34 +0000 (20:58 +0200)]
unroll-7.c: Declare "a" as a pointer to external array.
* gcc.dg/unroll-7.c: Declare "a" as a pointer to external array.
From-SVN: r246817
Uros Bizjak [Mon, 10 Apr 2017 18:51:42 +0000 (20:51 +0200)]
re PR testsuite/79356 (XPASS in attr-alloc_size-11.c)
PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on alpha.
From-SVN: r246816
Daniel Santos [Mon, 10 Apr 2017 17:45:35 +0000 (17:45 +0000)]
re PR testsuite/79867 ([cygwin] LD_LIBRARY_PATH ignored, contaminating (nearly?) all test results)
2017-04-10 Daniel Santos <daniel.santos@pobox.com>
PR testsuite/79867
* lib/target-libpath.exp: Merge in cygwin fix from libffi.
From-SVN: r246813
Marek Polacek [Mon, 10 Apr 2017 17:18:15 +0000 (17:18 +0000)]
re PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)
PR sanitizer/80348
* typeck.c (cp_build_binary_op): Use NULL_TREE instead of NULL. Set
ORIG_TYPE earlier and not only when shortening.
* g++.dg/ubsan/div-by-zero-3.C: New test.
From-SVN: r246812
Bin Cheng [Mon, 10 Apr 2017 16:54:14 +0000 (16:54 +0000)]
re PR tree-optimization/80153 (ivopt generate wrong code)
PR tree-optimization/80153
* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
remove POINTER_PLUS_EXPR's base part directly, rather than through
aff_tree.
From-SVN: r246811
Bin Cheng [Mon, 10 Apr 2017 16:51:44 +0000 (16:51 +0000)]
re PR tree-optimization/80153 (ivopt generate wrong code)
PR tree-optimization/80153
* tree-affine.c (aff_combination_to_tree): Get base pointer from
the first element of pointer type aff_tree. Build result expr in
aff_tree's type.
(add_elt_to_tree): Convert to type unconditionally. Remove other
fold_convert calls.
* tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
(rewrite_use_nonlinear_expr): Check invariant using iv information.
gcc/testsuite
PR tree-optimization/80153
* gcc.c-torture/execute/pr80153.c: New.
From-SVN: r246810
Richard Biener [Mon, 10 Apr 2017 15:34:19 +0000 (15:34 +0000)]
tree-ssa-structalias.c (find_func_aliases): Properly handle asm inputs.
2017-04-10 Richard Biener <rguenther@suse.de>
* tree-ssa-structalias.c (find_func_aliases): Properly handle
asm inputs.
From-SVN: r246809
Vladimir Makarov [Mon, 10 Apr 2017 14:58:33 +0000 (14:58 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)
2017-04-10 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70478
* lra-constraints.c (curr_small_class_check): New.
(update_and_check_small_class_inputs): New.
(process_alt_operands): Update curr_small_class_check. Disfavor
alternative insn memory operands. Check available regs for small
class operands.
From-SVN: r246808
Matthew Fortune [Mon, 10 Apr 2017 13:44:39 +0000 (13:44 +0000)]
Update MIPS -mvirt option description
gcc/
PR target/80057
* config/mips/mips.opt (-mvirt): Update description.
* doc/invoke.texi (-mvirt): Likewise.
From-SVN: r246807
Richard Biener [Mon, 10 Apr 2017 13:02:12 +0000 (13:02 +0000)]
re PR middle-end/80362 (gcc miscompiles arithmetic with signed char)
2017-04-10 Richard Biener <rguenther@suse.de>
PR middle-end/80362
* fold-const.c (fold_binary_loc): Look at unstripped ops when
looking for NEGATE_EXPR in -A / -B to A / B folding.
* gcc.dg/torture/pr80362.c: New testcase.
From-SVN: r246805
Martin Liska [Mon, 10 Apr 2017 11:37:14 +0000 (13:37 +0200)]
Support multiple files w/ -i option in gcov (PR gcov-profile/80224).
2017-04-10 Martin Liska <mliska@suse.cz>
PR gcov-profile/80224
* gcov.c (print_usage): Fix usage string.
(get_gcov_intermediate_filename): Remove.
(output_gcov_file): Use both for normal and intermediate format.
(generate_results): Do not initialize special file for
intermediate format.
From-SVN: r246804
Richard Biener [Mon, 10 Apr 2017 11:27:05 +0000 (11:27 +0000)]
re PR tree-optimization/80304 (Wrong result with do concurrent)
2017-04-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/80304
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
for safelen.
* gcc.dg/torture/pr80304.c: New testcase.
From-SVN: r246803
Nathan Sidwell [Mon, 10 Apr 2017 11:25:44 +0000 (11:25 +0000)]
re PR target/79905 (ICE in canonical types differ for identical types __vector(4) int and V4i {aka __vector(4) int})
PR target/79905
* config/rs6000/rs6000.c (rs6000_vector_type): New.
(rs6000_init_builtins): Use it.
PR target/79905
* g++.dg/torture/pr79905.C: New.
From-SVN: r246802
Kyrylo Tkachov [Mon, 10 Apr 2017 11:21:55 +0000 (11:21 +0000)]
[ARM] Add source mode to coprocessor pattern SETs
* config/arm/arm.md (<mrc>): Add mode to SET source.
(<mrrc>): Likewise.
From-SVN: r246801
Richard Biener [Mon, 10 Apr 2017 08:58:02 +0000 (08:58 +0000)]
re PR tree-optimization/80344 (-Wuninitialized triggering on a ctor on ARM)
2017-04-10 Richard Biener <rguenther@suse.de>
PR middle-end/80344
* gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.
From-SVN: r246800
Martin Liska [Mon, 10 Apr 2017 07:29:29 +0000 (09:29 +0200)]
Evaluate a SAVE_EXPR before an UBSAN check (PR sanitizer/80350).
2017-04-10 Martin Liska <mliska@suse.cz>
PR sanitizer/80350
* c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
doing an UBSAN check.
2017-04-10 Martin Liska <mliska@suse.cz>
PR sanitizer/80350
* c-c++-common/ubsan/pr80350.c: New test.
From-SVN: r246799
Jakub Jelinek [Mon, 10 Apr 2017 06:53:28 +0000 (08:53 +0200)]
re PR target/80324 (_mm512_reduce_xxx type instrinsics are missing)
PR target/80324
* config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
_mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
_mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
_mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
_mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
_mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
_mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
_mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
_mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
_mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
_mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
_mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
_mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
_mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
_mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
_mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
_mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
_mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
_mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
_mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
_mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
_mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
_mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.
* gcc.target/i386/avx512f-reduce-op-1.c: New test.
From-SVN: r246798
GCC Administrator [Mon, 10 Apr 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246797
Jason Merrill [Sun, 9 Apr 2017 05:38:40 +0000 (01:38 -0400)]
PR c++/80356 - ICE with reference to function template argument.
PR c++/79294
* pt.c (convert_nontype_argument_function): Adjust type even with a
value-dependent argument.
From-SVN: r246794
Jason Merrill [Sun, 9 Apr 2017 05:06:08 +0000 (01:06 -0400)]
PR c++/80267 - ICE with nested capture of reference
PR c++/60992
* pt.c (tsubst_copy): Handle lookup finding a capture proxy.
From-SVN: r246793
GCC Administrator [Sun, 9 Apr 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246792
Vladimir Makarov [Sat, 8 Apr 2017 19:18:42 +0000 (19:18 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)
2017-04-08 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70478
* lra-constraints.c: Reverse the last patch.
From-SVN: r246789
Andreas Tobler [Sat, 8 Apr 2017 18:58:22 +0000 (20:58 +0200)]
aarch64-freebsd.h: Define MCOUNT_NAME.
2017-04-08 Andreas Tobler <andreast@gcc.gnu.org>
* config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
Add comment for WCHAR_T.
From-SVN: r246786
Martin Liska [Sat, 8 Apr 2017 17:09:58 +0000 (19:09 +0200)]
Revert r246759.
From-SVN: r246785
Aaron Sawdey [Sat, 8 Apr 2017 16:10:26 +0000 (16:10 +0000)]
re PR rtl-optimization/80358 (ICE (cc1 killed) building glib with -O3 on powerpc64le-linux-gnu)
2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/80358
* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
From-SVN: r246784
GCC Administrator [Sat, 8 Apr 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246783
Pat Haugen [Fri, 7 Apr 2017 19:35:44 +0000 (19:35 +0000)]
rs6000.c (vec_load_pendulum): Rename...
* rs6000/rs6000.c (vec_load_pendulum): Rename...
(vec_pairing): ...to this.
(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
(rs6000_sched_init): Adjust for name change.
(struct rs6000_sched_context): Likewise.
(rs6000_init_sched_context): Likewise.
(rs6000_set_sched_context): Likewise.
From-SVN: r246776
Jakub Jelinek [Fri, 7 Apr 2017 19:23:24 +0000 (21:23 +0200)]
avx512f-vgetmantps-2.c: Add -mfpmath=sse to dg-options.
* gcc.target/i386/avx512f-vgetmantps-2.c: Add -mfpmath=sse to
dg-options.
* gcc.target/i386/avx512f-vgetmantpd-2.c: Likewise.
From-SVN: r246775
Jakub Jelinek [Fri, 7 Apr 2017 19:22:00 +0000 (21:22 +0200)]
re PR target/80322 (convert intrinsics missing)
PR target/80322
PR target/80323
PR target/80325
PR target/80326
* config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
intrinsics.
* config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
_mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
_mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.
* gcc.target/i386/avx512f-undefined-1.c: New test.
* gcc.target/i386/avx512f-cvtsd-1.c: New test.
* gcc.target/i386/avx-cvtsd-1.c: New test.
* gcc.target/i386/avx512f-cvtss-1.c: New test.
* gcc.target/i386/avx512f-abspd-1.c: New test.
* gcc.target/i386/avx-cvtss-1.c: New test.
* gcc.target/i386/avx512f-absps-1.c: New test.
* gcc.target/i386/avx512f-int2mask-1.c: New test.
* gcc.target/i386/avx512f-mask2int-1.c: New test.
From-SVN: r246774
Andreas Tobler [Fri, 7 Apr 2017 18:50:11 +0000 (20:50 +0200)]
aarch64-freebsd.h: Define WCHAR_TYPE.
2017-04-07 Andreas Tobler <andreast@gcc.gnu.org>
* config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.
From-SVN: r246773
Marek Polacek [Fri, 7 Apr 2017 18:09:55 +0000 (18:09 +0000)]
re PR c++/80095 (ICE with this pointer in NSDMI)
PR c++/80095
* call.c (build_over_call): Don't check cxx_dialect.
* cp-gimplify.c (cp_gimplify_init_expr): Don't check cxx_dialect nor
whether SUB is a CONSTRUCTOR.
* init.c (build_new_1): Don't check cxx_dialect.
* tree.c (replace_placeholders): Add a function comment. Return if
not in C++14, or if the object isn't a (member of a) class.
* typeck2.c (store_init_value): Don't check cxx_dialect nor whether
TYPE is CLASS_TYPE_P.
* g++.dg/cpp1y/nsdmi-aggr8.C: New test.
From-SVN: r246772
Marek Polacek [Fri, 7 Apr 2017 17:51:55 +0000 (17:51 +0000)]
re PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)
PR sanitizer/80348
* typeck.c (cp_build_binary_op): Convert COP[01] to ORIG_TYPE.
* g++.dg/ubsan/div-by-zero-2.C: New test.
From-SVN: r246770
Jeff Law [Fri, 7 Apr 2017 16:11:57 +0000 (10:11 -0600)]
Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of target makefile fragment.
* Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of
target makefile fragment.
* config/sh/t-sh (unwind-dw2-Os-4-200.o): Depend on LIBGCC_LINKS.
From-SVN: r246766
Vladimir Makarov [Fri, 7 Apr 2017 16:06:28 +0000 (16:06 +0000)]
re PR rtl-optimization/70703 (Regression in register usage on x86)
2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70703
* ira-color.c (update_conflict_hard_regno_costs): Use
int64_t instead of HOST_WIDE_INT.
From-SVN: r246765
Vladimir Makarov [Fri, 7 Apr 2017 16:01:50 +0000 (16:01 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)
2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70478
* lra-constraints.c (process_alt_operands): Disfavor alternative
insn memory operands.
2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70478
* gcc.target/s390/pr70478.c: New.
From-SVN: r246764
Jeff Law [Fri, 7 Apr 2017 14:26:05 +0000 (08:26 -0600)]
iq2000.c (final_prescan_insn): Do not separate a CALL and NOTE_INSN_CALL_ARG_LOCATION.
* config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
CALL and NOTE_INSN_CALL_ARG_LOCATION.
From-SVN: r246761
Martin Liska [Fri, 7 Apr 2017 11:20:01 +0000 (13:20 +0200)]
Error message on target attribute on aarch64 target (PR target/79889).
2017-04-07 Martin Liska <mliska@suse.cz>
PR target/79889
* g++.dg/ext/mv8.C: Add aarch64* targets.
2017-04-07 Martin Liska <mliska@suse.cz>
PR target/79889
* config/aarch64/aarch64.c (aarch64_process_target_attr):
Show error message instead of an ICE.
From-SVN: r246760
Martin Liska [Fri, 7 Apr 2017 10:36:21 +0000 (12:36 +0200)]
Add function part to a same comdat group (PR ipa/80212).
2017-04-07 Martin Liska <mliska@suse.cz>
PR ipa/80212
* g++.dg/ipa/pr80212.C: New test.
2017-04-07 Martin Liska <mliska@suse.cz>
PR ipa/80212
* ipa-split.c (split_function): Add function part to a same comdat
group.
From-SVN: r246759
Thomas Preud'homme [Fri, 7 Apr 2017 09:44:33 +0000 (09:44 +0000)]
[testsuite] Require c99_runtime for pr79800.c
2017-04-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.dg/tree-ssa/pr79800.c: Require c99_runtime.
From-SVN: r246758
Richard Biener [Fri, 7 Apr 2017 08:47:43 +0000 (08:47 +0000)]
re PR tree-optimization/80334 (Segfault when taking address of copy of unaligned struct)
2017-04-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/80334
* g++.dg/torture/pr80334.C: Use __BIGGEST_ALIGNMENT__ for
alignas on stack.
From-SVN: r246757
Richard Biener [Fri, 7 Apr 2017 08:20:24 +0000 (08:20 +0000)]
re PR middle-end/80341 (gcc miscompiles division of signed char)
2017-04-07 Richard Biener <rguenther@suse.de>
PR middle-end/80341
* tree.c (get_unwidened): Also handle ! for_type case for
INTEGER_CSTs.
* convert.c (do_narrow): Split out from ...
(convert_to_integer_1): ... here. Do not pass final truncation
type to get_unwidened for TRUNC_DIV_EXPR.
* gcc.dg/torture/pr80341.c: New testcase.
From-SVN: r246756
Richard Biener [Fri, 7 Apr 2017 08:04:32 +0000 (08:04 +0000)]
tree-affine.c (wide_int_ext_for_comb): Take type rather than aff_tree.
2017-04-07 Richard Biener <rguenther@suse.de>
* tree-affine.c (wide_int_ext_for_comb): Take type rather
than aff_tree.
(aff_combination_const): Adjust.
(aff_combination_scale): Likewise.
(aff_combination_add_elt): Likewise.
(aff_combination_add_cst): Likewise.
(aff_combination_convert): Likewise.
(add_elt_to_tree): Likewise. Remove unused argument.
(aff_combination_to_tree): Adjust calls to add_elt_to_tree.
From-SVN: r246755
Sebastian Huber [Fri, 7 Apr 2017 07:02:07 +0000 (07:02 +0000)]
ARM: Introduce ARM_DEFAULT_SHORT_ENUMS
Allow targets to define the default for the short enums option.
gcc/
* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
definition.
* config/arm/arm.c (arm_default_short_enums): Use
ARM_DEFAULT_SHORT_ENUMS.
* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
From-SVN: r246753
Alan Modra [Fri, 7 Apr 2017 01:30:43 +0000 (11:00 +0930)]
[RS6000] Out-of-line register save functions can't be used from crtend.o
PR target/45053
* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.
From-SVN: r246749
GCC Administrator [Fri, 7 Apr 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246748
Jakub Jelinek [Thu, 6 Apr 2017 20:46:29 +0000 (22:46 +0200)]
re PR debug/80234 (ICE in splice_child_die at dwarfout.c:5265)
PR debug/80234
* dwarf2out.c (gen_member_die): Handle C++17 inline static data
members with redundant out-of-class redeclaration.
* g++.dg/debug/dwarf2/pr80234-1.C: New test.
* g++.dg/debug/dwarf2/pr80234-2.C: New test.
From-SVN: r246743
Uros Bizjak [Thu, 6 Apr 2017 19:22:02 +0000 (21:22 +0200)]
re PR target/80286 (AVX2 _mm_cvtsi128_si32 doesn't return a proper 32bits int)
PR target/80286
* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
* config/i386/i386.md (*zero_extendsidi2):
Add (?*x,*x) and (?*v,*v) alternatives.
From-SVN: r246741
Uros Bizjak [Thu, 6 Apr 2017 18:49:43 +0000 (20:49 +0200)]
re PR target/79733 (ICE in int_mode_for_mode, at stor-layout.c:406)
PR target/79733
* config/i386/i386.c (ix86_expand_builtin)
<case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
mode from insn data. Convert operands to insn operand mode.
Copy operands that don't satisfy insn predicate to a register.
testsuite/ChangeLog:
PR target/79733
* gcc.target/i386/pr79733.c: New test.
From-SVN: r246739
Uros Bizjak [Thu, 6 Apr 2017 18:34:18 +0000 (20:34 +0200)]
re PR target/80298 (<x86intrin.h> incompatible with -mno-sse)
PR target/80298
* gcc.target/i386/pr80298-1.c: New test.
* gcc.target/i386/pr80298-2.c: Ditto.
From-SVN: r246737
Sam Thursfield [Thu, 6 Apr 2017 16:56:49 +0000 (16:56 +0000)]
x-aix: Increase memory limit for genautomata on AIX.
2017-04-06 Sam Thursfield <sam.thursfield@codethink.co.uk>
* config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
Update comments.
From-SVN: r246735
Thomas Preud'homme [Thu, 6 Apr 2017 14:53:22 +0000 (14:53 +0000)]
[ARM] Compile atomic_loaddi_11 for Cortex-R5
2017-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com
gcc/testsuite/
PR target/80082
* gcc.target/arm/atomic_loaddi_11.c: Target Cortex-R5 instead of
ARMv7-R.
From-SVN: r246733
Richard Biener [Thu, 6 Apr 2017 13:56:35 +0000 (13:56 +0000)]
re PR tree-optimization/80334 (Segfault when taking address of copy of unaligned struct)
2017-04-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/80334
* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
preserve alignment of accesses.
* g++.dg/torture/pr80334.C: New testcase.
From-SVN: r246731
Martin Liska [Thu, 6 Apr 2017 13:42:24 +0000 (15:42 +0200)]
Cherry-pick upstream r299036 from libsanitizer (PR sanitizer/80166).
2017-04-06 Martin Liska <mliska@suse.cz>
PR sanitizer/80166
* sanitizer_common/sanitizer_common_interceptors.inc (INTERCEPTOR):
Cherry-pick upstream r299036.
2017-04-06 Martin Liska <mliska@suse.cz>
PR sanitizer/80166
* gcc.dg/asan/pr80166.c: New test.
From-SVN: r246730
Rainer Orth [Thu, 6 Apr 2017 13:11:21 +0000 (13:11 +0000)]
Fix gcc.target/i386/pr79390.c for Solaris as
PR tree-optimization/79390
* gcc.target/i386/pr79390.c: Allow for cmovl.a.
From-SVN: r246729
Richard Biener [Thu, 6 Apr 2017 12:31:05 +0000 (12:31 +0000)]
re PR middle-end/80262 (address space gets lost in memory access)
2017-04-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/80262
* tree-sra.c (build_ref_for_offset): Preserve address-space
information.
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
Drop useless address-space information on MEM_REF offsets.
* gcc.target/i386/pr80262.c: New testcase.
From-SVN: r246728
Richard Biener [Thu, 6 Apr 2017 11:25:35 +0000 (11:25 +0000)]
re PR tree-optimization/80281 (Wrong constant folding)
2017-04-06 Richard Biener <rguenther@suse.de>
PR middle-end/80281
* gcc.dg/tree-ssa/pr40921.c: Add -fp-contract=off.
From-SVN: r246726
GCC Administrator [Thu, 6 Apr 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246724
Andreas Schwab [Wed, 5 Apr 2017 19:29:26 +0000 (19:29 +0000)]
* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
From-SVN: r246720
Jakub Jelinek [Wed, 5 Apr 2017 19:10:17 +0000 (21:10 +0200)]
re PR c++/80309 (ICE: canonical types differ for identical types _Args2 and _Args2)
PR c++/80309
* pt.c (canonical_type_parameter): Use vec_safe_grow_cleared instead
of a loop doing vec_safe_push of NULL. Formatting fixes.
(rewrite_template_parm): Copy TEMPLATE_PARM_PARAMETER_PACK from oldidx
to newidx before calling canonical_type_parameter on newtype.
From-SVN: r246717
Joseph Myers [Wed, 5 Apr 2017 17:53:55 +0000 (18:53 +0100)]
* gcc.pot: Regenerate.
From-SVN: r246713
Joseph Myers [Wed, 5 Apr 2017 17:47:40 +0000 (18:47 +0100)]
* de.po, es.po, fr.po: Update.
From-SVN: r246712
Vladimir Makarov [Wed, 5 Apr 2017 16:14:28 +0000 (16:14 +0000)]
re PR rtl-optimization/70703 (Regression in register usage on x86)
2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70703
* ira-color.c (update_conflict_hard_regno_costs): Use
HOST_WIDE_INT instead of long.
From-SVN: r246711
Uros Bizjak [Wed, 5 Apr 2017 15:33:49 +0000 (17:33 +0200)]
re PR target/80298 (<x86intrin.h> incompatible with -mno-sse)
PR target/80298
* config/i386/mmintrin.h: Add -msse target option when __SSE__ is
not defined for x86_64 target. Add -mmmx target option when __SSE2__
is not defined.
* config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
for x86_64 target. Handle -m3dnowa option.
From-SVN: r246708
Vladimir Makarov [Wed, 5 Apr 2017 15:07:51 +0000 (15:07 +0000)]
re PR rtl-optimization/70703 (Regression in register usage on x86)
2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70703
* ira-color.c (update_costs_from_allocno): Use the smallest mode.
(update_conflict_hard_regno_costs): Use long instead of unsigned
arithmetic for cost calculation.
2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70703
* gcc.target/i386/pr70703.c: New.
From-SVN: r246707
Jakub Jelinek [Wed, 5 Apr 2017 13:17:15 +0000 (15:17 +0200)]
re PR sanitizer/80308 (asan crash on big-endian powerpc-linux target)
PR sanitizer/80308
* asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
for big endian.
* c-c++-common/asan/pr80308.c: New test.
Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>
From-SVN: r246703
Eric Botcazou [Wed, 5 Apr 2017 11:48:02 +0000 (11:48 +0000)]
re PR target/78002 (gcc.target/aarch64/stack-checking.c ICEs with -mabi=ilp32)
PR target/78002
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
ptr_mode with Pmode throughout.
* config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
into probe_stack_range and use DImode.
From-SVN: r246702
Dominik Vogt [Wed, 5 Apr 2017 08:28:18 +0000 (08:28 +0000)]
PR target/79890: S/390: Fix crash.
builtin_eh_return requires the return address to be saved on the
stack. The patch prevents using an FPR for that.
gcc/ChangeLog:
2017-04-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/79890
* config/s390/s390.c (s390_register_info_gprtofpr): Return if
call_eh_return is true.
gcc/testsuite/ChangeLog:
2017-04-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/79890
* gcc.target/s390/pr79890.c: New test case.
From-SVN: r246701
Andreas Krebbel [Wed, 5 Apr 2017 08:24:34 +0000 (08:24 +0000)]
S/390: Initialize variable to avoid warning
gcc/ChangeLog:
2017-04-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-c.c (s390_resolve_overloaded_builtin):
Initialize last_match_fntype_index.
From-SVN: r246700
Jakub Jelinek [Wed, 5 Apr 2017 05:25:18 +0000 (07:25 +0200)]
re PR target/80310 (Bogus -Wpsabi warning with -fsanitize=signed-integer-overflow)
PR target/80310
* tree-nvr.c: Include internal-fn.h.
(pass_return_slot::execute): Ignore internal calls without
direct optab.
* c-c++-common/ubsan/pr80310.c: New test.
From-SVN: r246699
GCC Administrator [Wed, 5 Apr 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246698
Ian Lance Taylor [Tue, 4 Apr 2017 19:37:22 +0000 (19:37 +0000)]
re PR go/80302 (FAIL: time on systems with tzdata2017b installed)
PR go/80302
time: make the ParseInLocation test more robust
This is a backport of https://golang.org/cl/37964 from the gc toolchain.
Original description:
The tzdata 2017a update (2017-02-28) changed the abbreviation of the
Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the
numeric '+03'.
Update the test so that it skips the checks if we're using a recent
tzdata release.
Updates golang/go#19457
Fixes GCC PR 80302.
Reviewed-on: https://go-review.googlesource.com/39470
From-SVN: r246695
Jakub Jelinek [Tue, 4 Apr 2017 19:14:47 +0000 (21:14 +0200)]
re PR c++/80297 (Compiler time crash: type mismatch in binary expression)
PR c++/80297
* genmatch.c (capture::gen_transform): For GENERIC unshare_expr
captures used multiple times, except for the last use.
* generic-match-head.c: Include gimplify.h.
* g++.dg/torture/pr80297.C: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r246693
Jakub Jelinek [Tue, 4 Apr 2017 17:52:27 +0000 (19:52 +0200)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
PR tree-optimization/79390
* target.h (struct noce_if_info): Declare.
* targhooks.h (default_noce_conversion_profitable_p): Declare.
* target.def (noce_conversion_profitable_p): New target hook.
* ifcvt.h (struct noce_if_info): New type, moved from ...
* ifcvt.c (struct noce_if_info): ... here.
(noce_conversion_profitable_p): Renamed to ...
(default_noce_conversion_profitable_p): ... this. No longer
static nor inline.
(noce_try_store_flag_constants, noce_try_addcc,
noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
instead of noce_conversion_profitable_p.
* config/i386/i386.c: Include ifcvt.h.
(ix86_option_override_internal): Don't override
PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
(ix86_noce_conversion_profitable_p): New function.
(TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
* doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
* doc/tm.texi: Regenerated.
* gcc.target/i386/pr79390.c: New test.
* gcc.dg/ifcvt-4.c: Use -mtune-ctrl=^one_if_conv_insn for i?86/x86_64.
From-SVN: r246686
Bill Schmidt [Tue, 4 Apr 2017 16:31:58 +0000 (16:31 +0000)]
extend.texi (PowerPC AltiVec Built-in Functions): Grammar correction.
2017-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
correction.
From-SVN: r246684