>>672
そういうのはなかなかいいアイデアなんだが、結局極限の速度にはならない。
p[pos]なんてインデックス参照は極力避けるべきだ。
CPUはポインタインクリメント/デクリメントは大抵1命令で実行可能だ。
配列にはバラバラアクセスするのでなくCPUの命令をよくわかって
アクセスしないとだめ。上ではdtを値にしてるけど、値がわかってるなら
それも配列にしたうえで、インクリメント/デクリメントだけでアクセス
できるように事前に並び替え

int *pp = p, *pdt = dt;
for( int i = sizeof(p)-1; i> 0; i-- ){
*pp++ = *pdt++;
}

これがループ終了条件も含めて最も速い配列参照