http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60392
--- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> --- (In reply to Mikael Morin from comment #3) > So we pass the transposed array with > transposed bounds -> we pass the original array. Not exactly in fact: In my_mul_cont, a.stride[0] == 2 and a.stride[1] == 1. But a descriptor is created for the matmul call, and that one resets a.stride[0] to 1, so the descriptor passed to matmul has a.stride[0] == 1 and a.stride[1] == 1.