https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105014
--- Comment #5 from Tom de Vries <vries at gcc dot gnu.org> --- Minimal test-case: ... void __attribute__((noinline)) foo (unsigned long long d0) { unsigned long long __a; __a = 0x38; for (; __a > 0; __a -= 8) if (((d0 >> __a) & 0xff) != 0) break; __builtin_printf ("__a: 0x%llx\n", __a); } int main (void) { foo (1); return 0; } ... Different value of __a: ... $ ./install/bin/nvptx-none-run -O0 ./pr97459-1.exe ; echo; ./install/bin/nvptx-none-run ./pr97459-1.exe __a: 0x0 __a: 0x30 ...