diff options
author | Alan Modra <amodra@gmail.com> | 2018-11-29 15:26:33 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2018-11-29 15:26:33 +1030 |
commit | abf07e52b2f16ad1234bdb89b9c8b3d704b67b11 (patch) | |
tree | 0da3af213c56add11115c8d1f52f3f04044e2074 | |
parent | 3f79c0ad268bc64d0cc231ba6d51098983bdb67b (diff) | |
download | gcc-abf07e52b2f16ad1234bdb89b9c8b3d704b67b11.zip gcc-abf07e52b2f16ad1234bdb89b9c8b3d704b67b11.tar.gz gcc-abf07e52b2f16ad1234bdb89b9c8b3d704b67b11.tar.bz2 |
[RS6000] Bogus easy_fp_constant call
easy_fp_constant accepts const_double, easy_vector_constant accepts
const_vector. Calling one from the other therefore will always return
false. I believe the zero_constant call in easy_vector_constant will
cover the 0.0 case of easy_fp_constant.
* config/rs6000/predicates.md (easy_vector_constant): Don't call
easy_fp_constant.
From-SVN: r266606
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/predicates.md | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 56dd30f..b1ea399 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2018-11-29 Alan Modra <amodra@gmail.com> + * config/rs6000/predicates.md (easy_vector_constant): Don't call + easy_fp_constant. + +2018-11-29 Alan Modra <amodra@gmail.com> + * config.in (HAVE_AS_PLTSEQ): Add. * config/rs6000/predicates.md (indirect_call_operand): New. * config/rs6000/rs6000-protos.h (rs6000_pltseq_template), diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index e98b00d..afe1b28 100644 --- a/gcc/config/rs6000/predicates.md +++ b/gcc/config/rs6000/predicates.md @@ -644,12 +644,6 @@ (define_predicate "easy_vector_constant" (match_code "const_vector") { - /* Because IEEE 128-bit floating point is considered a vector type - in order to pass it in VSX registers, it might use this function - instead of easy_fp_constant. */ - if (FLOAT128_VECTOR_P (mode)) - return easy_fp_constant (op, mode); - if (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode)) { int value = 256; |