This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -mno-sse and -mno-sse2 broken on opteron?


Luca Benini <lbenini@csr.unibo.it> writes:

> Andreas Jaeger wrote:
>> That has nothing to do with this - on x86-64, we use the 387 unit for
>> long doubles,
> ... 387 can at most support 80 bits floating point value during
>
> From amd manuals 24592:
> 	x87 instructions operate on data in three floating-point
> 	formats--32-bit single-precision, 64-bit double-precision, and
> 	80-bit double-extended-precision (sometimes called extended
> 	precision)--as well as integer, and 80-bit packed-BCD fo
>
>
> on one of my x86_64 server:
> sizeof(float) == 4 (32 bit)
> sizeof(double) == 8 (64 bit)
> sizeof(long double) == 16 (128 bit)
>
> is your fp bigger? ;-)

Read the AMD64 ABI - we use the 80 double-extended precision for long
double which is an x87 data type - just align it to 128 bits,

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SUSE Linux Products GmbH, Maxfeldstr. 5, 90409 NÃrnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]