LLVM化進んでます
intからbyteへのキャストなどアラインメントが小さくなるキャストは意味がないとやっと気づいたので消去しました。
少し速くなったかもしれません。コンピュータに対する無知が知れてしまい恥ずかしい思いです。
まだまだコンピュータのことが分かってませんね。
逆にbyteからintへのキャストはスタックに確保するサイズによってはSegment faultが起こったり正しい値が得られないことは分かってましたけどね。
後リトルエンディアンとビッグエンディアンも詳しくは理解していません。値に対するメモリの上位バイトと下位バイトの格納の順番が違うとは分かってますがあまり意識して書いてません。もしかしたらClover2はINTELのプロセッサ以外では動かないかもしれません。INTELは確かリトルエンディアンですね。ビッグエンディアンでは動かないかもしれません。ARMはビッグエンディアンでしたっけ。まあ、googleで調べてみますが。後、Clover2は64bitのCPUでしか動きません。確かポインタの値が64bitだということを仮定していて、そこさえ修正すれば32bitのCPUでも動かせるとは思いますが、あまり古いCPUで動かしてもらえることは想定していません。今風のubuntuやFedoraで動かしてください。Debian, CentOSでもいいですが。まあ、遊びのコンパイラなので、新し目のOSでVPSでも自宅の自作PCでもなんでも良いので気楽に試してもらえれば嬉しいです。