CC-RXコンパイラの-nostuffオプションのメリットについて

皆様、こんばんわ。

CC-RXには、変数をサイズ別セクションに割り付ける-stuffと、すべての変数を4アライメントとする-nostuffのオプションがありますが、

ソフトウェアマニュアルのMOV命令の詳細と、ハードウェアマニュアル(具体例として)「RX62Nグループ、RX621グループ
ユーザーズマニュアル ハードウェア編」の「12.4.1 CS 領域のデータアライメント制御」の「図12.3 32 ビットバス空間のデータアライメント(リトルエンディアン)」を見る限り、たとえばchar型の変数が偶数番地であろうと奇数番地であろうと、命令のサイズと実行時間は変わらなさそうに思います。

となると、-nostuffのメリットとはなんでしょうか?

このフォーラムの過去スレッドに、-stuffはあとから追加されたというような記述がありましたので(すみません、どのスレッドか見失ってしまいました)、

旧コンパイラのコードの互換性のためか、

それとも8,16ビットアクセスができない外部メモリのためということでしょうか?

ご存知の方、またはこうではないか?と推測でも良いので、ご教授いただけますと幸いです。宜しくお願いいたします。

  • こんにちは

    以下のFAQに-nostuffの使用方法が紹介されています。
    アライメントが異なるとセクションが分かれてしまうのをひとつにまとめるのが目的のようです。
    ja-support.renesas.com/.../17796641

    FAQのQにあるように、HEWとの互換性のため後からこのオプションを追加した感ありますね・・・
  • じま様、コメントありがとうございます!
    なるほど、確かに1つのセクションにまとめておく場合はありえますね。
    ご紹介いただいたFAQ、探せなかったのでとても助かりました。
    ありがとうございました。