This is the mail archive of the
mailing list for the GCC project.
Re: PR63633: May middle-end come up width hard regs for insn expanders?
- From: Jeff Law <law at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>, Georg-Johann Lay <avr at gjlay dot de>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Tue, 28 Oct 2014 07:39:48 -0600
- Subject: Re: PR63633: May middle-end come up width hard regs for insn expanders?
- Authentication-results: sourceware.org; auth=none
- References: <544A5C14 dot 5030607 at gjlay dot de> <544A7CFA dot 700 at redhat dot com> <20141024162919 dot GL10376 at tucnak dot redhat dot com> <544A7EE5 dot 1040303 at redhat dot com> <544A984D dot 8080804 at gjlay dot de> <20141024182950 dot GQ10376 at tucnak dot redhat dot com> <544E9DFD dot 5040401 at gjlay dot de> <544EA045 dot 1030503 at redhat dot com> <544F86CE dot 5030401 at gjlay dot de> <20141028124054 dot GI10376 at tucnak dot redhat dot com>
On 10/28/14 06:40, Jakub Jelinek wrote:
I'd say if on the target reg26 or reg27 is used or clobbered by
multiplication, then it is a user error to use it this way, the register
then isn't suitable for the local hard register usage.
And this situation is a great example of why clobbering hard registers
in patterns is a bad idea.
This has a much greater chance of working if the patterns instead
clobbered a pseudo/scratch where the constraint specifies a class that
has r26/r27 as a member (possibly its only member).