aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-12-21 10:11:29 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-12-21 10:11:29 +0100
commitc0cc00c4f0e806d28ef6ed25671c75626817176e (patch)
tree96de9ce0a7aa2e5bdfd3caba7293470f524e76d6 /gcc/emit-rtl.c
parentb1ccd09a7786c047a02f6eae42d431483be6a0ea (diff)
downloadgcc-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.c8
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);
}