This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: discouraging register use


DJ Delorie <dj@redhat.com> writes:
>> >   [(set (match_operand:SI 0 "" "c,c,?m,?m")
>> >         (plus:SI (match_operand:SI 1 "" "0,0,0,0")
>> > 		 (match_operand:SI 1 "" "c,?m,c,?m")))]
>> 
>> Yes, that looks plausible.  The other way isn't going to work because
>> you penalize c at the same time as m by using "?cm".
>> 
>> Does it actually work?
>
>One case I tried seems to work, but it will mean some REALLY long
>constraint lists for some of the common insns.  I suppose I can skip
>the generic move insns, as they shouldn't have too much bearing on
>register selection, if I get all the other insns (which have shorter
>constraint lists).
>
>But it's a lot of work to fix up everything, I wanted to make sure I
>wasn't missing something obvious before I started on it.

In such a case it is probably worth generating the md file with 
a perl script ?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]