------- Comment #3 from pinskia at gcc dot gnu dot org 2008-08-29 05:33 ------- Oh I see the issue, it is due to the way prefetch is defined. It is defined incorrectly. The asm does basically: char a = *(char*)possible_NULL_POINTER; if (!possible_NULL_POINTER) break;
Now this is really valid for the compiler to assume (I never got this point to Ian who did the fix for it). Anyways GCC behavior was changed back with: 2008-07-23 Ian Lance Taylor <[EMAIL PROTECTED]> * tree-vrp.c (infer_value_range): Ignore asm statements when looking for memory accesses for -fdelete-null-pointer-checks. Anyways you should be using __builtin_prefetch instead. Which was in 4.3.2. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED Target Milestone|--- |4.3.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37176