PentiumMで実験。
divのレイテンシは39clk。スループットは37clk以下。多分P3と同じ。
lp:
mov edx,ecx
mov eax,ecx
div ebx
mov [esi],eax
add esi,4
dec ecx
jnz lp
これが37clk/loopだった。レジスタリネーミングが効いてるね。
ただ、レイテンシとの差が小さいのは確かで、あんまり意味ない。

lp:
add eax,1
add edi,edi//←この行を増やす
div ebx
dec ecx
jnz lp
これが、40clk/loop。divとaddのチェーンで39+1=40レイテンシの計算通り。
そしてadd edi,edi を何行か挿入してclk数の変化を見る。
32行までは40clkで、それ以降少しずつ増えて40行で42.5clk。更に増やしても行数+2.5clk。
関係ない処理を並列実行するのはあまり問題なし。
addps20個とmulps20個で試すと、43.8clkと51.0clk。mul側のユニットを少しだけ多く使うようだ。
謎なのが、shr edi,1 でやったときにaddと同じ結果だったこと。
shrはmul側のユニットしか使えないはずなのに、なぜかdivとは競合しない。