8ce684d...
by
"H.J. Lu" <email address hidden>
on 2016-03-06
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>
on 2016-08-17
2015-08-17 Alan Hayward <email address hidden>
PR tree-optimizati on/71752
* tree-vect-loop.c (vectorizable_ reduction) : Keep SLP operand ordering.
* tree-vect-slp.c (vect_get_ slp_defs) : Handle null operands.
PR tree-optimizati on/71752
* gcc.dg/ vect/pr71752. c: New
git-svn-id: svn+ssh: //gcc.gnu. org/svn/ gcc/trunk@ 239542 138bc75d- 0d04-0410- 961f-82ee72b054 a4
d2392ec...
by
uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
* 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-82ee72b054 a4
e10bc15...
by
jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
* 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_predictio ns): 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-82ee72b054 a4
7201cd9...
by
redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
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-82ee72b054 a4
c4994c0...
by
jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
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-82ee72b054 a4
e1712f2...
by
redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
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-82ee72b054 a4
89ec11d...
by
redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
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-82ee72b054 a4
9f974f2...
by
redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
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-82ee72b054 a4
5542933...
by
redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
on 2016-08-17
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-82ee72b054 a4