[LLVMdev] long double type on ARM

Xerxes Ra*nby xerxes at zafena.se
Wed Sep 30 07:37:39 PDT 2009

Hi Jin-Gu Kang!
It are possible that the problem you are experiencing have already been
solved in the current llvm 2.6 release tree and the current svn trunk.
So try using llc from llvm 2.6 release branch or llvm pre2.7 svn trunk!

It would be helpful if you could open a bugreport for this issue and
attach the problematic od.bc since we need a testcase from the bitcode
that exposes the bug inorder to help you analyse and solve your problem.


Jin Gu Kang skrev:
> Dear LLVM members.
> I am compiling coreutils-7.4 package for ARM linux using LLVM 2.5 version.
> When i compiled 'od' program in coreutils package using LLVM 2.5,
> i could see the error message on llc processing.
> > llvm-gcc -emit-llvm ./od.c -c -o ./od.bc /-other-options.../
> > llc -march=arm ./od.bc -f -o ./od.s
> llc:
> /home/jaykang10/HardDisk2/Projects/LLVM/src/llvm-2.5/lib/Target/TargetData.cpp:305:
> unsigned int llvm::TargetData::getAlignmentInfo(llvm::AlignTypeEnum,
> uint32_t, bool, const llvm::Type*) const: Assertion `AlignType ==
> VECTOR_ALIGN && "Unknown alignment type!"' failed.
> The problem was that
> when i converted 'od' source code to llvm bitcode, long double type of
> 'od' source code was changed to x86_fp80 type in llvm bitcode and then
> llc on ARM target was not support x86_fp80 type.
> I think that long double type on ARM is 8 byte. (same as double type)
> When we use llvm on ARM target,(or other target not support x86_fp80)
> i think it might be better to convert long double type in C to double
> type in llvm bitcode on llvm-gcc or
> treat x86_fp80 type in llvm bitcode as double type on llc.
> (I wonder if we select the target at llvm-gcc build time)
> I would like to know how to solve the above problem.
> Thank you
> Best regards,
> Jin-Gu Kang
> ------------------------------------------------------------------------
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list