I hope you will find this information usefull. I am not in the linux-kernel list so, if posible, I would like to be personally CC'ed the answers/comments sent to the list in response to this posting. I think I heve found a bug in gcc. I have tried both egcs 1.1.2 (gcc 2.91.66) and gcc 2.95.2 versions. I am attaching you a simplified test program ('bug.c', a really simple program). To generate the faulty program from correct code compile as: gcc -O2 -o bug bug.c You can generate good code in two ways: 1. Compiling with: gcc -fno-strength-reduce -O2 -o bug bug.c So the problem is with the option -fstrength-reduce which is active with the common '-O2' optimization option. 2. Uncomment the printf at line 34. Bugs are surprising. I have also sent the bug report to the gcc maintainers. Is it really a bug? Thank you, David Llorens.