<div dir="ltr">I don't.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/6/29 Keno Fischer <span dir="ltr"><<a href="mailto:kfischer@college.harvard.edu" target="_blank">kfischer@college.harvard.edu</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Just ran into this as well. Did you ever open a a bug report about it?</div><div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 18, 2013 at 3:43 AM, Alessio Giovanni Baroni <span dir="ltr"><<a href="mailto:alessiogiovanni.baroni@gmail.com" target="_blank">alessiogiovanni.baroni@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Here there is the dump:<br><br>SelectionDAG.cpp:81: static bool llvm::ConstantFPSDNode::isValueValidForType(llvm::EVT,
 const llvm::APFloat &): Assertion `VT.isFloatingPoint() && 
"Can only convert between FP types"' failed.<br>
0  libLLVMSupport.so      0x00007f7405022de5 llvm::sys::PrintStackTrace(_IO_FILE*) + 37<br>1  libLLVMSupport.so      0x00007f74050232e3<br>2  libpthread.so.0        0x00007f7404960cb0<br>3  libc.so.6              0x00007f7403bba425 gsignal + 53<br>




4  libc.so.6              0x00007f7403bbdb8b abort + 379<br>5  libc.so.6              0x00007f7403bb30ee<br>6  libc.so.6              0x00007f7403bb3192<br>7  libLLVMSelectionDAG.so 0x00007f7408266500 llvm::ConstantFPSDNode::isValueValidForType(llvm::EVT, llvm::APFloat const&) + 320<br>




8  libLLVMSelectionDAG.so 0x00007f74081df6cf<br>9  libLLVMSelectionDAG.so 0x00007f74081d12b1<br>10 libLLVMSelectionDAG.so 0x00007f74081cff57 llvm::SelectionDAG::Legalize() + 375<br>11 libLLVMSelectionDAG.so 0x00007f74082d6604 llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 3700<br>




12 libLLVMSelectionDAG.so 0x00007f74082d4f07 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 6455<br>13 libLLVMSelectionDAG.so 0x00007f74082d2876 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1318<br>




14 libLLVMCodeGen.so      0x00007f74074885dd llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 125<br>15 libLLVMCore.so         0x00007f740583e2ac llvm::FPPassManager::runOnFunction(llvm::Function&) + 364<br>




16 libLLVMCore.so         0x00007f740583e52b llvm::FPPassManager::runOnModule(llvm::Module&) + 59<br>17 libLLVMCore.so         0x00007f740583e8d7 llvm::MPPassManager::runOnModule(llvm::Module&) + 519<br>18 libLLVMCore.so         0x00007f740583ef6b llvm::PassManagerImpl::run(llvm::Module&) + 539<br>




19 libLLVMCore.so         0x00007f740583f0da llvm::PassManager::run(llvm::Module&) + 10<br>20 llc                    0x000000000040839c<br>21 libc.so.6              0x00007f7403ba576d __libc_start_main + 237<br>22 llc                    0x0000000000406d7d<br>




Stack dump:<br>0.    Program arguments: llc -asm-verbose -filetype=asm -o qwe.S qwe.ll <br>1.    Running pass 'Function Pass Manager' on module 'qwe.ll'.<br>2.    Running pass 'X86 DAG->DAG Instruction Selection' on function '@foo'<br>




<br><br></div>A small note: this is LLVM 3.3 final linked with libc++ on Ubuntu Linux 12.10.</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/6/17 Jim Grosbach <span dir="ltr"><<a href="mailto:grosbach@apple.com" target="_blank">grosbach@apple.com</a>></span><br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Make sure you’re running LLVM with assertions enabled. You’ll get more information about what’s going wrong that way.<div>



<br></div><div>That said, yes, this looks like a bug. Specifically, SelectionDAGLegalize::ExpandConstantFP() assumes that f32 is the smallest floating point constant type it’ll need to handle, and that MVT enum ordering reflects that.</div>



<div><br></div><div>  while (SVT != MVT::f32) {                                                      <br>    SVT = (MVT::SimpleValueType)(SVT.getSimpleVT().SimpleTy - 1); </div><div>    ...</div><div>  }</div><div><br></div>



<div>That function, and possibly others, need to be taught how to handle half-floats, it looks like.</div><div><br></div><div>-Jim</div><div><br><div><div><div><div>On Jun 17, 2013, at 6:59 AM, Alessio Giovanni Baroni <<a href="mailto:alessiogiovanni.baroni@gmail.com" target="_blank">alessiogiovanni.baroni@gmail.com</a>> wrote:</div>



<br></div></div><blockquote type="cite"><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div><div><div dir="ltr"><div><div><div><div>Hi,<br>
<br></div>if I write the following simple program:<br><br>target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"<br>



target triple = "x86_64-unknown-linux-gnu"<br><br>define void @foo () {<br>    %1 = alloca half<br>    store half 0xH42CC, half* %1   ; 0xH42CC = 3.4<br>    %2 = load half* %1<br>    ret void<br>}<br><br></div>


llc goes in SIGABRT. In the reference manual says that it's  correct syntax.<br>
<br></div>It's a bug?<br><br></div>Thanks.<br></div></div></div>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a><span> </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></div></blockquote></div><br></div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <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>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>