ポインタの演算って内部でどんな計算してるか教えて欲しいんだけど

int mat[なんとか];
っていう感じの時に添字の中身の方は整数型なら何でもいいの?
shortを入れたらintにキャストしてたりとかしてない?
なるべく高速化したいので、ちょっと質問。