- 24 Mar, 2017 15 commits
-
-
The SD/SFmode move pattern used a wrong mnemonic for vector load element. On the vector load element instruction was an operand missing. Regression tested on s390x. 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to vlef/vstef. Add missing operand to vleif. From-SVN: r246447
Andreas Krebbel committed -
This enables the vec_init pattern also for V4SF, V1TI, and V1TF. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/vector/vec-init-2.c: New test. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_expand_vec_init): Enable vector load pair for all vector types with 64 bit elements. * config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ... * config/s390/vector.md (V_HW_64): ... here. (V_128_NOSINGLE): New mode iterator. ("vec_init<V_HW:mode>"): Use V_128 as mode iterator. ("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator. ("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions. ("*vec_load_pairv2di"): Change to ... ("*vec_load_pair<mode>"): ... this one. From-SVN: r246446
Andreas Krebbel committed -
This patch improves the handling of 128 bit vectors residing in GPRs by adding more alternatives to the move pattern. Regression tested on s390x. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/constraints.md: Add comments. (jKK): Reject element sizes > 8 bytes. * config/s390/s390.c (s390_split_ok_p): Enable splitting also for s_operands. * config/s390/s390.md: Add the s_operand checks formerly in s390_split_ok_p to various splitters where they are still required. * config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives for 128 bit vectors. Plus two splitters. From-SVN: r246445
Andreas Krebbel committed -
gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md: Rename the cpu facilty vec to vx throughout the file. From-SVN: r246444
Andreas Krebbel committed -
We accept reg + sym_ref as valid address if sym_ref is a literal pool reference knowing that it will be rewritten as r13 + reg + offset. However, annotate_constant_pool_refs was never able to handle that. With the patch only single sym_refs are accepted. Regression tested on s390x. 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/79904 * config/s390/s390.c (s390_decompose_address): Reject reg + sym_ref literal pool references. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.dg/ubsan/pr79904-2.c: New test. From-SVN: r246443
Andreas Krebbel committed -
The boundary argument of the vec_load_bndry builtin needs to be rewritten. At that point it must be constant already. The current diagnostics in s390_expand_builtins is too late for this. The patch adds an additional check for that builtin which will be triggered already during preprocessing. Regression tested on s390x. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/79893 * gcc.target/s390/zvector/pr79893.c: New test. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/79893 * config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an error if the boundary argument is not constant. From-SVN: r246442
Andreas Krebbel committed -
PR rtl-optimization/80112 * loop-doloop.c (doloop_condition_get): Don't check condition if cmp isn't SET with IF_THEN_ELSE src. * gcc.dg/pr80112.c: New test. From-SVN: r246441
Jakub Jelinek committed -
* c-c++-common/Wimplicit-fallthrough-7.c: Adjust dg-warning etc. line numbers. * gcc.dg/Walloca-1.c: Likewise. * gcc.dg/Walloca-2.c: Likewise. * gcc.dg/Wvla-larger-than-2.c: Likewise. From-SVN: r246440
Rainer Orth committed -
2017-03-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/80158 * gimple-ssa-strength-reduction.c (replace_mult_candidate): When replacing a candidate statement, also replace it for the candidate's alternate interpretation. (replace_rhs_if_not_dup): Likewise. (replace_one_candidate): Likewise. * gfortran.fortran-torture/compile/pr80158.f: New file. From-SVN: r246439
Bill Schmidt committed -
re PR tree-optimization/80167 (ICE in translate_isl_ast_to_gimple::is_valid_rename at gcc/graphite-isl-ast-to-gimple.c:1139) 2017-03-24 Richard Biener <rguenther@suse.de> PR tree-optimization/80167 * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs properly. (translate_isl_ast_to_gimple::get_rename): Likewise. * gcc.dg/graphite/pr80167.c: New testcase. From-SVN: r246438
Richard Biener committed -
2017-03-24 Tom de Vries <tom@codesourcery.com> PR testsuite/80092 * gcc.dg/no_profile_instrument_function-attr-1.c: Add dg-require-effective-target global_constructor. * gcc.dg/tls/emutls-2.c: Same. From-SVN: r246436
Tom de Vries committed -
2017-03-24 Tom de Vries <tom@codesourcery.com> PR testsuite/80092 * c-c++-common/Wimplicit-fallthrough-34.c: Add dg-require-effective-target indirect_jumps. From-SVN: r246435
Tom de Vries committed -
2017-03-24 Tom de Vries <tom@codesourcery.com> PR testsuite/80092 * gcc.dg/torture/pr79244.c: Add dg-require-effective-target nonlocal_goto. From-SVN: r246434
Tom de Vries committed -
2017-03-24 Tom de Vries <tom@codesourcery.com> PR testsuite/80092 * gcc.dg/Walloca-7.c: Add dg-require-effective-target alloca. * gcc.dg/Walloca-12.c: Same. * gcc.dg/attr-alloc_size-8.c: Same. * gcc.dg/Walloca-4.c: Same. * gcc.dg/Walloca-8.c: Same. * gcc.dg/Walloca-13.c: Same. * gcc.dg/Walloca-14.c: Same. * gcc.dg/attr-alloc_size-9.c: Same. * gcc.dg/Walloca-1.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. * gcc.dg/Walloca-5.c: Same. * gcc.dg/Walloca-10.c: Same. * gcc.dg/Walloca-9.c: Same. * gcc.dg/attr-alloc_size-6.c: Same. * gcc.dg/Wvla-larger-than-1.c: Same. * gcc.dg/torture/pr71881.c: Same. * gcc.dg/torture/pr71901.c: Same. * gcc.dg/torture/pr78742.c: Same. * gcc.dg/builtin-alloc-size.c: Same. * gcc.dg/Walloca-2.c: Same. * gcc.dg/Walloca-6.c: Same. * gcc.dg/Walloca-11.c: Same. * gcc.dg/attr-alloc_size-7.c: Same. * gcc.dg/Wvla-larger-than-2.c: Same. * gcc.dg/Walloca-3.c: Same. * c-c++-common/Wimplicit-fallthrough-7.c: Same. * gcc.c-torture/compile/pr79413.c: Same. * gcc.c-torture/compile/pr78439.c: Same. From-SVN: r246433
Tom de Vries committed -
From-SVN: r246431
GCC Administrator committed
-
- 23 Mar, 2017 9 commits
-
-
gcc/testsuite/ChangeLog: 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/p9-options-1.c: New test. gcc/ChangeLog: 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_option_override_internal): Change handling of certain combinations of target options, including the combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs. -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector. From-SVN: r246428
Kelvin Nilsen committed -
* pt.c (try_one_overload): Remove asserts. From-SVN: r246422
Jason Merrill committed -
PR target/71436 * config/arm/arm.md (*load_multiple): Add reload_completed to matching condition. * gcc.c-torture/compile/pr71436.c: New test. From-SVN: r246419
Kyrylo Tkachov committed -
[gcc] 2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Richard Biener <rguenth@suse.com> PR tree-optimization/79908 PR tree-optimization/80136 * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has been cast away, gimplify_and_add suffices. [gcc/testsuite] 2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Richard Biener <rguenther@suse.de> PR tree-optimization/79908 PR tree-optimization/80136 * gcc.dg/torture/pr79908.c: New file. From-SVN: r246418
William Schmidt committed -
* call.c (convert_like_real): Use LOOKUP_IMPLICIT. From-SVN: r246417
Jason Merrill committed -
* c-tree.h: Remove a C_RID_YYCODE reference. * cp-tree.h: Remove a C_RID_YYCODE reference. From-SVN: r246416
Marek Polacek committed -
* tree-vrp.c (identify_jump_threads): Delete avail_exprs. From-SVN: r246415
Markus Trippelsdorf committed -
2017-03-23 Richard Biener <rguenther@suse.de> PR tree-optimization/80032 * gimplify.c (gimple_push_cleanup): Forced unconditional cleanups still have to go to the conditional_cleanups sequence. From-SVN: r246414
Richard Biener committed -
From-SVN: r246413
GCC Administrator committed
-
- 22 Mar, 2017 16 commits
-
-
2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/79838 * module.c: Remove trailing period. From-SVN: r246409
Dominique d'Humieres committed -
re PR tree-optimization/80072 (ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512) PR tree-optimization/80072 * tree-ssa-reassoc.c (struct operand_entry): Change id field type to unsigned int. (next_operand_entry_id): Change type to unsigned int. (sort_by_operand_rank): Make sure to return the right return value even if unsigned fields are bigger than INT_MAX. (struct oecount): Change cnt and id type to unsigned int. (oecount_hasher::equal): Formatting fix. (oecount_cmp): Make sure to return the right return value even if unsigned fields are bigger than INT_MAX. (undistribute_ops_list): Change next_oecount_id type to unsigned int. From-SVN: r246408
Jakub Jelinek committed -
A couple of the data members in the Gogo class were not being initialized properly. This was causing "uninitialized value" errors during Valgrind memcheck runs. This patch insures that all of the fields receive an initial value. Reviewed-on: https://go-review.googlesource.com/38470 From-SVN: r246407
Ian Lance Taylor committed -
2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch> PR fortran/39239 fortran/Changelog: Add entry for rev. 246284. From-SVN: r246406
Nicolas Koenig committed -
2017-03-22 Nicolas Koenig <koenigni@student.ethz.ch> PR fortran/39239 * gfortran.dg/equiv_constraint_bind_c.f90: New test. From-SVN: r246405
Nicolas Koenig committed -
2017-03-21 Nicolas Koenig <koenigni@student.ethz.ch> * fortran/ChangeLog: Add forgotten entry for r246322. * testsuite/ChangeLog: Likewise. From-SVN: r246404
Nicolas Koenig committed -
PR c++/80141 * semantics.c (finish_omp_clause) <case OMP_CLAUSE_SIMDLEN, case OMP_CLAUSE_ALIGNED>: Call maybe_constant_value only when not processing_template_decl. * g++.dg/gomp/pr80141.C: New test. From-SVN: r246403
Jakub Jelinek committed -
PR c++/80129 * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear TREE_READONLY on result if writing it more than once. * g++.dg/torture/pr80129.C: New test. From-SVN: r246401
Jakub Jelinek committed -
PR sanitizer/80110 * doc/invoke.texi (-fsanitize=thread): Document that with -fnon-call-exceptions atomics are not able to throw exceptions. From-SVN: r246400
Jakub Jelinek committed -
PR sanitizer/80110 * tsan.c: Include tree-eh.h. (instrument_builtin_call): Call maybe_clean_eh_stmt or maybe_clean_or_replace_eh_stmt where needed. (instrument_memory_accesses): Add cfg_changed argument. Call gimple_purge_dead_eh_edges on each block and set *cfg_changed if it returned true. (tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed. * g++.dg/tsan/pr80110.C: New test. From-SVN: r246399
Jakub Jelinek committed -
re PR rtl-optimization/63191 (32-bit gcc uses excessive memory during dead store elimination with -fPIC) PR rtl-optimization/63191 * config/i386/i386.c (ix86_delegitimize_address): Turn into small wrapper function, moved the whole old content into ... (ix86_delegitimize_address_1): ... this. New inline function. (ix86_find_base_term): Use ix86_delegitimize_address_1 with true as last argument instead of ix86_delegitimize_address. From-SVN: r246398
Jakub Jelinek committed -
In https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01639.html James determined the best value for AArch64 code generation. Although this setting is used when explicitly targeting Cortex cores, it is not otherwise used. This means by default GCC will not use (F)CSEL in many common cases. Change the generic_branch_cost to be the same as cortexa57_branch_cost so that all supported cores benefit from CSEL. This is generally faster and smaller. On one benchmark the new setting fixes a regression since GCC6 and improves performance by 49%. gcc/ * config/aarch64/aarch64.c (generic_branch_cost): Copy cortexa57_branch_cost. From-SVN: r246397
Wilco Dijkstra committed -
Many supported cores implement fusion of AES instructions. When fusion happens it can give a significant performance gain. If not, scheduling fusion candidates next to each other has almost no effect on performance. Due to the high benefit/low cost it makes sense to enable AES fusion with -mcpu=generic so that cores that support it always benefit. gcc/ * config/aarch64/aarch64.c (generic_tunings): Add AES fusion. From-SVN: r246395
Wilco Dijkstra committed -
2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> PR target/80123 * doc/md.texi (Constraints): Document wA constraint. * config/rs6000/constraints.md (wA): New. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class. (rs6000_init_hard_regno_mode_ok): Init wA constraint. * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New. * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint. From-SVN: r246394
Aaron Sawdey committed -
2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/79602 * decl.c: Replace '%s' with %qs. * expr.c: Likewise. * interface.c: Likewise. * match.c: Likewise. * primary.c: Likewise. * resolve.c: Likewise. PR fortran/79844 PR fortran/80011 * io.c: Remove trailing spaces. * match.c: Likewise. * openmp.c: Likewise. * resolve.c: Likewise. * trans-intrinsic.c: Likewise. PR fortran/79853 * expr.c: Remove a double spaces. PR fortran/79859 * primary.c: Remove spurious quotes around %qs. From-SVN: r246391
Dominique d'Humieres committed -
2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/80142 * frontend-passes.c (combine_array_constructor): Take location of new expression from constructor expression instead of constructor. 2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/80142 * gfortran.dg/any_loc.f90: New test case. From-SVN: r246388
Thomas Koenig committed
-