Что такое long double на x86-64?
Кто-то сказал мне, что:
В x86-64 арифметика FP выполняется с SSE, и поэтому long double составляет 64 бита.
Но в x86-64 ABI говорится, что:
C type | sizeof | alignment | AMD64 Architecture
long double | 16 | 16 | 80-bit extended (IEEE-754)
Увидеть:amd64-abi.pdf
и GCC говоритsizeof(long double)
16 и дает =FLT_DBL
1.79769e+308
а такжеFLT_LDBL = 1.18973e+4932
Так что я'Я в замешательстве, как этоlong double
64 бит? Я думал, что это 80-битное представление.