work for 64-bit only with -O0