s390: Implement extzv for z10
authorRichard Henderson <rth@redhat.com>
Thu, 20 Dec 2012 18:05:11 +0000 (10:05 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 20 Dec 2012 18:05:11 +0000 (10:05 -0800)
commit1a2e356efefb29718ef217149c0df76fcb4ac08a
tree13b6b3e56d5eb65f78862c1cf017f280fe0d0020
parent2542ef057b0a9c35308e7eee2e5fbddac7c67a0c
s390: Implement extzv for z10

        * config/s390/predicates.md (nonzero_shift_count_operand): New.
        * config/s390/s390-protos.h (s390_extzv_shift_ok): Declare.
        * config/s390/s390.c (s390_extzv_shift_ok): New function.
        * config/s390/s390.md (extzv): New expander.
        (*extzv<GPR>_zEC12, *extzv<GPR>_z10): New insns.
        (*pre_z10_extzv<GPR>): Rename from *extzv<GPR>; simplify with
        nonzero_shift_count_operand.
        (*extzv_<mode>_srl, *extzv_<mode>_sll): New insns.

Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194644
gcc/ChangeLog
gcc/config/s390/predicates.md
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.c
gcc/config/s390/s390.md