こんにちは、小野です。
 私こそ問題をちゃんと把握していなかったようで、すみません。

 96bitオプションをつけた場合、拡張倍精度の仮数部が 52bit(=doubleの仮数部のビット幅)程度しかない、というの が問題だったんですね。そうだとすると、MacOSXに載っているgcc4 では、どちらのオプションを付けても仮数部(2)が64bit幅の $560513589になっていますから、FreeBSD/i386 6.2のgcc 固有の問題ということになりそうですね。

 ところで

movabsq されている二つの行はどちらも変数 lc の仮数部 なのでしょうか?
amd64 の sizeof(long double) っていくつなのでしょうか?

 ですが、多分そうだと思います。拡張倍精度の指数部のバイアスが +16383であることを考えると、直後に movl $16384, -32(%rbp) していますから、この二つのmovabsqは仮数部の代入命令だと 思います。
 なお、amd64のsizeof(long double)は16でした。

--
;; So I must go before you see me fall
;; 小野すず@平城京右京五条三坊


メールによる返信