- 08 Jun, 2017 4 commits
-
-
2017-06-08 Martin Liska <mliska@suse.cz> PR gcov-profile/80911 * gcov.c (block_info::block_info): New constructor. From-SVN: r249006
Martin Liska committed -
2017-06-08 Tamar Christina <tamar.christina@arm.com> PR middle-end/77925 PR middle-end/77926 PR middle-end/66462 * gcc/builtins.c (fold_builtin_fpclassify): Remove. (fold_builtin_interclass_mathfn): Remove. (expand_builtin): Add builtins to lowering list. (fold_builtin_n): Remove fold_builtin_varargs. (fold_builtin_varargs): Remove. * gcc/builtins.def (BUILT_IN_ISZERO, BUILT_IN_ISSUBNORMAL): New. * gcc/real.h (get_min_float): New. (real_format): Add is_ieee_compatible field. * gcc/real.c (get_min_float): New. (ieee_single_format): Set is_ieee_compatible flag. * gcc/gimple-low.c (lower_stm): Define BUILT_IN_FPCLASSIFY, CASE_FLT_FN (BUILT_IN_ISINF), BUILT_IN_ISINFD32, BUILT_IN_ISINFD64, BUILT_IN_ISINFD128, BUILT_IN_ISNAND32, BUILT_IN_ISNAND64, BUILT_IN_ISNAND128, BUILT_IN_ISNAN, BUILT_IN_ISNORMAL, BUILT_IN_ISZERO, BUILT_IN_ISSUBNORMAL, CASE_FLT_FN (BUILT_IN_FINITE), BUILT_IN_FINITED32 BUILT_IN_FINITED64, BUILT_IN_FINITED128, BUILT_IN_ISFINITE. (lower_builtin_fpclassify, is_nan, is_normal, is_infinity): New. (is_zero, is_subnormal, is_finite, use_ieee_int_mode): Likewise. (lower_builtin_isnan, lower_builtin_isinfinite): Likewise. (lower_builtin_isnormal, lower_builtin_iszero): Likewise. (lower_builtin_issubnormal, lower_builtin_isfinite): Likewise. (emit_tree_cond, get_num_as_int, emit_tree_and_return_var): New. (mips_single_format): Likewise. (motorola_single_format): Likewise. (spu_single_format): Likewise. (ieee_double_format): Likewise. (mips_double_format): Likewise. (motorola_double_format): Likewise. (ieee_extended_motorola_format): Likewise. (ieee_extended_intel_128_format): Likewise. (ieee_extended_intel_96_round_53_format): Likewise. (ibm_extended_format): Likewise. (mips_extended_format): Likewise. (ieee_quad_format): Likewise. (mips_quad_format): Likewise. (vax_f_format): Likewise. (vax_d_format): Likewise. (vax_g_format): Likewise. (decimal_single_format): Likewise. (decimal_quad_format): Likewise. (iee_half_format): Likewise. (mips_single_format): Likewise. (arm_half_format): Likewise. (real_internal_format): Likewise. * gcc/doc/extend.texi: Add documentation for built-ins. * gcc/c/c-typeck.c (convert_arguments): Add BUILT_IN_ISZERO and BUILT_IN_ISSUBNORMAL. gcc/testsuite/ 2017-06-08 Tamar Christina <tamar.christina@arm.com> * gcc.target/aarch64/builtin-fpclassify.c: New codegen test. * gcc.dg/fold-notunord.c: Removed. * gcc.dg/torture/floatn-tg-4.h: Add tests for iszero and issubnormal. * gcc.dg/torture/float128-tg-4.c: Likewise. * gcc.dg/torture/float128x-tg-4: Likewise. * gcc.dg/torture/float16-tg-4.c: Likewise. * gcc.dg/torture/float32-tg-4.c: Likewise. * gcc.dg/torture/float32x-tg-4.c: Likewise. * gcc.dg/torture/float64-tg-4.c: Likewise. * gcc.dg/torture/float64x-tg-4.c: Likewise. * gcc.dg/pr28796-1.c: Add -O2. * gcc.dg/builtins-43.c: Check lower instead of gimple. * gcc.dg/tg-tests.h: Add iszero and issubnormal. * gcc.dg/pr77925.c: Add to test safe cases. From-SVN: r249005
Tamar Christina committed -
re PR tree-optimization/80928 (SLP vectorization does not handle induction in outer loop vectorization) 2017-06-08 Richard Biener <rguenther@suse.de> PR tree-optimization/80928 * gcc.dg/vect/slp-perm-8.c: Do not expect check loop to be vectorized. From-SVN: r249004
Richard Biener committed -
From-SVN: r249003
GCC Administrator committed
-
- 07 Jun, 2017 36 commits
-
-
simple-object-xcoff.c (simple_object_xcoff_find_sections): Search symbol table for .go_export symbol and apply pfn if found. 2017-06-07 Tony Reix <tony.reix@atos.net> Matthieu Sarter <matthieu.sarter.external@atos.net> David Edelsohn <dje.gcc@gmail.com> * simple-object-xcoff.c (simple_object_xcoff_find_sections): Search symbol table for .go_export symbol and apply pfn if found. Co-Authored-By: David Edelsohn <dje.gcc@gmail.com> Co-Authored-By: Matthieu Sarter <matthieu.sarter.external@atos.net> From-SVN: r248999
Tony Reix committed -
gcc/ChangeLog: 2017-06-07 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-c: The return type of the following built-in functions was implemented as int not long long. Fix sign of return value for the unsigned version of vec_mulo and vec_mule. vector unsigned long long vec_bperm (vector unsigned long long, vector unsigned char) vector signed long long vec_mule (vector signed int, vector signed int) vector unsigned long long vec_mule (vector unsigned int, vector unsigned int) vector signed long long vec_mulo (vector signed int, vector signed int) vector unsigned long long vec_mulo (vector unsigned int, vector unsigned int) * doc/extend.texi: Fix the documentation for the built-in functions. gcc/testsuite/ChangeLog: 2017-06-07 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-3.c: Fix vec_mule, vec_mulo test cases. --- From-SVN: r248998
Carl Love committed -
re PR target/80982 (gcc.target/powerpc/builtins-3-runnable.c fails starting with its introduction in r248846) gcc/ChangeLog: 2017-06-07 Carl Love <cel@us.ibm.com> PR target/80982 * config/rs6000/altivec.md (double<mode>2): Fix the implementation of for BE. From-SVN: r248997
Carl Love committed -
gcc/ChangeLog: 2017-06-07 Carl Love <cel@us.ibm.com> * config/rs6000/altivec.md: Fix argument swizzle in vec_doublel support, Generate doublehv for signed int/float for BE case only. From-SVN: r248996
Carl Love committed -
* doc/invoke.texi (mcx16): Rewrite. From-SVN: r248995
Alexander Monakov committed -
Patch by Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/45071 From-SVN: r248994
Ian Lance Taylor committed -
* include/bits/regex.h (basic_regex): Add deduction guide from P0433. * testsuite/28_regex/basic_regex/ctors/deduction.cc: New. From-SVN: r248990
Jonathan Wakely committed -
PR libstdc++/81002 * include/bits/regex.h (basic_regex): Adjust call to __compile_nfa so iterator type is deduced. * include/bits/regex_compiler.h (__compile_nfa): Reorder template parameters to allow iterator type to be deduced. * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. From-SVN: r248989
Jonathan Wakely committed -
From-SVN: r248988
Segher Boessenkool committed -
Now rs6000_nonimmediate_operand is just nonimmediate_operand. * config/rs6000/predicates.md (rs6000_nonimmediate_operand): Delete. * config/rs6000/rs6000.md (*movsi_internal1, movsi_from_sf, *mov<mode>_softfloat, and an anonymous splitter): Use nonimmediate_operand instead of rs6000_nonimmediate_operand. From-SVN: r248987
Segher Boessenkool committed -
We can also remove the two other SPE registers. * config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE_ACC and SPEFSCR registers. * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto. (enum rs6000_reg_type): Delete SPE_ACC_TYPE and SPEFSCR_REG_TYPE. (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. (rs6000_dbx_register_number): Adjust. * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change to 115. (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Remove SPE_ACC and SPEFSCR. (REG_ALLOC_ORDER): Ditto. (FRAME_POINTER_REGNUM): Change to 111. (enum reg_class): Remove the SPE_ACC and SPEFSCR registers. (REG_CLASS_NAMES): Ditto. (REG_CLASS_CONTENTS): Delete the SPE_ACC and SPEFSCR registers. (REGISTER_NAMES): Ditto. (ADDITIONAL_REG_NAMES): Ditto. (rs6000_reg_names): Ditto. * config/rs6000/rs6000.md: Renumber some register number define_constants. From-SVN: r248986
Segher Boessenkool committed -
* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE high registers. * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto. * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change from 149 to 117. (DWARF_REG_TO_UNWIND_COLUMN): Do not define. (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Delete the SPE high registers. (REG_ALLOC_ORDER): Ditto. (enum reg_class): Remove SPE_HIGH_REGS. (REG_CLASS_NAMES): Ditto. (REG_CLASS_CONTENTS): Delete the SPE high registers. (REGISTER_NAMES): Ditto. (rs6000_reg_names): Ditto. * doc/tm.texi.in: Remove SPE as example. * doc/tm.texi: Regenerate. From-SVN: r248985
Segher Boessenkool committed -
Nothing uses it anymore. * config/rs6000/8540.md (ppc8540_brinc): Delete. * config/rs6000/e500mc.md (e500mc_brinc): Delete. * config/rs6000/e500mc64.md (e500mc64_brinc): Delete. * config/rs6000/rs6000.md (type): Remove "brinc". From-SVN: r248984
Segher Boessenkool committed -
* config.gcc (powerpc*-*-*): Don't add spe.h to extra_headers. (powerpc*-linux*spe*): Use ${cpu_type} instead of rs6000. * config/rs6000/linuxspe.h: Delete file. * config/rs6000/rs6000.md: Don't include spe.md. * config/rs6000/spe.h: Delete file. * config/rs6000/spe.md: Delete file. * config/rs6000/t-rs6000: Remove spe.md. From-SVN: r248983
Segher Boessenkool committed -
* config/rs6000/predicates.md (reg_or_mem_operand): Reformat. (reg_or_none500mem_operand): Delete. * config/rs6000/rs6000.md (extendsfdf2): Use reg_or_mem_operand instead of reg_or_none500mem_operand. From-SVN: r248982
Segher Boessenkool committed -
* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete handling of SPE flags. * config/rs6000/rs6000.opt (-mspe, -mspe=no, -mspe=yes): Delete. From-SVN: r248981
Segher Boessenkool committed -
* config/rs6000/rs6000-common.c (rs6000_handle_option): Remove SPE ABI handling. * config/rs6000/paired.md (paired_negv2sf2): Rename to negv2sf2. (paired_absv2sf2, paired_addv2sf3, paired_subv2sf3, paired_mulv2sf3, paired_divv2sf3): Similar. * config/rs6000/predicates.md: Replace TARGET_SPE, TARGET_SPE_ABI, SPE_VECTOR_MODE and SPE_HIGH_REGNO_P by 0; simplify. * config/rs6000/rs6000-builtin.def: Delete RS6000_BUILTIN_E and RS6000_BUILTIN_S. Delete BU_SPE_1, BU_SPE_2, BU_SPE_3, BU_SPE_E, BU_SPE_P, and BU_SPE_X. Rename the paired_* instruction patterns. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Do not define __SPE__. * config/rs6000/rs6000-protos.h (invalid_e500_subreg): Delete. * config/rs6000/rs6000.c: Delete RS6000_BUILTIN_E and RS6000_BUILTIN_S. (struct rs6000_stack): Delete fields spe_gp_save_offset, spe_gp_size, spe_padding_size, and spe_64bit_regs_used. Replace TARGET_SPE and TARGET_SPE_ABI with 0, simplify. Replace SPE_VECTOR_MODE with PAIRED_VECTOR_MODE. (struct machine_function): Delete field spe_insn_chain_scanned_p. (spe_func_has_64bit_regs_p): Delete. (spe_expand_predicate_builtin): Delete. (spe_expand_evsel_builtin): Delete. (TARGET_DWARF_REGISTER_SPAN): Do not define. (TARGET_MEMBER_TYPE_FORCES_BLK): Do not define. (invalid_e500_subreg): Delete. (rs6000_legitimize_address): Always force_reg op2 as well, for paired single memory accesses. (rs6000_member_type_forces_blk): Delete. (rs6000_spe_function_arg): Delete. (rs6000_expand_unop_builtin): Delete SPE handling. (rs6000_expand_binop_builtin): Ditto. (spe_expand_stv_builtin): Delete. (bdesc_2arg_spe): Delete. (spe_expand_builtin): Delete. (spe_expand_predicate_builtin): Delete. (spe_expand_evsel_builtin): Delete. (rs6000_invalid_builtin): Remove RS6000_BTM_SPE handling. (spe_init_builtins): Delete. (spe_func_has_64bit_regs_p): Delete. (savres_routine_name): Delete "info" parameter. Adjust callers. (rs6000_emit_stack_reset): Ditto. (rs6000_dwarf_register_span): Delete. * config/rs6000/rs6000.h (TARGET_SPE_ABI, TARGET_SPE, UNITS_PER_SPE_WORD, SPE_HIGH_REGNO_P, SPE_SIMD_REGNO_P, SPE_VECTOR_MODE, RS6000_BTM_SPE, RS6000_BUILTIN_E, RS6000_BUILTIN_S): Delete. * config/rs6000/rs6000.md (FIRST_SPE_HIGH_REGNO, LAST_SPE_HIGH_REGNO): Delete. * config/rs6000/rs6000.opt (-mabi=spe, -mabi=no-spe): Delete. * config/rs6000/spe.md: Delete every pattern that uses TARGET_SPE. * config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3, mulv2sf3, divv2sf3): Delete expanders. From-SVN: r248980
Segher Boessenkool committed -
config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Delete. From-SVN: r248979
Segher Boessenkool committed -
* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit): Delete. * config/rs6000/rs6000.c: Ditto. From-SVN: r248978
Segher Boessenkool committed -
rs6000_cbranch_operator now is just comparison_operator, so just use that directly. * config/rs6000/predicated.md (rs6000_cbranch_operator): Delete. * config/rs6000/rs6000.md: Replace rs6000_cbranch_operator by comparison_operator. From-SVN: r248977
Segher Boessenkool committed -
This deletes -mfloat-gprs and the variables that go with it. * config/rs6000/rs6000.c: Remove everything related to -mfloat-gprs. * config/rs6000/rs6000.opt: Ditto. * config/rs6000/t-rtems: Ditto. From-SVN: r248976
Segher Boessenkool committed -
TARGET_E500_{SINGLE,DOUBLE} is always false now. * config/rs6000/predicates.md: Replace TARGET_E500_DOUBLE and TARGET_E500_SINGLE by 0, simplify. * config/rs6000/rs6000.c: Ditto. (rs6000_option_override_internal): Delete CHECK_E500_OPTIONS. (spe_build_register_parallel): Delete. * config/rs6000/rs6000.h: Delete TARGET_E500_SINGLE, TARGET_E500_DOUBLE, and CHECK_E500_OPTIONS. * config/rs6000/rs6000.md: Replace TARGET_E500_DOUBLE, TARGET_E500_SINGLE, and <E500_CONVERT> by 0, simplify. (E500_CONVERT): Delete. * config/rs6000/spe.md: Remove many patterns and all define_constants. From-SVN: r248975
Segher Boessenkool committed -
Since rs6000 no longer supports SPE, TARGET_FPRS now always is true. This makes TARGET_{SF,DF}_SPE always false. Many patterns in spe.md can now be deleted; which makes it possible to merge e.g. negdd2 with *negdd2_fpr. Finally, e500.h is deleted (it isn't used). * config/rs6000/darwin.md: Replace TARGET_FPRS by 1 and simplify. * config/rs6000/dfp.md: Ditto. (negdd2, *negdd2_fpr): Merge. (absdd2, *absdd2_fpr): Merge. (negtd2, *negtd2_fpr): Merge. (abstd2, *abstd2_fpr): Merge. * config/rs6000/e500.h: Delete file. * config/rs6000/predicates.md (rs6000_cbranch_operator): Replace TARGET_FPRS by 1 and simplify. * config/rs6000/rs6000-c.c: Ditto. * config/rs6000/rs6000.c: Ditto. Also replace TARGET_SF_SPE and TARGET_DF_SPE by 0. * config/rs6000/rs6000.h: Ditto. Delete TARGET_SF_SPE and TARGET_DF_SPE. * config/rs6000/rs6000.md: Ditto. (floatdidf2, *floatdidf2_fpr): Merge. (move_from_CR_gt_bit): Delete. * config/rs6000/spe.md: Replace TARGET_FPRS by 1 and simplify. (E500_CR_IOR_COMPARE): Delete. (All patterns that require !TARGET_FPRS): Delete. * config/rs6000/vsx.md: Replace TARGET_FPRS by 1 and simplify. From-SVN: r248974
Segher Boessenkool committed -
* class.c (layout_class_type): Restructure overlong-bitfield tpe search. From-SVN: r248971
Nathan Sidwell committed -
From-SVN: r248969
David Edelsohn committed -
2017-06-07 Tony Reix <tony.reix@atos.net> Matthieu Sarter <matthieu.sarter.external@atos.net> David Edelsohn <dje.gcc@gmail.com> * config/rs6000/aix-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Define unconditionally. (ucontext_for): Add 64-bit AIX 6.1, 7.1, 7.2 support. Add 32-bit AIX 7.2 support. Co-Authored-By: David Edelsohn <dje.gcc@gmail.com> Co-Authored-By: Matthieu Sarter <matthieu.sarter.external@atos.net> From-SVN: r248968
Tony Reix committed -
* include/bits/alloc_traits.h (__is_allocator, _RequireAllocator): New trait and alias for detecting Allocator-like types. * include/bits/basic_string.h (basic_string): Add deduction guide from P0433. * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template parameter with default template argument that causes substitution failures for types that cannot be allocators. * testsuite/21_strings/basic_string/cons/char/deduction.cc: New. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New. From-SVN: r248967
Jonathan Wakely committed -
gcc/cp: PR c++/80990 * pt.c (do_class_deduction): Build qualified type. gcc/testsuite: PR c++/80990 * g++.dg/cpp1z/class-deduction39.C: New. From-SVN: r248966
Jonathan Wakely committed -
From-SVN: r248965
Bin Cheng committed -
* graphds.c (add_edge): Intitialize edge's attached data. (foll_in_subgraph, dfs_fst_edge, dfs_next_edge): New function pointer parameter. Call pointed function on each edge during graph traversing. Skip traversing the edge when the function returns true. (graphds_dfs, graphds_scc): Ditto. (for_each_edge): New parameter. Pass the new parameter to callback function. * graphds.h (skip_edge_callback): New function pointer type. (graphds_dfs, graphds_scc): New function pointer parameter. (graphds_edge_callback, for_each_edge): New parameter. From-SVN: r248964
Bin Cheng committed -
tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Factor out code checking if runtime alias check is possible to below ... * tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Factor out code checking if runtime alias check is possible to below ... Call the new function. * tree-data-ref.c (runtime_alias_check_p): ... to new function. * tree-data-ref.h (runtime_alias_check_p): New decalaration. From-SVN: r248962
Bin Cheng committed -
re PR sanitizer/80932 (UBSAN: false positive as a result of distribution: c1*(c2*v1-c3*v2)=>c1*c2*v1-c1*c3*v2) PR sanitizer/80932 * fold-const.c (extract_muldiv_1) <case MINUS_EXPR>: Add TYPE_OVERFLOW_WRAPS check. * c-c++-common/ubsan/pr80932.c: New test. From-SVN: r248961
Marek Polacek committed -
gcc/testsuite * gcc.target/i386/l_fma_double_1.c: Adjust test strings. * gcc.target/i386/l_fma_double_2.c: Ditto. * gcc.target/i386/l_fma_double_3.c: Ditto. * gcc.target/i386/l_fma_double_4.c: Ditto. * gcc.target/i386/l_fma_double_5.c: Ditto. * gcc.target/i386/l_fma_double_6.c: Ditto. * gcc.target/i386/l_fma_float_1.c: Ditto. * gcc.target/i386/l_fma_float_2.c: Ditto. * gcc.target/i386/l_fma_float_3.c: Ditto. * gcc.target/i386/l_fma_float_4.c: Ditto. * gcc.target/i386/l_fma_float_5.c: Ditto. * gcc.target/i386/l_fma_float_6.c: Ditto. From-SVN: r248960
Bin Cheng committed -
* tree-vect-loop-manip.c (vect_do_peeling): Don't skip vector loop if versioning is required. * tree-vect-loop.c (vect_analyze_loop_2): Merge niter check for loop peeling with the check for versioning. From-SVN: r248959
Bin Cheng committed -
* tree-vectorizer.h (vect_build_loop_niters): New parameter. * tree-vect-loop-manip.c (vect_build_loop_niters): New parameter. Set true to new parameter if new ssa variable is defined. (vect_gen_vector_loop_niters): Refactor. Set range information for the new vector loop bound variable. (vect_do_peeling): Ditto. From-SVN: r248958
Bin Cheng committed -
* tree-affine.c (ssa.h): Include header file. (tree_to_aff_combination): Handle (T1)(X - CST) when inner type has wrapping overflow behavior. From-SVN: r248957
Bin Cheng committed
-