Renesas Synergy™

FAQ 1011372 : 外部変数アクセス最適化を効率良く使用する方法はありますか?

A: 回答

 外部変数アクセス最適化を効率良く使用する方法はありますか?


A: 回答

-Omapオプションを指定している場合、外部変数に対してep(r30レジスタ)をベースレジスタとしてアクセスするコードを生成します。しかし、epから±4M番地を超えるアドレスに配置されている変数に対してはep相対アクセスができません。

このような変数に対しては、以下のようなケースにおいてgpをベースレジスタとしてアクセスするコードを生成します。

  • “__gp_data”をユーザーが定義してgpに設定
  • 該当変数がgpでアクセス出来る領域に配置(gpから±4M番地)

例:"__gp_data"の定義方法 (gpを0xfede5000とする場合)

    ----------------------------
      .public __gp_data
      __gp_data .equ 0xfede5000

    …

    mov  __gp_data, gp
    ----------------------------

 


適用製品

RH850ファミリ用Cコンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください