[PATCH] D115441: [X86][MS] Add 80bit long double support for Windows
Reid Kleckner via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 13 10:01:43 PST 2021
rnk added a comment.
In D115441#3188526 <https://reviews.llvm.org/D115441#3188526>, @mstorsjo wrote:
> In D115441#3188172 <https://reviews.llvm.org/D115441#3188172>, @pengfei wrote:
>
>>> 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?
>
> Yes, it's 4 for i386 in GCC on Windows too (and Clang in mingw mode). For x86_64, both sizeof and alignof are 16.
Yeah, the alignment is the key thing which is generating a lot of the MSVC-specific complexity.
I have a thought. Why do you need to change the LLVM data layout at all? Clang's record layout is distinct from LLVM's data layout. This is similar to how `-malign-double` works, which does not affect LLVM's data layout, it is entirely a frontend change.
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