<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Dec 12, 2012, at 3:40 PM, Shuxin Yang <<a href="mailto:shuxin.llvm@gmail.com">shuxin.llvm@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi, Dear All:<br><br>   I'm going implement FMA formation. On some architectures, "FMA a, b, c" is more precise than<br>"a * b + c".  I'm wondering if FMA could be less precise. In the former case, can we enable FMA<br> formation despite restrictive FP mode?<br><br></blockquote><div><br></div><div>I believe that a pass to form fmuladd[1] intrinsic calls would be very useful! The fmuladd intrinsic is defined such that its formation should be isolated from worries about strictness. It simply means "<span style="background-color: rgb(255, 255, 255); font-family: 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 14px; line-height: 21px; text-align: left; ">a * b + c</span>" and leaves the decision of whether or not to fuse up to the code generator. Of course, one probably would only run your pass if they wanted the code generator to fuse it, but the pass itself should be valid. </div><div><br></div><div>Someone please correct me if I misunderstand this intrinsic. </div><div><br></div><div>[1] <a href="http://llvm.org/docs/LangRef.html#llvm-fmuladd-intrinsic">http://llvm.org/docs/LangRef.html#llvm-fmuladd-intrinsic</a></div><br><blockquote type="cite"> Thanks<br>Shuxin<br>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote></div><br></body></html>