Hi, Jeff: Thanks. I fixed the bug. The problem is in GO_IF_LEGITIMATE_ADDRESS. In the reload processing, find_reload function will check the operand address whether it is effective. I traced the function, and found my GO_IF_LEGITIMATE_ADDRESS macro thought the following address is strict legitimate address: mem/s:SI (plus:SI (reg/v/f:SI 91 [ frame ]) (const_int 4 [0x4]))
Of course it is not a valid address in strict mode. And a logical error was found in my rice_reg_ok_for_base function. After fixing it, cc1 works well . Thank you very much! Daniel.tian _______________________________________________ Best Regards Daniel Tian Mavrix Technology, Inc. Address:200 Zhangheng Road, #3501, Building 3, Zhangjiang Hi-tech Park, Shanghai, P.R.China (201204) Tel:86(21)51095958 - 8125 Fax:86(21)50277658 email:daniel.t...@mavrixtech.com.cn www.mavrixtech.com