Keil Logo

What's New in C166 Version 7.55

  • [C166 C Compiler]
    • Corrected: under some circumstances the C166 generates wrong code with optimization levels >= 6. Example:
        5         unsigned long ulA;
        6         float *pfA;
        7         float fA;
        8
        9         void main (void)  {
       10
       11         ulA = 0x43874F74ul;
       12         pfA = (float *)&ulA;
       13         fA = *pfA;                     /*  This may create wrong code which is not initializing the fA variable. */
      
      
      
                   ; FUNCTION main (BEGIN  RMASK = @0x7FFF)
                                                 ; SOURCE LINE # 9
                                                 ; SOURCE LINE # 11
      0000 E6F4744F      MOV       R4,#04F74H
      0004 E6F58743      MOV       R5,#04387H
      0008 F6F40400 R    MOV       ulA,R4
      000C F6F50600 R    MOV       ulA+02H,R5
                                                 ; SOURCE LINE # 12
      0010 E6F40400 R    MOV       R4,#ulA
      0014 F6F40800 R    MOV       pfA,R4
      
                                                 ; SOURCE LINE # 13  --+
      0018 E6F49F0E      MOV       R4,#0E9FH     ;                     |\ 
      001C E6F5874E      MOV       R5,#04E87H    ;                   --+ o-> Wrong code generation.
      
      
                                                 ; SOURCE LINE # 13  --+
      0018 F2F40400 R    MOV       R4,ulA        ;                     |\ 
      001C F2F50600 R    MOV       R5,ulA+02H    ;                     | \ 
      0020 F6F40000 R    MOV       fA,R4         ;                     |  \ 
      0024 F6F50200 R    MOV       fA+02H,R5     ;                   --+   o-> Right code generation.
      
  • [µVision]
    • This C166 release comes with µVision V5.14.1.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.