<html dir="ltr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta content="MSHTML 6.00.2900.5848" name="GENERATOR">
<style title="owaParaStyle"><!--P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
--></style>
</head>
<body ocsi="x">
<div dir="ltr"><font face="Tahoma" color="#000000" size="2">Until now, I didn't know that llvm-gcc is target dependent.</font></div>
<div dir="ltr"><font face="tahoma" size="2">and I could see the ARM-related changes to config.gcc in llvm-gcc for 2.6 ver.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">I appreciate your kindly help.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Thank you.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Best regards,</font></div>
<div dir="ltr"><font face="tahoma" size="2">Jin-Gu Kang</font></div>
<div id="divRpF260606" style="DIRECTION: ltr">
<hr tabindex="-1">
<font face="Tahoma" size="2"><b>From:</b> Bob Wilson [bob.wilson@apple.com]<br>
<b>Sent:</b> Thursday, October 01, 2009 1:45 AM<br>
<b>To:</b> Jin Gu Kang<br>
<b>Cc:</b> llvmdev@cs.uiuc.edu<br>
<b>Subject:</b> Re: [LLVMdev] long double type on ARM<br>
</font><br>
</div>
<div></div>
<div>That is from 2.5, and just because there is nothing special listed in config.gcc does not mean it doesn't work. For 2.5, the ARM port of llvm-gcc did not require a separate llvm-arm.cpp source file, so nothing needed to be added to config.gcc. It worked
fine as far as I know.
<div><br>
</div>
<div>For 2.6, you will see that there are some ARM-related changes to config.gcc in llvm-gcc.</div>
<div><br>
<div>
<div>On Sep 30, 2009, at 9:44 AM, Jin Gu Kang wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite"><span class="Apple-style-span">
<div>
<div dir="ltr"><font face="Tahoma" color="#000000" size="2">Hi Bob!</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">I could not find llvm file for ARM target in llvm-gcc 4.2 front end source code.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">$llvm-gcc-src/gcc/config.gcc file</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr">alpha*-*-*)<br>
cpu_type=alpha<br>
need_64bit_hwint=yes<br>
# LLVM LOCAL begin<br>
out_cxx_file=alpha/llvm-alpha.cpp<br>
# LLVM LOCAL end <span class="Apple-converted-space"> </span><br>
;;<br>
...</div>
<div dir="ltr">arm*-*-*)<br>
cpu_type=arm<br>
extra_headers="mmintrin.h"<br>
;;</div>
<div dir="ltr"><font face="times new roman">...</font></div>
<div dir="ltr">i[34567]86-*-*)<br>
cpu_type=i386<br>
# LLVM LOCAL begin<br>
out_cxx_file=i386/llvm-i386.cpp<br>
# LLVM LOCAL end <span class="Apple-converted-space"> </span><br>
# APPLE LOCAL begin 5612787 mainline sse4<br>
extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h<br>
pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h<br>
nmmintrin.h"</div>
<div dir="ltr"> </div>
<div dir="ltr"><font face="times new roman">(out_cxx_file variable is empty for ARM target)</font><br>
</div>
<div dir="ltr"><font face="times new roman">I wonder if llvm-gcc 4.2 front-end support bitcode conversion for ARM target.</font></div>
<div dir="ltr"><font face="times new roman"></font> </div>
<div dir="ltr"><font face="times new roman">Thank you.</font></div>
<div dir="ltr"><font face="times new roman"></font> </div>
<div dir="ltr"><font face="times new roman">Best regards,</font></div>
<div dir="ltr"><font face="times new roman"></font> </div>
<div dir="ltr"><font face="times new roman">Jin-Gu Kang</font></div>
<div dir="ltr"><font face="times new roman"></font> </div>
<div id="divRpF770230" style="DIRECTION: ltr">
<hr tabindex="-1">
<font face="Tahoma" size="2"><b>From:</b><span class="Apple-converted-space"> </span>Bob Wilson [bob.wilson@apple.com]<br>
<b>Sent:</b><span class="Apple-converted-space"> </span>Thursday, October 01, 2009 1:23 AM<br>
<b>To:</b><span class="Apple-converted-space"> </span>Jin Gu Kang<br>
<b>Cc:</b><span class="Apple-converted-space"> </span><a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
<b>Subject:</b><span class="Apple-converted-space"> </span>Re: [LLVMdev] long double type on ARM<br>
</font><br>
</div>
<div></div>
<div>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.
<div><br>
<div>
<div>On Sep 30, 2009, at 6:27 AM, Jin Gu Kang wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite"><span class="Apple-style-span">
<div>
<div dir="ltr"><font face="Tahoma" color="#000000" size="2">Dear LLVM members.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">I am compiling coreutils-7.4 package for ARM linux using LLVM 2.5 version.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">When i compiled 'od' program in coreutils package using LLVM 2.5,</font></div>
<div dir="ltr"><font face="tahoma" size="2">i could see the error message on llc processing.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr">> llvm-gcc -emit-llvm ./od.c -c -o ./od.bc <span class="Apple-converted-space"> </span><em>-other-options...</em></div>
<div dir="ltr">> llc -march=arm ./od.bc -f -o ./od.s<br>
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.</div>
<div dir="ltr"> </div>
<div dir="ltr"><font face="Tahoma" size="2">The problem was that</font></div>
<div dir="ltr"><font face="Tahoma" size="2"><font face="tahoma">when i converted 'od' source code to llvm bitcode,<span class="Apple-converted-space"> </span></font>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. </font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">I think that long double type on ARM is 8 byte. (same as double type)</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">When we use llvm on ARM target,(or other target not support x86_fp80)</font></div>
<div dir="ltr"><font size="2"><font face="tahoma">i think it might be better to</font><font face="tahoma"> convert long double type in C to double type in llvm bitcode on llvm-gcc or</font></font></div>
<div dir="ltr"><font face="tahoma" size="2">treat x86_fp80 type in llvm bitcode as double type on llc.</font></div>
<div dir="ltr"><font face="tahoma" size="2">(I wonder if we select the target at llvm-gcc build time)</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">I would like to know how to solve the above problem.</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Thank you</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Best regards,</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2">Jin-Gu Kang</font></div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="tahoma" size="2"></font> </div>
<div dir="ltr"><font face="Tahoma"></font> </div>
<div dir="ltr"><font face="times new roman"></font> </div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a><span class="Apple-converted-space"> </span> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div>
</span></blockquote>
</div>
<br>
</div>
</div>
</div>
</span><br class="Apple-interchange-newline">
</blockquote>
</div>
<br>
</div>
</div>
</body>
</html>