ColdFire でアセンブラ (4) - ミスアセンブル解決編 [ColdFire (ColdeFire) V1]
「ColdFire でアセンブラ (3) - ミスアセンブル?」の件を freescale.comの Service Requestに問い合わせたところ、 返答を貰いました。
あなたの問題を確認し、コンパイラの開発者に意見を聞きました。 不幸なことにコンパイラにバグがあり、 in-line asmは、 局所変数をmulu/muls命令に使うと問題が起こります。 回避方法は、値をじかにレジスタに入れるか、 関数が簡単であればfrallocメカニズムを使わないことです。
この問題は、バグ・ベース(バグのデータ・ベース)に記録しました。 我々の開発部隊は、この問題を解析し、私が進捗についてお知らせします。
(今日も、ていねいな訳)というわけで、バグと認定されました。 まあ、アセンブラを使わなきゃ問題は起きないのですけどね。
追加情報は、コメントに書くべきか、本文を編集すべきか、はたまた、新たに記事を書くべきか。
このバグは、ColdFire V2/V3/V4 のコンパイラにも存在するそうで、"high priority"になってしまったそうです。きっと、誰も使ったことがなかった命令なんだろうな。
by noritan (2008-01-23 17:28)