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: SH2A: "RTV/N Rn" implementation


Hi,

>> My first shot at this would be to emit RTV/N in a dummy form as 
>> part of the epilogue and leave the usual Rn--->R0 setup as it is,
>> producing

>> (set (reg R0) (reg Rn))
...
>> (parallel [
>> 	(set (reg R0) (reg R0))
>>	(return)
>> ])

>> and hope that the rnreg pass changes this to

>> (set (reg R0) (reg Rn))
...
>> (parallel [
>>	(set (reg R0) (reg Rn))
>>	(return)
>> ])

Thanks for your valuable suggestion.

We had implemented an insn as:-

(define_insn "return_rtv"
 [(parallel [
        (set (reg:SI R0_REG)
             (match_operand:SI "register_operand" "r"))
        (return)])]

We modified the implementation after the suggestion as:-

(define_insn "return_rtv"
 [(parallel [
        (set (reg:SI R0_REG)
             (reg:SI R0_REG))
        (return)])]

The complier still did not recognize the RTL pattern and the RTV/N Rn
instruction was not generated.

Can you please comment on the above modifications?

Regards,
Naveen.H.S.
KPIT Cummins Infosystems Ltd,
Pune (INDIA) 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	
Free download of GNU based tool-chains for Renesas' SH, H8, R8C, M16C	
and M32C Series. The following site also offers free technical support	
to its users. Visit http://www.kpitgnutools.com for details. 	
Latest versions of KPIT GNU tools were released on June 1, 2007.	
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


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