------- Comment #14 from pinskia at gcc dot gnu dot org 2005-11-02 16:39 ------- This is as far as I can reduce it, -O1: typedef union { unsigned a; } l_fp; int main(void) { l_fp work; unsigned workUl_fXl_uf = 0xAAAAAAAA; int ndec = 10; do { ndec--; work.a = 0; work.a = 0;
if (workUl_fXl_uf & 1) work.a ++; workUl_fXl_uf <<= 1; work.a ++; if (workUl_fXl_uf & 1) work.a ++; work.a ++; if (work.a > 4) abort (); }while(ndec > 0); return 0; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24627