This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Reload Problem
- From: Konark <konark_goel at yahoo dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 13 May 2004 21:49:10 -0700 (PDT)
- Subject: 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