https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77918

--- Comment #5 from iii at gcc dot gnu.org ---
Author: iii
Date: Tue Oct  1 14:04:08 2019
New Revision: 276409

URL: https://gcc.gnu.org/viewcvs?rev=276409&root=gcc&view=rev
Log:
S/390: Remove code duplication in vec_* comparison expanders

s390.md uses a lot of near-identical expanders that perform dispatching
to other expanders based on operand types. Since the following patch
would require even more of these, avoid copy-pasting the code by
generating these expanders using an iterator.

gcc/ChangeLog:

2019-10-01  Ilya Leoshkevich  <i...@linux.ibm.com>

        PR target/77918
        * config/s390/s390.c (s390_expand_vec_compare): Use
        gen_vec_cmpordered and gen_vec_cmpunordered.
        * config/s390/vector.md (vec_cmpuneq, vec_cmpltgt, vec_ordered,
        vec_unordered): Delete.
        (vec_ordered<mode>): Rename to vec_cmpordered<mode>.
        (vec_unordered<mode>): Rename to vec_cmpunordered<mode>.
        (VEC_CMP_EXPAND): New iterator for the generic dispatcher.
        (vec_cmp<code>): Generic dispatcher.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/s390/s390.c
    trunk/gcc/config/s390/vector.md

Reply via email to