exeGCC for SOLID s007 (ARM) ライブラリ仕様

ライブラリ仕様は基本的に s002 から変わっていないので、ここでは差分のみを記述します。

s002 から s005 の変更点

s005 から s006 の変更点

  • NetBSD-7.0 から 9.1 ベースにアップデートしました。(ライブラリ仕様は同じです。)

  • fma(), fmaf() をサポートしました。ただし math.hFP_FAST_FMA, FP_FAST_FMAF, FP_FAST_FMAL は定義されません。

注意

(ツールチェーン同梱の s006、s007 の readme に未記載の不具合。)

float ABI が hard の時、fma()/fmaf() に NEON の vmla.f64/f32 命令を使用するので、この命令が使用できないターゲットでは動作しません。また、VFP の設定に関わらず、常に FTZ モード、DN モードで演算を行います。

注釈

VFPv4 以上で、GCC は -O 以上の最適化した場合、Clang はさらに追加で -ffast-math を指定した場合、math.hfma()/fmaf() と、ビルトイン関数 __builtin_fma()/__builtin_fmaf() は vfma 命令に展開されます。

  • setlocale() は常に "C" を返し、一切 current locale を変更しないように修正されました。(バグ修正にともなう仕様変更。)

s006 から s007 の変更点

  • NetBSD-9.1 から 9.3 ベースにアップデートしました。(ライブラリ仕様は同じです。)

  • Clang の LTO(-flto=thin)を実験的にサポートしました。