[PATCH] D115441: [X86][MS] Add 80bit long double support for Windows

Phoebe Wang via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 12 19:34:50 PST 2021


pengfei added a comment.

Thanks @mstorsjo for the inputs.

> However outside of the core OS, any function in the CRT, that uses long doubles, is going to be wrong

Good point! I didn't think much on the CRT library. But I think this is not a blocking issue, given

1. The option is off by default. So it's not destructive for the code that using default CRT.
2. For users who use this option, they should have knowledge of the difference on long double type. There're 2 use scenarios I can think out:
  - Users who have their own CRT libraries. This is the case for our downstream compiler.
  - Users who are using freestanding environment or using CRT with their own implementation of long double functions.

> In GCC on Windows (and clang in mingw mode), long double is always 80 bit on x86. (On i386, sizeof(long double) == 12, while on x86_64 it's 16.)

How about the alignment? I can see on the i386 Linux case, the alignment is 4, I assume it is also 4 for GCC on Windows, right?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115441/new/

https://reviews.llvm.org/D115441



More information about the cfe-commits mailing list