[rs6000] Refactor FP vector comparison operators
This is a subsequent patch to refactor the existing float point
vector comparison operator supports. The patch to fix PR92132
supplemented vector float point comparison by exposing the names
for unordered/ordered/uneq/ltgt and adding ungt/unge/unlt/unle/
ne. As Segher pointed out, some patterns can be refactored
together. The main link on this is:
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00452.html
gcc/ChangeLog
2019-11-25 Kewen Lin <linkw@gcc.gnu.org>
* config/rs6000/vector.md (vector_fp_comparison_simple): New code iterator.
(vector_fp_comparison_complex): Likewise.
(vector_<code><mode> for VEC_F and vector_fp_comparison_simple): New
define_and_split.
(vector_<code><mode> for VEC_F and vector_fp_comparison_complex): Likewise.
(vector_lt<mode> for VEC_F): Refactor with vector_fp_comparison_simple.
(vector_le<mode> for VEC_F): Likewise.
(vector_unge<mode> for VEC_F): Likewise.
(vector_unle<mode> for VEC_F): Likewise.
(vector_ne<mode> for VEC_F): Likewise.
(vector_ungt<mode> for VEC_F): Likewise.
(vector_unlt<mode> for VEC_F): Likewise.
(vector_ltgt<mode> for VEC_F): Refactor with vector_fp_comparison_complex.
(vector_ordered<mode> for VEC_F): Likewise.
(vector_uneq<mode> for VEC_F): Likewise.
(vector_unordered<mode> for VEC_F): Likewise.
From-SVN: r278665