This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: msp430 port
- From: Bernd Schmidt <bernds at codesourcery dot com>
- To: DJ Delorie <dj at redhat dot com>
- Cc: Jeff Law <law at redhat dot com>, <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 1 Aug 2013 12:40:15 +0200
- Subject: Re: msp430 port
- References: <51E700D1 dot 702 at redhat dot com> <201307192332 dot r6JNW2m8013830 at greed dot delorie dot com>
On 07/20/2013 01:32 AM, DJ Delorie wrote:
>> Every pattern that is using (subreg:SI (thing:PSI)) needs to be
>> explained on this list and given an explicit clearance. It really looks
>> like you're just papering over problems elsewhere.
>
> Most of them are just optimizations, but the problem with reload is
> that an SImode register *can't* hold a PSImode value. Registers are
> 20 bits; a PSImode value is 20 bits. SImode values require two
> registers (16 bits each). Converting between SImode and PSImode is
> both nontrivial and very common (pointer math).
>
> What I really need is an int20_t type in the core of gcc, so I can set
> Pmode to *that*, to avoid the SImode stuff completely. But that's a
> core change, not a target change.
Sometimes you have to make core changes for a new port. This sounds
like something that really should be fixed before this port can go in.
Bernd