------- Comment #1 from rob1weld at aol dot com 2007-06-09 00:57 ------- Here is a related failure this time for gcc.c-torture/execute/20050604-1.c :
# grep --color=always -B16 -A6 20050604-1.c gcc/testsuite/gcc/gcc.log | tail -n 26 Executing on host: /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -fomit-frame-pointer -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x3 (timeout = 300) PASS: gcc.c-torture/execute/20050604-1.c compilation, -O3 -fomit-frame-pointer Setting LD_LIBRARY_PATH to :/opt/gcc-4_3-build-2/gcc::/opt/gcc-4_3-build-2/gcc:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libstdc++-v3/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libmudflap/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libssp/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libgomp/.libs:/opt/gcc-4_3-build-2/./gcc:/opt/gcc-4_3-build-2/./prev-gcc PASS: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer Executing on host: /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -fomit-frame-pointer -funroll-loops -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x4 (timeout = 300) PASS: gcc.c-torture/execute/20050604-1.c compilation, -O3 -fomit-frame-pointer -funroll-loops Setting LD_LIBRARY_PATH to :/opt/gcc-4_3-build-2/gcc::/opt/gcc-4_3-build-2/gcc:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libstdc++-v3/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libmudflap/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libssp/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libgomp/.libs:/opt/gcc-4_3-build-2/./gcc:/opt/gcc-4_3-build-2/./prev-gcc FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-loops Executing on host: /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x5 (timeout = 300) PASS: gcc.c-torture/execute/20050604-1.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions Setting LD_LIBRARY_PATH to :/opt/gcc-4_3-build-2/gcc::/opt/gcc-4_3-build-2/gcc:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libstdc++-v3/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libmudflap/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libssp/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libgomp/.libs:/opt/gcc-4_3-build-2/./gcc:/opt/gcc-4_3-build-2/./prev-gcc FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions Executing on host: /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -g -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x6 (timeout = 300) PASS: gcc.c-torture/execute/20050604-1.c compilation, -O3 -g Setting LD_LIBRARY_PATH to :/opt/gcc-4_3-build-2/gcc::/opt/gcc-4_3-build-2/gcc:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libstdc++-v3/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libmudflap/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libssp/.libs:/opt/gcc-4_3-build-2/i686-pc-linux-gnu/libgomp/.libs:/opt/gcc-4_3-build-2/./gcc:/opt/gcc-4_3-build-2/./prev-gcc PASS: gcc.c-torture/execute/20050604-1.c execution, -O3 -g Here is the first "PASS:" and the next two "FAIL:"s: /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -fomit-frame-pointer -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x3 PASS: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -fomit-frame-pointer -funroll-loops -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x4 FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-loops /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.c-torture/execute/20050604-1.c -w -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -fno-show-column -lm -o /opt/gcc-4_3-build-2/gcc/testsuite/gcc/20050604-1.x5 FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions Here is how I modified main() by adding print statements: int main (void) { foo (); printf("test1 - 24 = u.s[0] = %u 28 = u.s[1] = %u u.s[2] = %u u.s[3] = %u $ u.s[0], u.s[1], u.s[2], u.s[3]); if (u.s[0] != 24 || u.s[1] != 28 || u.s[2] || u.s[3]) abort (); printf("test2 - 36.0 = v.f[0] = %4.4f 40.0 = v.f[1] = %4.4f 44.0 = v.f[2] = %4.4f 0.0 = v.f[3] = %u \n", \ v.f[0], v.f[1], v.f[2], v.f[3]); if (v.f[0] != 36.0 || v.f[1] != 40.0 || v.f[2] != 44.0 || v.f[3] != 0.0) abort (); return 0; } Here is how I built the tests: /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ 20050604-1.c -w -O3 -fomit-frame-pointer -fno-show-column -lm -o 20050604-1.x3 /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ 20050604-1.c -w -O3 -fomit-frame-pointer -funroll-loops -fno-show-column -lm -o 20050604-1.x4 /opt/gcc-4_3-build-2/gcc/xgcc -B/opt/gcc-4_3-build-2/gcc/ 20050604-1.c -w -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -fno-show-column -lm -o 20050604-1.x5 Here is the output: ./20050604-1.x3 test1 - 24 = u.s[0] = 24 28 = u.s[1] = 28 u.s[2] = 0 u.s[3] = 0 test2 - 36.0 = v.f[0] = 36.0000 40.0 = v.f[1] = 40.0000 44.0 = v.f[2] = 44.0000 0.0 = v.f[3] = 0 ./20050604-1.x4 test1 - 24 = u.s[0] = 24 28 = u.s[1] = 28 u.s[2] = 0 u.s[3] = 0 test2 - 36.0 = v.f[0] = 36.0000 40.0 = v.f[1] = 40.0000 44.0 = v.f[2] = 44.0000 0.0 = v.f[3] = 0 Aborted ./20050604-1.x5 test1 - 24 = u.s[0] = 24 28 = u.s[1] = 28 u.s[2] = 0 u.s[3] = 0 test2 - 36.0 = v.f[0] = 36.0000 40.0 = v.f[1] = 40.0000 44.0 = v.f[2] = 44.0000 0.0 = v.f[3] = 0 Aborted The tests that used "-funroll-loops" or "-funroll-all-loops" failed. The output was the same for all tests so the test ought to have passed the comparison statement. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32259