This is the mail archive of the gcc-bugs@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]

Egcs and MPC860 errata


Hello,

The errata for the MPC860 describes a situation where if three
consecutive branch instructions are in the execution path, then the core
does weird things. I have now encountered this problem with Egcs 1.0.3.
I am wondering if anybody else has encountered this problem, and if so,
what they did to avoid it.

The MPC860 will be fixed in the next revision. However, since a fair
number of people are using Egcs with the MPC8xx, I would venture a guess
that somebody would have encountered this already.

I've attached a listing file at the bottom which illustrates a code
sequence (starting at line 126)  that is described in the MPC860 errata.
This code was compiled with -mcpu=860 and no optimizations.

Thanks,
Eric

 103                mpc8xx_init:
 104 0024 9421FFD0      stwu 1,-48(1)
 105 0028 7C0802A6      mflr 0
 106 002c 93E1002C      stw 31,44(1)
 107 0030 90010034      stw 0,52(1)
 108 0034 7C3F0B78      mr 31,1
 109 0038 48000001      bl mpc8xx_get_immp
 110 003c 907F0008      stw 3,8(31)
 111 0040 813F0008      lwz 9,8(31)
 112 0044 3C000200      lis 0,0x200
 113 0048 60000800      ori 0,0,2048
 114 004c 90090280      stw 0,640(9)
^LGAS LISTING obj/gnu/board/mpcinit.s           page 3


 115 0050 813F0008      lwz 9,8(31)
 116 0054 38004000      li 0,16384
 117 0058 90090284      stw 0,644(9)
 118 005c 813F0008      lwz 9,8(31)
 119 0060 38008001      li 0,-32767
 120 0064 B00909C0      sth 0,2496(9)
 121                .L3:
 122 0068 813F0008      lwz 9,8(31)
 123 006c A16909C0      lhz 11,2496(9)
 124 0070 5560043E      rlwinm 0,11,0,0xffff
 125 0074 2C800000      cmpwi 1,0,0
 126 0078 40860008      bc 4,6,.L5
 127 007c 48000008      b .L4
 128                .L5:
 129 0080 4BFFFFE8      b .L3
 130                .L4:
 131 0084 813F0008      lwz 9,8(31)
 132 0088 3C000003      lis 0,0x3
 133 008c 60000140      ori 0,0,320




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