diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-20 18:05:11 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-20 18:05:11 +0000 |
commit | 6bc2865555843fddf74e8618574ee3923deb91ee (patch) | |
tree | 13b6b3e56d5eb65f78862c1cf017f280fe0d0020 /gcc/config/s390/s390-protos.h | |
parent | 35842b4e24851ae0cbcfdd86a8bc34cfe98721e1 (diff) | |
download | gcc-6bc2865555843fddf74e8618574ee3923deb91ee.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194644 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/s390/s390-protos.h')
-rw-r--r-- | gcc/config/s390/s390-protos.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h index 9b87914e471..a494ba22893 100644 --- a/gcc/config/s390/s390-protos.h +++ b/gcc/config/s390/s390-protos.h @@ -109,5 +109,6 @@ extern bool s390_legitimate_address_without_index_p (rtx); extern bool s390_decompose_shift_count (rtx, rtx *, HOST_WIDE_INT *); extern int s390_branch_condition_mask (rtx); extern int s390_compare_and_branch_condition_mask (rtx); +extern bool s390_extzv_shift_ok (int, int, unsigned HOST_WIDE_INT); #endif /* RTX_CODE */ |