眠い

会社でもプログラミングして、家でも夜中までプログラミングするような生活してると、体調とかに悪影響がでますねぇ…
激しく眠いー!

朝起きてから会社行くまでのシーケンスも、コードと同様に限界まで最適化してますので、ギリッギリの時間まで寝てます。アニメみたいにパンくわえながら走って駅までいきますからね。1分1秒を争ってます。例えるならば、毎朝をgccとかで-O5オプション付けてコンパイルしてるようなもんなんです。最適化オプション上げすぎると、場合によってはバグのあるバイナリが生成されたりするように、靴下の色が左右違ってたりするのは仕方のないことなんです…

今日は主にテストをやってたんですが、インデックスインダイレクトとインダイレクトインデックスのアドレッシングが間違ってました。
テスト方法は、乱数で生成した命令列を実行して、リファレンス実装のCPUコアとの間でレジスタの値を比較してました。
そうしたところ、キャリーが発生するような境界条件でバグがあることがわかりました。

乱数を使ってテストするのいい感じですね。テストケースをいくらでも増やせるので、ほおっておく時間をかけさえすれば、あらゆるパターンを網羅できます。大数の法則ってやつ?

PPUの最適化とバグフィックスはあんまり進んでないです。
ムズイです。