[LLVMbugs] [Bug 5109] New: long double type on ARM

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Sep 30 09:31:44 PDT 2009


           Summary: long double type on ARM
           Product: tools
           Version: 2.5
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: jaykang10 at imrc.kist.re.kr
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=3591)
 --> (http://llvm.org/bugs/attachment.cgi?id=3591)

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
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

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list