* config/m32c/shift.md: Rewrite: Allow arbitrary operands for
commit3fd11504cc56578f6e453a5d811d4c6a8ce6051e
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jan 2006 03:34:40 +0000 (13 03:34 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jan 2006 03:34:40 +0000 (13 03:34 +0000)
tree9e1c2623ec284bf054eb8d2b3113f0d0a8aa724d
parent66ac479a5085b15e7f243f5d36d33699dadd75da
* config/m32c/shift.md: Rewrite: Allow arbitrary operands for
shift counts, separate SI shifts for m32c vs m16c, pass shift type
so that constant shifts can be split.
* config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add In6.
(m32c_valid_pointer_mode): Make static.
(shift_gen_func_for): New.
(m32c_prepare_shift): Use it.  Split large const shifts into
multiple shifts.
* config/m32c/predicates.md (shiftcount_operand): Allow more
general operands.
(longshiftcount_operand): New.
* doc/md.texi (Machine Constraints): Document In6.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109661 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/m32c/m32c.c
gcc/config/m32c/predicates.md
gcc/config/m32c/shift.md
gcc/doc/md.texi