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]

Reload Problem


Hi all,
  
   I am having a problem in legitimizing a reload
address. During the reload an address of
   (plus:HI (reg/f:HI 24 R1)  (const_int 130 [0x82] ))
is being generated, where the valid offset is only
128. So in the legitimize reload i am breaking it up
as
   (plus:HI (plus:HI (reg/f:HI 24 R1)
		  (const_int 127 [0x7f]))
                (const_int 3 [0x3]))

  and then passing (plus:HI (reg/f:HI 24 R1) 
(const_int 127 )) as the IN parameter (first
parameter) of the push_reload. There are only two
register R1 and R2 in this address class. I can not
have more than that. So this should get reloaded into
the register R2, but this is not happening. And
finally it gives an error of invalid address
  (plus:HI (reg/f:HI 24 R1)  (const_int 130 [0x82] ))

 Can someone tell me what maybe the problem? Another
point is that final memory access is in QI mode (can
this be the reason for the problem ?)

Thanks and Regards
Konark 



	
		
__________________________________
Do you Yahoo!?
Yahoo! Movies - Buy advance tickets for 'Shrek 2'
http://movies.yahoo.com/showtimes/movie?mid=1808405861 


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