Technical information

Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
Customer Notification r20tu0003ed1812 39
Version Information
V3.5.1
Details
The compiler makes wrong optimization for "Common-subexpr elimination".
Example:
test.c:
unsigned char Buffer;
void SetBit(unsigned char Index)
{
if ((Index) & (0x01))
{
Buffer |= ((1 << ((Index - 1) >> 1)) << 4) ;
}
else
{
Buffer |= (1 << (Index >> 1)) ;
}
}
void main(void)
{
unsigned char i;
for(i = 0;i < 8;i++)
{
SetBit(i);
Buffer=0x00;
}
}
Command Sequence
ccv850e -g -noobj -Ospeed v040316a.c -o test.out
multi -remote sim850 -cpu=V850E test.out