------- Comment #11 from dfranke at gcc dot gnu dot org 2008-07-03 12:45 ------- > I guess the assembly is different, right?
Yes, it is. Comparing *.s files from FCFLAGS="-O2 -save-temps", there are differences in one file - though not the one suspected in comment #7. There is one difference in the .optimized file that I could easily identify: - D.1935 = dummy_atom_model_inertia_tensor (this, phase); - __result_dummy_atom_model_rad.21 = inertia_tensor_to_rg (&D.1935); + D.1935 = dummy_atom_model_inertia_tensor (this, phase) [return slot optimization]; + __result_dummy_atom_model_rad.21 = inertia_tensor_to_rg (&D.1935) [tail call]; And there are plenty in *.alias, e.g.: Aliased symbols -D.1935, UID D.1935, struct inertia_tensor, is addressable, score: 8, direct reads: 0, direct writes: 0, indirect reads: 0, indirect writes: 2, call clobbered (passed to call) +D.1935, UID D.1935, struct inertia_tensor, is addressable, score: 0, direct reads: 0, direct writes: 0, indirect reads: 0, indirect writes: 0 The difference file has 3000+ lines here, one could argue that the dumps are significantly different ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36713