This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
arm instruction generate
- From: =?gb2312?q?james=20chen?= <jameschen1999cn at yahoo dot com dot cn>
- To: gcc at gcc dot gnu dot org
- Cc: chen dot james at inventec-inc dot com
- Date: Wed, 26 Jun 2002 10:40:36 +0800 (CST)
- Subject: arm instruction generate
Hi, I am using GCC 2.95( ARM target ) in my test
board, and the test boardbased in samsung
S3C2400X01(ARM920T core). but there is a bug in it,
seebelows:
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
If the cache is turned on and there is an LDM
instruction (load multiple) ofprecisely two items from
a noncachedregion, then the second item may not be
loaded correctly.So, for example, LDMIA r0,{r1,r2}
from non-cacheable area is not allowed.But, LDMIA
r0,{r1,r2,r3} from noncacheablearea is allowed because
the number of items is not 2.In assembly code, the
software workaround was simply to ensure that
therewere no LDM instructions whichload only 2 values.
In compiled C code, LDM may be used only for
stacksave/restore operation, double typevariable
load/store and etc. But, we think there is no problem
if the Cstack area and C variable area iscacheable
area.
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
will you help me to change GCC to avoid this
bug?Thanks in advance!
Best Regards,
james
_________________________________________________________
Do You Yahoo!?
2002年世界杯群雄鏖战 雅虎中国聚焦日韩
http://cn.fifaworldcup.yahoo.com/