<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:\5B8B\4F53;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@\5B8B\4F53";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Akkurat Pro Light";}
@font-face
        {font-family:"Akkurat Pro";}
@font-face
        {font-family:"FrutigerNext LT Regular";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I want to get some latest opinions on “Fixed Point” data type support in LLVM from the community.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From previous mailing list discussions, it seems like Chris<span style="color:#1F497D">
</span>[1, 2] and “other people” [2] prefer of using existing LLVM integer type and builtins to support “Fixed point” data types.   I have questions regarding this approach:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in">1.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">      
</span>Using exactly the existing LLVM integer type:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in">a.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">        </span>How to distinguish fixed point data and regular integer data types during lowering and register allocation
 (if there is operations that operates on different type of registers than GPRs)? (Any functional, performance concerns here?)<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in">b.     For parameter passing, linkage support, should we use “attribute” to support it?<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in">c.     Will there be any transformations/optimizations (e.g. SROA) that operates on integer types but may not be suitable to Fixed point types?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in">2.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">      
</span>Extending the existing LLVM integer type to have sub fields like integer, fraction data parts:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in">a.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">      
</span>It seems like LLVM assumes "We can't have the same bitwidth for different int types". This will have a problem with this approach here. How should we solve it?<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in">b.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">     
</span>How to handle fixed point constants with this approach? Also how to handle APInt for this approach?<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in">c.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">      
</span>How this can affect optimizations, linkage, lowering and register allocation?
<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in"><o:p> </o:p></p>
<p class="MsoNormal">        3.    We are also considering introducing new LLVM data types. We think it will cause missing optimization opportunities (e.g. all optimizations that reply on APInt will stop working for the new data type).  Is this a valid concern?
 Are there any other issues that we will run into as well?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">[1] <a href="http://lists.llvm.org/pipermail/llvm-dev/2010-November/036645.html">
http://lists.llvm.org/pipermail/llvm-dev/2010-November/036645.html</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">[2] <a href="https://groups.google.com/forum/#!topic/llvm-dev/-bm8HzBQN94">
https://groups.google.com/forum/#!topic/llvm-dev/-bm8HzBQN94</a><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks a lot for any comments, suggestions. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span lang="EN-CA" style="color:#1F497D">Best,<o:p></o:p></span></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="643" style="width:6.7in;border-collapse:collapse">
<tbody>
<tr style="height:28.5pt">
<td width="384" valign="top" style="width:4.0in;padding:0in 5.4pt 0in 5.4pt;height:28.5pt">
<p class="MsoNormal"><img border="0" width="367" height="104" id="Picture_x0020_10" src="cid:image001.jpg@01D2F581.1AFD9B60" alt="cid:image001.jpg@01D25BA7.447BB630"><o:p></o:p></p>
</td>
<td width="259" valign="top" style="width:2.7in;padding:0in 5.4pt 0in 5.4pt;height:28.5pt">
<p class="MsoNormal"><b><span style="font-size:8.0pt;font-family:"Akkurat Pro";color:#1F497D">Ye Henry Tian<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-size:8.0pt;font-family:"Akkurat Pro";color:#1F497D"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">Programming Technologies Lab<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">Huawei Canada Research Center<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">19 Allstate Parkway, 3<sup>rd</sup> floor<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">Markham, Ontario, Canada L3R 5A4<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">O. 905-944-5000 ext. 7524<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">C.
</span><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">647-289-3222</span><span lang="EN-CA" style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">Email:
</span><span style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B"><a href="mailto:ye.tian1@huawei.com "><span style="color:#0563C1">ye.tian1@huawei.com</span><span lang="EN-CA" style="color:#0563C1"> </span></a></span><span lang="EN-CA" style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#7B7B7B">                   
<o:p></o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-CA" style="font-size:9.0pt;font-family:"Akkurat Pro Light";color:#0070C0"><a href="http://www.huawei.ca/"><span style="color:#0070C0">www.huawei.ca</span></a></span></b><b><span lang="EN-CA" style="font-size:8.0pt;font-family:"Akkurat Pro Light";color:#0070C0"><o:p></o:p></span></b></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9">           
</span><a href="https://www.facebook.com/HuaweimobileCAN/"><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#0563C1;text-decoration:none"><img border="0" width="16" height="16" id="Picture_x0020_2" src="cid:image002.jpg@01D2F581.1AFD9B60" alt="Facebook"></span></a><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9">  </span><a href="https://www.instagram.com/huaweicanada/"><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#0563C1;text-decoration:none"><img border="0" width="16" height="16" id="Picture_x0020_3" src="cid:image003.jpg@01D2F581.1AFD9B60" alt="Instagram"></span></a><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9">  </span><a href="https://www.linkedin.com/company-beta/3014?pathWildcard=3014"><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#0563C1;text-decoration:none"><img border="0" width="15" height="16" id="Picture_x0020_4" src="cid:image004.jpg@01D2F581.1AFD9B60" alt="LinkedIn"></span></a><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9">  </span><a href="https://twitter.com/huawei_canada?lang=en"><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#0563C1;text-decoration:none"><img border="0" width="16" height="16" id="Picture_x0020_5" src="cid:image005.jpg@01D2F581.1AFD9B60" alt="Twitter"></span></a><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span style="font-size:6.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span style="font-size:8.0pt;font-family:"FrutigerNext LT Regular";color:#C9C9C9">This e-mail is intended only for the named recipient(s) and may contain information that is privileged,
 confidential to Huawei Technologies Canada Co., Ltd. and/or exempt from disclosure under applicable law.  No waiver of privilege, confidence or otherwise is intended by virtue of communication via the internet.  Any unauthorized use, dissemination or copying
 is strictly prohibited.  If you have received this e-mail in error, or are not named as a recipient, please immediately notify the sender and
</span><span style="font-size:8.0pt;font-family:"FrutigerNext LT Regular";color:#BFBFBF">destroy all copies of this e-mail.</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>