gcc

~vcs-imports/gcc/+git/gcc:hjl/pieces/memset

Last commit made on 2016-08-17
Get this branch:
git clone -b hjl/pieces/memset https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Branch merges

Branch information

Name:
hjl/pieces/memset
Repository:
lp:~vcs-imports/gcc/+git/gcc

Recent commits

8ce684d... by "H.J. Lu" <email address hidden>

Add a TARGET_GEN_MEMSET_VALUE hook

builtin_memset_gen_str returns a register used for memset, which only
supports integer registers. But a target may use vector registers in
memmset. This patch adds a TARGET_GEN_MEMSET_VALUE hook to duplicate
QImode value to mode derived from STORE_MAX_PIECES, which can be used
with vector instructions. The default hook is the same as the original
builtin_memset_gen_str. A target can override it to support vector
instructions for STORE_MAX_PIECES.

gcc/

 * builtins.c (builtin_memset_gen_str): Call targetm.gen_memset_value.
 (default_gen_memset_value): New function.
 * target.def (gen_memset_value): New hook.
 * targhooks.c: Inclue "expmed.h" and "builtins.h".
 (default_gen_memset_value): New function.
 * targhooks.h (default_gen_memset_value): New prototype.
 * config/i386/i386.c (ix86_gen_memset_value): New function.
 (TARGET_GEN_MEMSET_VALUE): New.
 * config/i386/i386.h (STORE_MAX_PIECES): Likewise.
 * doc/tm.texi.in: Add TARGET_GEN_MEMSET_VALUE hook.
 * doc/tm.texi: Updated.

gcc/testsuite/

 * gcc.target/i386/pieces-memset-1.c: New test.
 * gcc.target/i386/pieces-memset-2.c: Likewise.
 * gcc.target/i386/pieces-memset-3.c: Likewise.
 * gcc.target/i386/pieces-memset-4.c: Likewise.
 * gcc.target/i386/pieces-memset-5.c: Likewise.
 * gcc.target/i386/pieces-memset-6.c: Likewise.
 * gcc.target/i386/pieces-memset-7.c: Likewise.
 * gcc.target/i386/pieces-memset-8.c: Likewise.
 * gcc.target/i386/pieces-memset-9.c: Likewise.
 * gcc.target/i386/pieces-memset-10.c: Likewise.
 * gcc.target/i386/pieces-memset-11.c: Likewise.
 * gcc.target/i386/pieces-memset-12.c: Likewise.
 * gcc.target/i386/pieces-memset-13.c: Likewise.
 * gcc.target/i386/pieces-memset-14.c: Likewise.
 * gcc.target/i386/pieces-memset-15.c: Likewise.
 * gcc.target/i386/pieces-memset-16.c: Likewise.
 * gcc.target/i386/pieces-memset-17.c: Likewise.
 * gcc.target/i386/pieces-memset-18.c: Likewise.
 * gcc.target/i386/pieces-memset-19.c: Likewise.
 * gcc.target/i386/pieces-memset-20.c: Likewise.
 * gcc.target/i386/pieces-memset-21.c: Likewise.
 * gcc.target/i386/pieces-memset-22.c: Likewise.
 * gcc.target/i386/pieces-memset-23.c: Likewise.
 * gcc.target/i386/pieces-memset-24.c: Likewise.
 * gcc.target/i386/pieces-memset-25.c: Likewise.
 * gcc.target/i386/pieces-memset-26.c: Likewise.
 * gcc.target/i386/pieces-memset-27.c: Likewise.
 * gcc.target/i386/pieces-memset-28.c: Likewise.
 * gcc.target/i386/pieces-memset-29.c: Likewise.
 * gcc.target/i386/pieces-memset-30.c: Likewise.
 * gcc.target/i386/pieces-memset-31.c: Likewise.
 * gcc.target/i386/pieces-memset-32.c: Likewise.
 * gcc.target/i386/pieces-memset-33.c: Likewise.
 * gcc.target/i386/pieces-memset-34.c: Likewise.
 * gcc.target/i386/pieces-memset-35.c: Likewise.
 * gcc.target/i386/pieces-memset-36.c: Likewise.
 * gcc.target/i386/pieces-memset-37.c: Likewise.
 * gcc.target/i386/pieces-memset-38.c: Likewise.
 * gcc.target/i386/pieces-memset-39.c: Likewise.
 * gcc.target/i386/pieces-memset-40.c: Likewise.
 * gcc.target/i386/pieces-memset-41.c: Likewise.
 * gcc.target/i386/pieces-memset-42.c: Likewise.
 * gcc.target/i386/pieces-memset-43.c: Likewise.
 * gcc.target/i386/pieces-memset-44.c: Likewise.

bf448dc... by alahay01 <alahay01@138bc75d-0d04-0410-961f-82ee72b054a4>

2015-08-17 Alan Hayward <email address hidden>

 PR tree-optimization/71752
 * tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
 * tree-vect-slp.c (vect_get_slp_defs): Handle null operands.

 PR tree-optimization/71752
 * gcc.dg/vect/pr71752.c: New

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239542 138bc75d-0d04-0410-961f-82ee72b054a4

d2392ec... by uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>

 * gfortran.dg/dec_init_2.f90: Use dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239540 138bc75d-0d04-0410-961f-82ee72b054a4

e10bc15... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 * gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
 instead of testing ECF_NORETURN bit in gimple_call_flags.
 * tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
 * predict.c (tree_bb_level_predictions): Likewise.
 * gimple-low.c (gimple_stmt_may_fallthru): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239539 138bc75d-0d04-0410-961f-82ee72b054a4

7201cd9... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

Remove duplicate dg-options directive

 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
 Remove duplicate dg-options directive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239538 138bc75d-0d04-0410-961f-82ee72b054a4

c4994c0... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR middle-end/77259
 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
 turning a call into __builtin_unreachable-like noreturn call, adjust
 gimple_call_set_fntype.
 * tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
 gimple_call_fntype has void return type.

 * g++.dg/ipa/devirt-52.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239537 138bc75d-0d04-0410-961f-82ee72b054a4

e1712f2... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

Adjust DG directives in libstdc++ Profile Mode test

 * testsuite/ext/profile/all.cc: Use effective target instead of
 -std=gnu++11. Use dg-additional-options instead of repeating options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239536 138bc75d-0d04-0410-961f-82ee72b054a4

89ec11d... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

Adjust DG directives in libstdc++ XFAIL test

 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
 instead of dg-excess-errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239535 138bc75d-0d04-0410-961f-82ee72b054a4

9f974f2... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

Adjust testcases for C++17 compatibility

 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
 test for C++17.
 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
 * testsuite/experimental/ratio/value.cc: Likewise.
 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
 C++17.
 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
 * testsuite/tr1/5_numerical_facilities/special_functions/
 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
 C++17 compatibility.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239534 138bc75d-0d04-0410-961f-82ee72b054a4

5542933... by redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>

Adjust testcase for C++14 compatibility

 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
 expected signatures for C++14 compatibility.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239533 138bc75d-0d04-0410-961f-82ee72b054a4