mn10300: Re-write move patterns.
authorRichard Henderson <rth@redhat.com>
Wed, 19 Jan 2011 16:57:37 +0000 (08:57 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 19 Jan 2011 16:57:37 +0000 (08:57 -0800)
commitb1efde2a0bef10502751bbb5f9caf96370424805
tree88e45d5807f38f55aad1a69b0c8b7e995a33e83b
parent036c8f37959ccdafc6ea055ec109eb7cc3051697
mn10300: Re-write move patterns.

Use the "D" and "A" constraints, and the enabled attribute to
unify all ofthe integer move patterns.  Delete the fake double
word move patterns; let the middle-end generate subregs as required.

Unfortunately, this somehow exposes a register pressure problem
with the udivmod pattern.  This is properly fixed with subsequent
patches that expose the MDR register.

In the meantime it is highly desirable to to preserve bisect-ability
of the patch series, so disable this pattern for AM30.

From-SVN: r169004
gcc/ChangeLog
gcc/config/mn10300/mn10300.md