OSDN Git Service

mn10300: Re-write move patterns.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jan 2011 16:57:37 +0000 (16:57 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jan 2011 16:57:37 +0000 (16:57 +0000)
commitedad0637abbd8210787e4cd8e750980653f3e799
tree88e45d5807f38f55aad1a69b0c8b7e995a33e83b
parenta7f064d5fe39ee874d9043f3bbf7427105bba51e
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169004 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/mn10300/mn10300.md