------- Comment #1 from fxcoudert at gcc dot gnu dot org 2006-10-19 22:16 ------- The generated code emitted for the TRANSPOSE for i386-darwin is stupid:
atmp.13.dtype = parm.12.dtype; atmp.13.dim[0].stride = parm.12.dim[1].stride; atmp.13.dim[0].lbound = parm.12.dim[1].lbound; atmp.13.dim[0].ubound = parm.12.dim[1].ubound; atmp.13.dim[1].stride = parm.12.dim[1].stride; atmp.13.dim[1].lbound = parm.12.dim[1].lbound; atmp.13.dim[1].ubound = parm.12.dim[1].ubound; atmp.13.data = parm.12.data; atmp.13.offset = parm.12.offset; when you compare it to the (correct) code emitted on x86-linux: atmp.13.dtype = parm.12.dtype; atmp.13.dim[0].stride = parm.12.dim[1].stride; atmp.13.dim[0].lbound = parm.12.dim[1].lbound; atmp.13.dim[0].ubound = parm.12.dim[1].ubound; atmp.13.dim[1].stride = parm.12.dim[0].stride; atmp.13.dim[1].lbound = parm.12.dim[0].lbound; atmp.13.dim[1].ubound = parm.12.dim[0].ubound; atmp.13.data = parm.12.data; atmp.13.offset = parm.12.offset; -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|target |fortran Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-10-19 22:16:23 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516