s390-protos.h (shift_count_operand): Add prototype.
authorUlrich Weigand <uweigand@de.ibm.com>
Sat, 18 Oct 2003 22:24:37 +0000 (22:24 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Sat, 18 Oct 2003 22:24:37 +0000 (22:24 +0000)
commitac32b25eb886014b94e40d2e74f30a826321281c
tree1ec458ae3955d192bce62e0f9e4f651478b1cad4
parent3f12a2e0b4e0b124bc59fa8a8296e0698d9adde2
s390-protos.h (shift_count_operand): Add prototype.

* config/s390/s390-protos.h (shift_count_operand): Add prototype.
* config/s390/s390.c (shift_count_operand): New function.
(s390_extra_constraint): Use it to implement 'Y' constraint.
(print_shift_count_operand): New function.
(print_operand): Use it to implement '%Y'.
* config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
(PREDICATE_CODES): Add shift_count_operand.
* config/s390/s390.md ("rotldi3"): Merge alternatives,
using "shift_count_operand" predicate and "Y" constraint,
and "%Y" to output the combined shift count.
("rotlsi3"): Likewise.
("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
"*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
("lshrsi3"): Likewise.

From-SVN: r72661
gcc/ChangeLog
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.c
gcc/config/s390/s390.h
gcc/config/s390/s390.md