Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
  Customer Notification r20tu0003ed1812  65 
No. a52 
V850e1f (Floating point unit): Wrong code generation for floating point comparisons 
Version Information  
V3.5, V4.0.5, V4.0.5c,V4.0.7 
Details 
When the CPU V850e1f (Floating Point Unit) is selected, the compiler generates code using the 
floating point instructions SUBF, ADDF, MULF and DIVF, which do not affect the OV-flag. But the 
compiler is using the OVERFLOW flag 'OV' for the evaluation of the result. 
int fcmp( float fSat) 
{ 
 if( fSat < 0.0f) 
 return -1; 
 return 0; 
} 
if( fSat < 0.0f) 
// mov 0,r17 
// subf.s r17,r6,zero 
// trff 
// movea 0,r1,r1 
// bge .L4 <== should be 'BL'-instruction 
return -1; 
// mov -1,r2 
// br .L2 
... 
Command Line 
ccv850e -cpu=v850e1f -c -list -passsource test.c 
Workaround 
Download a compiler update from the internet http://www.renesas.eu/updates?id=443 
This patch will update all compiler versions to new 4.07A. The patch does not change the GUI 
portions of the compiler, but underlying compilers and libraries. 










