register allocation in gcc

vikramsp vikram2rhyme@gmail.com
Tue Oct 18 17:20:00 GMT 2011


I understood what you suggested. But how to 
define a register class (possibly in <MACHINE>.c file).


Paulo J. Matos-3 wrote:
> 
> On 18/10/11 08:06, vikramsp wrote:
>>
>> In my .md file there is an insn
>> (define_insn abssf2
>>        ....
>>        ....
>>       (clobber (match_scratch 2 ""))
>>
>> the %2 register is allocated as r0 in the real code.
>> My problem is that i want other than r0 to be allocated
>> for operand 2.
>> Please help how to do that.
> 
> In the "" after the 2 comes the constraint list. Constrain the register 
> to be somewhere that doesn't include r0.
> 
> So, for example, define a constraint x that corresponds to a register 
> class that doesn't contain r0 and then do:
> (define_insn abssf2
>         ....
>         ....
>        (clobber (match_scratch 2 "x"))
> 
> -- 
> PMatos
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/register-allocation-in-gcc-tp32672662p32676581.html
Sent from the gcc - Help mailing list archive at Nabble.com.



More information about the Gcc-help mailing list