[LLVMdev] x86_fp80, f80, and -m96bit-long-double

Duncan Sands baldrick at free.fr
Mon Nov 1 10:37:26 PDT 2010


Hi Joel,

> I am working on x86-64 and am working with a C frontend that folds
> sizeof(long double) into 12.  For now, I am trying to avoid modifying that
> part of the frontend by finding a way to tell LLVM that 12 bytes are
> allocated for x86_fp80.

I think the "fact" that x86 long double is 16 byte aligned on x86-64 is
hard-wired in.  I'm not sure how hard this would be to control via a
command line option (i.e. -m96bit-long-double).

> Looking inside test.ll, I see f80:128:128, but I also see sizeof(long
> double)*5 folded into 60.  Changing f80:128:128 to f80:96:96 does not fix
> the errors reported by valgrind.  If I instead fix the folded constant,
> the errors go away, of course.

If you had built llvm-gcc with checking enabled it would have aborted.

> Does llvm-gcc not intend to support -m96bit-long-double?

Please open a bug report asking for support for -m96bit-long-double,
to ensure this issue is not forgotten.

Ciao,

Duncan.



More information about the llvm-dev mailing list