- 24 Mar, 2017 20 commits
-
-
This patch covers the mechanical work of making the new architecture option arch12 available wherever it will be needed later. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/s390.exp: Run tests in arch12 and vxe dirs. * lib/target-supports.exp: Add effective target check s390_vxe. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * common/config/s390/s390-common.c (processor_flags_table): Add arch12. * config.gcc: Add arch12. * config/s390/driver-native.c (s390_host_detect_local_cpu): Default to arch12 for unknown CPU model numbers. * config/s390/s390-builtins.def: Add B_VXE builtin flag. * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust PROCESSOR_max sanity check. * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH12. * config/s390/s390.c (processor_table): Add arch12. (s390_expand_builtin): Add check for B_VXE flag. (s390_issue_rate): Add PROCESSOR_ARCH12. (s390_get_sched_attrmask): Likewise. (s390_get_unit_mask): Likewise. (s390_sched_score): Enable z13 scheduling for arch12. (s390_sched_reorder): Likewise. (s390_sched_variable_issue): Likewise. * config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and PF_VXE. (s390_tune_attr): Use z13 scheduling also for arch12. (TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE) (TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE) (TARGET_VXE_P): New macros. * config/s390/s390.md: Add arch12 to cpu attribute. Add arch12 and vxe to cpu_facility. Add arch12 and vxe to enabled attribute. * config/s390/s390.opt: Add arch12 as processor_type. From-SVN: r246452
Andreas Krebbel committed -
This reworks the fixuns_trunc* patterns a bit which got quite confusing after adding z13 support. Now we just have a single RTL standard name expander definition ("fixuns_trunc<FP:mode><GPR:mode>2") which then multiplexes to either the emulation variants *_emu or the hardware implementations. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md ("fixuns_truncdddi2", "fixuns_trunctddi2") ("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ... ("fixuns_trunc<FP:mode><GPR:mode>2"): New expander. ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"): Rename expanders to ... ("fixuns_trunc<BFP:mode><GPR:mode>2_emu") ("fixuns_truncdddi2_emu"): ... these. ("fixuns_trunc<mode>si2_emu"): New expander. ("*fixuns_truncdfdi2_z13"): Rename to ... ("*fixuns_truncdfdi2_vx"): ... this. From-SVN: r246451
Andreas Krebbel committed -
The z13 vector support used the vector style comparison instructions also for the scalar compares in vector registers. However, it is much more convenient to just use the compare scalar instruction for that purpose. The advantage is that this instruction generates a CC result as our compares usually do. So this results in quite some code to be removed from the backend. Regression tested on s390x. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/2964.md: Remove the single element vector compare instructions which are no longer used. * config/s390/s390.c (s390_select_ccmode): Remove handling of vector CCmodes. (s390_canonicalize_comparison): Remove handling of DFmode compares. (s390_expand_vec_compare_scalar): Remove function. (s390_emit_compare): Don't call s390_expand_vec_compare_scalar. * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove pattern. ("*cmp<mode>_ccs"): Add wfcdb instruction. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/vector/vec-scalar-cmp-1.c: Adjust for the comparison instructions used from now on. From-SVN: r246450
Andreas Krebbel committed -
Move the target support routine for the vector facility to the common code file. This is required to enable the generic vectorization tests on S/390. While doing this the too generic name for the check (vector) is changed to s390_vx. The renaming required to modify all the testcases currently using that check. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/s390.exp (check_effective_target_vector): Include target-supports.exp and move target_vector check routine ... * lib/target-supports.exp (check_effective_target_s390_vx): ... to here and rename it. * gcc.target/s390/htm-builtins-z13-1.c: Rename effective target check from vector to s390_vx. * gcc.target/s390/target-attribute/tpragma-struct-vx-1.c: Likewise. * gcc.target/s390/target-attribute/tpragma-struct-vx-2.c: Likewise. * gcc.target/s390/vector/stpcpy-1.c: Likewise. * gcc.target/s390/vector/vec-abi-vararg-1.c: Likewise. * gcc.target/s390/vector/vec-clobber-1.c: Likewise. * gcc.target/s390/vector/vec-genbytemask-1.c: Likewise. * gcc.target/s390/vector/vec-genmask-1.c: Likewise. * gcc.target/s390/vector/vec-nopeel-1.c: Likewise. * gcc.target/s390/vector/vec-vrepi-1.c: Likewise. From-SVN: r246449
Andreas Krebbel committed -
This patch add the vector load element from immediate instruction to the movdf/dd pattern for loading a FP zero and it removes the vector instructions from the mov<mode>_64 pattern. These were pointless in there because z13 support implies DFP support so these instructions will always be matched in the mov<mode>_64dfp pattern instead. Regression tested on s390x gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a FP zero. ("*mov<mode>_64" DD_DF): Remove the vector instructions. These will anyway by matched by mov<mode>_64dfp. From-SVN: r246448
Andreas Krebbel committed -
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 13 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 -
* testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Adjust dg-error. * testsuite/23_containers/list/operations/78389.cc: Fix less-than to define a valid strict weak ordering. * testsuite/23_containers/priority_queue/67085.cc: Disable test for Debug Mode, due to debug checks making extra copies of predicate. * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: Likewise. From-SVN: r246426
Jonathan Wakely committed -
* doc/xml/faq.xml: Add link. * doc/xml/manual/backwards_compatibility.xml: Remove outdated information on pre-ISO headers. Replace broken link to C++ FAQ Lite. * doc/xml/manual/io.xml: Update broken link. * doc/html/*: Regenerate. From-SVN: r246425
Jonathan Wakely committed -
2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com> Implement LWG 2686, Why is std::hash specialized for error_code, but not error_condition? * include/std/system_error (hash<error_condition>): Define for C++17. * testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>): Instantiate test for error_condition. * testsuite/20_util/hash/requirements/explicit_instantiation.cc (hash<error_condition>): Instantiate hash<error_condition>. From-SVN: r246424
Daniel Kruegler committed -
2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com> * include/bits/c++config (_GLIBCXX17_INLINE): Define. * include/bits/regex_constants.h (All std::regex_constants constants): Add _GLIBCXX17_INLINE as per P0607R0. * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock): Likewise. * include/bits/stl_pair.h (piecewise_construct): Likewise. * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v) (__is_uses_allocator_constructible_v) (__is_nothrow_uses_allocator_constructible_v): Likewise. * include/std/chrono (treat_as_floating_point_v): Likewise. * include/std/functional (is_bind_expression_v, is_placeholder_v): Likewise. * include/std/optional (nullopt): Likewise. * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v) ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise. * include/std/system_error (is_error_code_enum_v) (is_error_condition_enum_v): Likewise. * include/std/tuple (tuple_size_v, ignore): Likewise. (ignore): Declare ignore constexpr as per LWG 2773, declare assignment constexpr as per LWG 2933. * include/std/type_traits (All variable templates): Add _GLIBCXX17_INLINE as per P0607R0. * include/std/variant (variant_size_v, variant_npos, __index_of_v) (__tuple_count_v, __exactly_once): Likewise. * testsuite/18_support/headers/new/synopsis.cc (hardware_destructive_interference_size) (hardware_constructive_interference_size): Likewise for commented-out variables. * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new test function for constexpr std::ignore (LWG 2773). * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New test for LWG 2933. From-SVN: r246423
Daniel Kruegler 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 7 commits
-
-
Patch by Andrwas Schwab. Reviewed-on: https://go-review.googlesource.com/38456 From-SVN: r246410
Ian Lance Taylor committed -
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
-