- 08 Jun, 2016 11 commits
-
-
* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes VALLF. * config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF to VALLF. Rename to "fabd<mode>3". "*fabd_scalar<mode>3): Delete. * config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly. Use builtin. (vabdd_f64): Likewise. (vabd_f32): Likewise. (vabd_f64): Likewise. (vabdq_f32): Likewise. (vabdq_f64): Likewise. From-SVN: r237204
Jiong Wang committed -
* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes VALLF. * config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to "aarch64_rsqrts<mode>". * config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name. * config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly. Use builtin. (vrsqrtsd_f64): Likewise. (vrsqrts_f32): Likewise. (vrsqrts_f64): Likewise. (vrsqrtsq_f32): Likewise. (vrsqrtsq_f64): Likewise. From-SVN: r237203
Jiong Wang committed -
* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes VALLF. * config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to "aarch64_rsqrte<mode>". * config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name. * config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly. Use builtin. (vrsqrted_f64): Likewise. (vrsqrte_f32): Likewise. (vrsqrte_f64): Likewise. (vrsqrteq_f32): Likewise. (vrsqrteq_f64): Likewise. From-SVN: r237202
Jiong Wang committed -
* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes. (ucvtf): Likewise. (fcvtzs): Likewise. (fcvtzu): Likewise. * config/aarch64/aarch64-simd.md (<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New. (<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise. * config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly. Use builtin. (vcvt_n_f32_u32): Likewise. (vcvt_n_s32_f32): Likewise. (vcvt_n_u32_f32): Likewise. (vcvtq_n_f32_s32): Likewise. (vcvtq_n_f32_u32): Likewise. (vcvtq_n_f64_s64): Likewise. (vcvtq_n_f64_u64): Likewise. (vcvtq_n_s32_f32): Likewise. (vcvtq_n_s64_f64): Likewise. (vcvtq_n_u32_f32): Likewise. (vcvtq_n_u64_f64): Likewise. * config/aarch64/iterators.md (VDQ_SDI): New mode iterator. (VSDQ_SDI): Likewise. (fcvt_target): Support V4DI, V4SI and V2SI. (FCVT_TARGET): Likewise. From-SVN: r237201
Jiong Wang committed -
* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New (TYPES_BINOP_SUS): Likewise. (aarch64_simd_builtin_data): Update include file name. (aarch64_builtins): Likewise. * config/aarch64/aarch64-simd-builtins.def (scvtf): New entries for conversion between scalar float-point and fixed-point. (ucvtf): Likewise. (fcvtzs): Likewise. (fcvtzu): Likewise. * config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New pattern for conversion between scalar float to fixed-pointer. (<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise. (UNSPEC_FCVTZS): New UNSPEC enumeration. (UNSPEC_FCVTZU): Likewise. (UNSPEC_SCVTF): Likewise. (UNSPEC_UCVTF): Likewise. * config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly. Use builtin. (vcvtd_n_f64_u64): Likewise. (vcvtd_n_s64_f64): Likewise. (vcvtd_n_u64_f64): Likewise. (vcvtd_n_f32_s32): Likewise. (vcvts_n_f32_u32): Likewise. (vcvtd_n_s32_f32): Likewise. (vcvts_n_u32_f32): Likewise. * config/aarch64/iterators.md (fcvt_target): Support integer to float mapping. (FCVT_TARGET): Likewise. (FCVT_FIXED2F): New iterator. (FCVT_F2FIXED): Likewise. (fcvt_fixed_insn): New define_int_attr. From-SVN: r237200
Jiong Wang committed -
* predict.c (pass_strip_predict_hints::execute): Cleanup CFG if some statements was removed. From-SVN: r237199
Jan Hubicka committed -
2016-06-08 Alan Hayward <alan.hayward@arm.com> gcc/ * tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline. * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise. (vect_can_advance_ivs_p): likewise. (vect_update_ivs_after_vectorizer): likewise. * tree-vect-loop.c (vect_determine_vectorization_factor): likewise. (vect_analyze_scalar_cycles_1): likewise. (vect_analyze_loop_operations): likewise. (report_vect_op): likewise. (vect_is_slp_reduction): likewise. (vect_is_simple_reduction): likewise. (get_initial_def_for_induction): likewise. (vect_transform_loop): likewise. * tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise. (vect_recog_sad_pattern): likewise. (vect_recog_widen_sum_pattern): likewise. (vect_recog_widening_pattern): likewise. (vect_recog_divmod_pattern): likewise. * tree-vect-slp.c (vect-build-slp_tree_1): likewise. (vect_analyze_slp_instance): likewise. (vect_transform_slp_perm_load): likewise. (vect_schedule_slp_instance): likewise. From-SVN: r237198
Alan Hayward committed -
2016-06-08 Alan Hayward <alan.hayward@arm.com> gcc/testsuite/ * gcc.dg/vect/vect-live-2.c: Update effective target. * gcc.dg/vect/vect-live-slp-3.c: Likewise. * lib/target-supports.exp: Add aarch64 to vect_long. From-SVN: r237197
Alan Hayward committed -
PR c/71426 * c-decl.c (get_parm_info): Don't crash on an assert on invalid code. * gcc.dg/noncompile/pr71426.c: New test. From-SVN: r237196
Marek Polacek committed -
PR c/71418 * c-decl.c (grokdeclarator): Check TYPE_P. * gcc.dg/noncompile/pr71418.c: New test. From-SVN: r237195
Marek Polacek committed -
From-SVN: r237194
GCC Administrator committed
-
- 07 Jun, 2016 20 commits
-
-
* predict.c (predict_iv_comparison): Mention that heuristics is broken. (return_prediction): PRED_CONST_RETURN predict return as not taken. * predict.def (PRED_CONTINUE): Change hitrate 50->67 (PRED_LOOP_BRANCH): Document predictor as broken. (PRED_LOOP_EXIT): Change hitrate 91->92. (PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83. (PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70. (PRED_OPCODE_POSITIVE): Change hitrate 79->64. (PRED_OPCODE_NONEQUAL): Change hitrate 91->66. (PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64 (PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66 (PRED_CALL): Chane hitrate 71->67. (PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54. (PRED_GOTO): Document as unused right now. (PRED_CONST_RETURN): Change hitrate 67->69 (PRED_NEGATIVE_RETURN): Change hitrate 96->98 (PRED_NULL_RETURN): Change hitrate 91->90. (PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98. (PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues. (PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99. * gcc.dg/ipa/inlinehint-4.c: Disable partial inlining. * gcc.dg/predict-1.c: Update template for new predictor hitrates. * gcc.dg/predict-3.c: Update template. * gcc.dg/predict-5.c: Update template. * gcc.dg/predict-6.c: Update template. * gcc.dg/predict-9.c: Update template. * gcc.dg/predict-9.c: Update template. * gcc.dg/tree-ssa/attr-hotcold-2.c: Update template. From-SVN: r237185
Jan Hubicka committed -
2016-06-07 François Dumont <fdumont@gcc.gnu.org> * include/std/tuple (_Head_base<>): Default specialization condition at type declaration. From-SVN: r237184
François Dumont committed -
This patch adds support for the missing versions of the vec_mul altivec builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins that are missing and this is part of a series of patches to add them. There aren't instructions for the {un}signed char, {un}signed short, and {un}signed int versions of vec_mul so the output code is built from other built-ins and operations that do have instructions. The new test case is an executable test which verifies that the generated code produces expected values. C macros were used so that the same test case could be used for all the various supported types. Bootstrapped and tested on powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk? [gcc] 2016-06-07 Bill Seurer <seurer@linux.vnet.ibm.com> * config/rs6000/altivec.h: Add __builtin_vec_mul. * config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a special case Altivec builtin. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove VSX_BUILTIN_VEC_MUL (replaced with special case code). * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add code for ALTIVEC_BUILTIN_VEC_MUL. * config/rs6000/rs6000.c (altivec_init_builtins): Add definition for __builtin_vec_mul. [gcc/testsuite] 2016-06-07 Bill Seurer <seurer@linux.vnet.ibm.com> * gcc.target/powerpc/vec-mul.c: New test. From-SVN: r237183
Bill Seurer committed -
* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and -mno-htm. From-SVN: r237182
Peter Bergner committed -
gcc/ChangeLog: * spellcheck.c (selftest::test_find_closest_string): New function. (spellcheck_c_tests): Call the above. From-SVN: r237181
David Malcolm committed -
* simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local variable. From-SVN: r237180
Kyrylo Tkachov committed -
gcc/c/ChangeLog: * c-parser.c (c_parser_postfix_expression): In __builtin_offsetof and structure element reference, capture the location of the element name token and pass it to build_component_ref. (c_parser_postfix_expression_after_primary): Likewise for structure element dereference. (c_parser_omp_variable_list): Likewise for OMP_CLAUSE_{_CACHE, MAP, FROM, TO}, * c-tree.h (build_component_ref): Add location_t param. * c-typeck.c (build_component_ref): Add location_t param COMPONENT_LOC. Use it, if available, when issuing hints about mispelled member names to provide a fixit replacement hint. gcc/objc/ChangeLog: * objc-act.c (objc_build_component_ref): Update call to build_component_ref for added param, passing UNKNOWN_LOCATION. gcc/testsuite/ChangeLog: * gcc.dg/spellcheck-fields-2.c: New test case. From-SVN: r237176
David Malcolm committed -
* config/i386/sse.md (avx_vec_concat<mode>): Add v=v,vm and Yv=Yv,C alternatives. From-SVN: r237175
Jakub Jelinek committed -
2016-06-07 Richard Biener <rguenther@suse.de> PR c/61564 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION options and warn about others. * common.opt (ffast-math): Make Optimization. * gcc.dg/Wpragmas-1.c: New testcase. * gcc.dg/Wattributes-4.c: Likewise. * gcc.dg/ipa/pr70646.c: Drop optimize pragma in favor of dg-option entry. From-SVN: r237174
Richard Biener committed -
gcc/ * config/mips/p5600.md (p5600_fpu_fadd): Remove checking for `fabs' and `fneg' type attributes. (p5600_fpu_fabs): Add `fmove' to the comment. Co-Authored-By: Prachi Godbole <prachi.godbole@imgtec.com> From-SVN: r237173
Simon Dardis committed -
* gimple.c: Include builtins.h (gimple_inexpensive_call_p): New function. * gimple.h (gimple_inexpensive_call_p): Declare. * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it. * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise; fix formatting. From-SVN: r237172
Jan Hubicka committed -
* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Remove spurious debug code. From-SVN: r237171
Christophe Lyon committed -
From-SVN: r237170
Rainer Orth committed -
libcc1: Update copyrights. gotools: Update copyrights. contrib: * update-copyright.py (LibMudflapFilter): Remove. (GCCCmdLine.__init__): Add gotools, libcc1. Remove libmudflap. List unhandled intl, libcilkrts, libgo, liboffloadmic, maintainer-scripts. From-SVN: r237169
Rainer Orth committed -
2016-06-07 Paolo Carlini <paolo.carlini@oracle.com> * diagnostic.c (diagnostic_impl, diagnostic_n_impl): New. (inform, inform_at_rich_loc, inform_n, warning, warning_at, warning_at_rich_loc, warning_n, pedwarn, permerror, permerror_at_rich_loc, error, error_n, error_at, error_at_rich_loc, sorry, fatal_error, internal_error, internal_error_no_backtrace): Use the above. From-SVN: r237168
Paolo Carlini committed -
2016-06-07 Richard Biener <rguenther@suse.de> PR tree-optimization/71428 * tree-ssa-math-opts.c (perform_symbolic_merge): Properly distinguish BIT_FIELD_REF op vs. load. * gcc.dg/torture/pr71428.c: New testcase. From-SVN: r237167
Richard Biener committed -
2016-06-07 Richard Biener <rguenther@suse.de> PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. From-SVN: r237166
Richard Biener committed -
* config/pa/pa.md (call): Generate indirect long calls to non-local functions on TARGET_64BIT. (call_value): Likewise. From-SVN: r237164
John David Anglin committed -
* config/pa/pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from pattern and subsequent splitters. (call_val_reg_64bit_post_reload): Likewise. From-SVN: r237163
John David Anglin committed -
From-SVN: r237162
GCC Administrator committed
-
- 06 Jun, 2016 9 commits
-
-
gcc/ChangeLog: 2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71408 * tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for propagate_op_to_single_use. gcc/testsuite/ChangeLog: 2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71408 * gcc.dg/tree-ssa/pr71408.c: New test. From-SVN: r237158
Kugan Vivekanandarajah committed -
gcc/ChangeLog: 2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71281 * tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt. gcc/testsuite/ChangeLog: 2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71281 * g++.dg/torture/pr71281.C: New test. From-SVN: r237157
Kugan Vivekanandarajah committed -
* config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG. (enum x86_dirflag_state): New enum. (NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY. (machine_function): Remove needs_cld. (ix86_current_function_needs_cld): Remove. * config/i386/i386.c (ix86_set_func_type): Set ix86_optimize_mode_switching[X86_DIRFLAG] to 1. (ix86_expand_prologue): Do not emit CLD here. (ix86_dirflag_mode_needed): New function. (ix86_dirflag_mode_entry): Ditto. (ix86_mode_needed): Handle X86_DIRFLAG entity. (ix86_mode_after): Ditto. (ix86_mode_entry): Ditto. (ix86_mode_exit): Ditto. (ix86_emit_mode_set): Ditto. * config/i386/i386.md (strmov_singleop): Set ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD. Do not set ix86_current_function_needs_cld. (rep_mov): Ditto. (strset_singleop): Ditto. (rep_stos): Ditto. (cmpstrnqi_nz_1): Ditto. (cmpstrnqi_1): Ditto. (strlenqi_1): Ditto. From-SVN: r237156
Uros Bizjak committed -
PR c/71362 * c-parser.c (c_parser_direct_declarator): Set location. * gcc.dg/pr71362.c: New test. From-SVN: r237155
Marek Polacek committed -
PR c++/70847 PR c++/71330 PR c++/71393 * cp-gimplify.c (cp_fold_r): Set *walk_subtrees = 0 and return NULL right after cp_fold call if cp_fold has returned the same stmt already in some earlier cp_fold_r call. (cp_fold_function): Add pset automatic variable, pass its address to cp_walk_tree. * g++.dg/opt/pr70847.C: New test. * g++.dg/ubsan/pr70847.C: New test. * g++.dg/ubsan/pr71393.C: New test. Co-Authored-By: Patrick Palka <ppalka@gcc.gnu.org> From-SVN: r237151
Jakub Jelinek committed -
PR tree-optimization/71259 * tree-vect-slp.c (vect_get_constant_vectors): For VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of one for constant op, and use COND_EXPR for non-constant. * gcc.dg/vect/pr71259.c: New test. From-SVN: r237147
Jakub Jelinek committed -
From-SVN: r237145
Joseph Myers committed -
gcc/ChangeLog: * Makefile.in (OBJS): Add function-tests.o, hash-map-tests.o, hash-set-tests.o, rtl-tests.o, selftest-run-tests.o. (OBJS-libcommon): Add selftest.o. (OBJS-libcommon-target): Add selftest.o. (all.internal): Add "selftest". (all.cross): Likewise. (selftest): New phony target. (s-selftest): New target. (selftest-gdb): New phony target. (COLLECT2_OBJS): Add selftest.o. * bitmap.c: Include "selftest.h". (selftest::test_gc_alloc): New function. (selftest::test_set_range): New function. (selftest::test_clear_bit_in_middle): New function. (selftest::test_copying): New function. (selftest::test_bitmap_single_bit_set_p): New function. (selftest::bitmap_c_tests): New function. * common.opt (fself-test): New. * diagnostic-show-locus.c: Include "selftest.h". (make_range): New function. (test_range_contains_point_for_single_point): New function. (test_range_contains_point_for_single_line): New function. (test_range_contains_point_for_multiple_lines): New function. (assert_eq): New function. (test_get_line_width_without_trailing_whitespace): New function. (selftest::diagnostic_show_locus_c_tests): New function. * et-forest.c: Include "selftest.h". (selftest::test_single_node): New function. (selftest::test_simple_tree): New function. (selftest::test_disconnected_nodes): New function. (selftest::et_forest_c_tests): New function. * fold-const.c: Include "selftest.h". (selftest::assert_binop_folds_to_const): New function. (selftest::assert_binop_folds_to_nonlvalue): New function. (selftest::test_arithmetic_folding): New function. (selftest::fold_const_c_tests): New function. * function-tests.c: New file. * gimple.c: Include "selftest.h". Include "gimple-pretty-print.h". (selftest::verify_gimple_pp): New function. (selftest::test_assign_single): New function. (selftest::test_assign_binop): New function. (selftest::test_nop_stmt): New function. (selftest::test_return_stmt): New function. (selftest::test_return_without_value): New function. (selftest::gimple_c_tests): New function. * hash-map-tests.c: New file. * hash-set-tests.c: New file. * input.c: Include "selftest.h". (selftest::assert_loceq): New function. (selftest::test_accessing_ordinary_linemaps): New function. (selftest::test_unknown_location): New function. (selftest::test_builtins): New function. (selftest::test_reading_source_line): New function. (selftest::input_c_tests): New function. * rtl-tests.c: New file. * selftest-run-tests.c: New file. * selftest.c: New file. * selftest.h: New file. * spellcheck.c: Include "selftest.h". (selftest::levenshtein_distance_unit_test_oneway): New function, adapted from testsuite/gcc.dg/plugin/levenshtein_plugin.c. (selftest::levenshtein_distance_unit_test): Likewise. (selftest::spellcheck_c_tests): Likewise. * toplev.c: Include selftest.h. (toplev::run_self_tests): New. (toplev::main): Handle -fself-test. * toplev.h (toplev::run_self_tests): New. * tree.c: Include "selftest.h". (selftest::test_integer_constants): New function. (selftest::test_identifiers): New function. (selftest::test_labels): New function. (selftest::tree_c_tests): New function. * tree-cfg.c: Include "selftest.h". (selftest::push_fndecl): New function. (selftest::test_linear_chain): New function. (selftest::test_diamond): New function. (selftest::test_fully_connected): New function. (selftest::tree_cfg_c_tests): New function. * vec.c: Include "selftest.h". (selftest::safe_push_range): New function. (selftest::test_quick_push): New function. (selftest::test_safe_push): New function. (selftest::test_truncate): New function. (selftest::test_safe_grow_cleared): New function. (selftest::test_pop): New function. (selftest::test_safe_insert): New function. (selftest::test_ordered_remove): New function. (selftest::test_unordered_remove): New function. (selftest::test_block_remove): New function. (selftest::reverse_cmp): New function. (selftest::test_qsort): New function. (selftest::vec_c_tests): New function.c. * wide-int.cc: Include selftest.h and wide-int-print.h. (selftest::from_int <wide_int>): New function. (selftest::from_int <offset_int>): New function. (selftest::from_int <widest_int>): New function. (selftest::assert_deceq): New function. (selftest::assert_hexeq): New function. (selftest::test_printing <VALUE_TYPE>): New function template. (selftest::test_ops <VALUE_TYPE>): New function template. (selftest::test_comparisons <VALUE_TYPE>): New function template. (selftest::run_all_wide_int_tests <VALUE_TYPE>): New function template. (selftest::wide_int_cc_tests): New function. gcc/testsuite/ChangeLog: * gcc.dg/plugin/levenshtein-test-1.c: Delete. * gcc.dg/plugin/levenshtein_plugin.c: Delete. * gcc.dg/plugin/plugin.exp (plugin_test_list): Remove the above. From-SVN: r237144
David Malcolm committed -
* include/std/tuple (tuple<>::tuple(), tuple<>::tuple(allocator_arg_t, const _Alloc&), tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New. * testsuite/20_util/tuple/cons/allocators.cc: Adjust. From-SVN: r237143
Ville Voutilainen committed
-