This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A question about combining constraints
- From: Dave Korn <dave dot korn dot cygwin at gmail dot com>
- To: Mohamed Shafi <shafitvm at gmail dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Fri, 12 Nov 2010 15:46:47 +0000
- Subject: Re: A question about combining constraints
- References: <AANLkTikv9vPDk5fqOLSkbyQE_EQ7DcpkyjdaYaqqi73h@mail.gmail.com>
On 12/11/2010 12:51, Mohamed Shafi wrote:
> All the constraints are one letter constraints for my target. Here 'W'
> is for symbol_ref and all others are register constraints. So for a
> particular combination when operand 0 is 'a' and operand 1 is 'W' i
> got the following ICE :
> I get this ICE because the constraints are not matched properly. I ICE
> goes away when i write the constraints as:
>
> "=ad", "Wd"
>
> or
>
> "a,a,d,d," , "W,W,d,d"
>
> So i have the following questions:
>
> 1. Why is that constraints are not matched here?
> 2. When can i combine the constrains?
By "combine constraints", you mean "Omit all the commas between
alternatives, mash them together in a single string, and expect GCC to permute
all the possible combinations"?
I didn't know that was possible at all. I thought GCC would interpret those
as multi-letter constraint names.
cheers,
DaveK