<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:10pt;color:#0078D7;margin:15pt;" align="Left">
[AMD Official Use Only - Internal Distribution Only]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>>// Faster 2.5 ULP division that does not support denormals.<br>
</span><span>>SDValue SITargetLowering::lowerFDIV_FAST(SDValue Op, SelectionDAG &DAG) const {</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Also, it is the case that fdiv.fast generates "<span>Faster 2.5 ULP division that does not support denormals"?</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>So we should still use 2.5ULP for fdiv.fast, and 1.0ULP for rcp? </span><br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Changpeng Fang via Phabricator <reviews@reviews.llvm.org><br>
<b>Sent:</b> Thursday, January 30, 2020 3:16 PM<br>
<b>To:</b> Fang, Changpeng <Changpeng.Fang@amd.com>; Arsenault, Matthew <Matthew.Arsenault@amd.com>; Sumner, Brian <Brian.Sumner@amd.com><br>
<b>Cc:</b> Zhuravlyov, Konstantin <Konstantin.Zhuravlyov@amd.com>; jv356@scarletmail.rutgers.edu <jv356@scarletmail.rutgers.edu>; wei.ding2@amd.com <wei.ding2@amd.com>; nhaehnle@gmail.com <nhaehnle@gmail.com>; Liu, Yaxun (Sam) <Yaxun.Liu@amd.com>; Stuttard,
 David <David.Stuttard@amd.com>; tpr.ll@botech.co.uk <tpr.ll@botech.co.uk>; Tye, Tony <Tony.Tye@amd.com>; hiraditya@msn.com <hiraditya@msn.com>; Kerbow, Austin <Austin.Kerbow@amd.com>; llvm-commits@lists.llvm.org <llvm-commits@lists.llvm.org>; jun.l@samsung.com
 <jun.l@samsung.com><br>
<b>Subject:</b> [PATCH] D73588: AMDGPU: Enhancement on FDIV lowering in AMDGPUCodeGenPrepare</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">[CAUTION: External Email]<br>
<br>
cfang marked 2 inline comments as done.<br>
cfang added inline comments.<br>
<br>
<br>
================<br>
Comment at: llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp:714<br>
   const bool UseFDivFast = Ty->isFloatTy() && !NeedHighAccuracy &&<br>
-                           !FastUnsafeRcpLegal;<br>
+                           !CanReassociateFDiv;<br>
<br>
----------------<br>
arsenm wrote:<br>
> cfang wrote:<br>
> > arsenm wrote:<br>
> > > fdiv.fast doesn't' care about the reassociation<br>
> > You are right. This is just the optimization priority issue.<br>
> ><br>
> > If we can reassociate fdiv, x/y -> x * rcp(y) is faster than fdiv.fast so we don't do fdiv.fast.<br>
> The comment and variable name are misleading, as no reassociate is going on here. This needs an explanation here<br>
I am going to write an explanation here.<br>
But I am confused about fdiv.fast intrinsic:<br>
1.0/x -> fdiv.fast (1.0,  x) when denormals are supported. Because I think  does not support fdiv.fast.<br>
<br>
<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD73588%2Fnew%2F&amp;data=02%7C01%7Cchangpeng.fang%40amd.com%7C660361b4057148f8121408d7a5da795d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637160230080757711&amp;sdata=GK5h%2FmYTfaCd3pS79GxznvSwoc99KN8Q61MYwnObyrI%3D&amp;reserved=0">
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD73588%2Fnew%2F&amp;data=02%7C01%7Cchangpeng.fang%40amd.com%7C660361b4057148f8121408d7a5da795d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637160230080757711&amp;sdata=GK5h%2FmYTfaCd3pS79GxznvSwoc99KN8Q61MYwnObyrI%3D&amp;reserved=0</a><br>
<br>
<a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD73588&amp;data=02%7C01%7Cchangpeng.fang%40amd.com%7C660361b4057148f8121408d7a5da795d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637160230080767705&amp;sdata=ZOnn6PlbKVDMovSzNXJ316mvyOa7fyqpr%2BUhRGl7bMc%3D&amp;reserved=0">https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD73588&amp;data=02%7C01%7Cchangpeng.fang%40amd.com%7C660361b4057148f8121408d7a5da795d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637160230080767705&amp;sdata=ZOnn6PlbKVDMovSzNXJ316mvyOa7fyqpr%2BUhRGl7bMc%3D&amp;reserved=0</a><br>
<br>
<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>