<html><head></head><body><div class="">Hi Tim,<br>   I already have done your words.  But I don't know how to only fp16, no others floating point.</div><div> </div><hr style="WIDTH: 210px; HEIGHT: 1px" color="#b5c4df" size="1" align="left"><div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div>liuyalong.email@gmail.com</div></div></span></div><blockquote style="margin-Top: 0px; margin-Bottom: 0px; margin-Left: 0.5em"><div> </div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><div style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 12px;FONT-FAMILY:tahoma;COLOR:#000000; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px"><div><b>From:</b> <a href="mailto:t.p.northover@gmail.com">Tim Northover</a></div><div><b>Date:</b> 2014-07-25 11:17</div><div><b>To:</b> <a href="mailto:liuyalong.email@gmail.com">刘亚龙</a></div><div><b>CC:</b> <a href="mailto:llvmdev@cs.uiuc.edu">LLVM Developers Mailing List</a>; <a href="mailto:grosbach@apple.com">Jim Grosbach</a></div><div><b>Subject:</b> Re: [LLVMdev] FPU cannot be compatible with -soft-float code on mips by llc</div></div></div><div><div class=""><style type="text/css">div.FoxDIV_20140728105725469 { font-size: 10.5pt }
</style><div class="FoxDIV_20140728105725469"><div foxmail_class="mail_content_body" style="border-width:0px"><div>On 25 July 2014 18:50, Jim Grosbach <grosbach@apple.com> wrote:</div>
<div>> It sounds like you want to support half (f16 in LLVM terms) as a storage</div>
<div>> only interchange format. AArch64 and X86 (among others) do the same thing.</div>
<div>> You shouldn’t need the “-soft-float” option or anything of that nature at</div>
<div>> all. That, as you’ve found, disables all hard float operations. There’s been</div>
<div>> some recent cleanup in how this is handled in LLVM that should help guide</div>
<div>> you in what the Mips backend needs to do. In particular, Tim Northover’s</div>
<div>> recent patch, r213374.</div>
<div> </div>
<div>As well as what's in that commit,  you probably want to mark</div>
<div>ISD::FP16_TO_FP and ISD::FP_TO_FP16 as "Expand" in</div>
<div>MipsISelLowering.cpp. Then your implementations of "__gnu_..." should</div>
<div>be called for fp16 conversions, but not normal floating point</div>
<div>arithmetic.</div>
<div> </div>
<div>Cheers.</div>
<div> </div>
<div>Tim.</div>
</div></div></div></div></blockquote></body></html>