diff --git a/src/builtins/transpose.c b/src/builtins/transpose.c index 900b08a7..da9eaba2 100644 --- a/src/builtins/transpose.c +++ b/src/builtins/transpose.c @@ -258,23 +258,23 @@ B transp_c2(B t, B w, B x) { decG(x); goto ret; } if ((csz & (csz-1))==0 && csz<=64>>xlw && csz<=8 // CPU-sized cells - && na>=2 && st[na-1]==rsh[na-2] && st[na-2]==1 // Last two axes transposed - && rsh[na-2]*rsh[na-1] >= (256*8) >> xlw // And large-ish + && na>=2 && st[na-2]==1 // Last axis ends up second-to-last + && rsh[na-2]*rsh[na-1] >= (256*8) >> xlw // Large-ish axes && xe!=el_B) { TranspFn tran = transposeFns[CTZ(csz<