diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-12-21 10:11:29 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-12-21 10:11:29 +0100 |
commit | c0cc00c4f0e806d28ef6ed25671c75626817176e (patch) | |
tree | 96de9ce0a7aa2e5bdfd3caba7293470f524e76d6 /gcc/emit-rtl.c | |
parent | b1ccd09a7786c047a02f6eae42d431483be6a0ea (diff) | |
download | gcc-c0cc00c4f0e806d28ef6ed25671c75626817176e.zip gcc-c0cc00c4f0e806d28ef6ed25671c75626817176e.tar.gz gcc-c0cc00c4f0e806d28ef6ed25671c75626817176e.tar.bz2 |
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
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 8ca192f..53693bd 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -5861,11 +5861,11 @@ init_emit (void) #endif } -/* Return true if X is a valid element for a duplicated vector constant - of the given mode. */ +/* Return true if X is a valid element for a CONST_VECTOR of the given + mode. */ bool -valid_for_const_vec_duplicate_p (machine_mode, rtx x) +valid_for_const_vector_p (machine_mode, rtx x) { return (CONST_SCALAR_INT_P (x) || CONST_DOUBLE_AS_FLOAT_P (x) @@ -5907,7 +5907,7 @@ gen_const_vec_duplicate (machine_mode mode, rtx elt) rtx gen_vec_duplicate (machine_mode mode, rtx x) { - if (valid_for_const_vec_duplicate_p (mode, x)) + if (valid_for_const_vector_p (mode, x)) return gen_const_vec_duplicate (mode, x); return gen_rtx_VEC_DUPLICATE (mode, x); } |