[LLVMdev] long double type on ARM

Bob Wilson bob.wilson at apple.com
Wed Sep 30 09:23:13 PDT 2009


Unlike llvm itself, llvm-gcc needs to be configured for a particular  
target architecture.  It looks like you're using a copy of llvm-gcc  
that was built to generate x86 code.

On Sep 30, 2009, at 6:27 AM, Jin Gu Kang wrote:

> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090930/176c644e/attachment.html>


More information about the llvm-dev mailing list