32ビットのILP32に対し、ポインターとint以上の変数を64ビット化したもの。ILP64は、intとlongとポインターが64ビット、という意味である。実装例は少なく、殆ど知られていない。(※ILP32と違う)特徴LP64と比較し、longだけでなくintも64ビット化されている。intとlongのデータ長が同じため、このような実装を想定した32ビット用プログラムの移植性が良いと見込まれる。ポインターをintやlongに代入するような不適切な処理をしているプログラムでも、データ長が同じため問題が顕著化せず、そのまま移植できる。逆に、intが32ビットであることを想定したプログラムは書き換えが必要となる。言え、32ビット長の普通の変数が無い(shortは16ビットなので、int32_tやuint32_tを使わねばならない)という問題もあり、案外と使いにくいモデルでもある。