re PR rtl-optimization/82973 (ICE in output_constant_pool_2, at varasm.c:3896 on...
authorJakub Jelinek <jakub@redhat.com>
Thu, 21 Dec 2017 09:11:29 +0000 (10:11 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 21 Dec 2017 09:11:29 +0000 (10:11 +0100)
commitc0cc00c4f0e806d28ef6ed25671c75626817176e
tree96de9ce0a7aa2e5bdfd3caba7293470f524e76d6
parentb1ccd09a7786c047a02f6eae42d431483be6a0ea
re PR rtl-optimization/82973 (ICE in output_constant_pool_2, at varasm.c:3896 on aarch64)

PR rtl-optimization/82973
* emit-rtl.h (valid_for_const_vec_duplicate_p): Rename to ...
(valid_for_const_vector_p): ... this.
* emit-rtl.c (valid_for_const_vec_duplicate_p): Rename to ...
(valid_for_const_vector_p): ... this.  Adjust function comment.
(gen_vec_duplicate): Adjust caller.
* optabs.c (expand_vector_broadcast): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Don't optimize into
CONST_VECTOR if some element isn't simplified valid_for_const_vector_p
constant.
(simplify_const_binary_operation): Likewise.  Use CONST_FIXED_P macro
instead of GET_CODE == CONST_FIXED.
(simplify_subreg): Use CONST_FIXED_P macro instead of
GET_CODE == CONST_FIXED.

* gfortran.dg/pr82973.f90: New test.

From-SVN: r255938
gcc/ChangeLog
gcc/emit-rtl.c
gcc/emit-rtl.h
gcc/optabs.c
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog