Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

icc 17.0.1 miscompiles valid C code at -O3 on x86_64-linux-gnu

Zhendong_Su
Beginner
383 Views

Compiler version and platform: 

Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 17.0.1.132 Build 20161005 

$ icc -O2 small.c; ./a.out; echo $?
8
$ 
$ icc -O3 small.c; ./a.out; echo $?
9
$ 
$ cat small.c
struct
{
  unsigned char f0;
} a, *b = &a, c, *e = &c;

int d, f;

int main ()
{
  for (f = 0; f < 2; f++)
    a.f0 = 0;
  for (; a.f0 != 8; a.f0 = (unsigned) a.f0 + 9)
    while (d)
      ;
  *e = *b;
  return c.f0; 
}
$ 

 

0 Kudos
1 Reply
Anoop_M_Intel
Employee
383 Views

I have escalated this issue to compiler engineering

Thanks and Regards
Anoop

0 Kudos
Reply