<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-GB;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">'long double' is 128-bit on some MIPS ABI's but we don't have a __float128 type.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Nemanja Ivanovic [mailto:nemanja.i.ibm@gmail.com]
<br>
<b>Sent:</b> 29 March 2016 11:07<br>
<b>To:</b> renato.golin@linaro.org; venkatra@cs.wisc.edu; jholewinski@nvidia.com; richard@xmos.com; kparzysz@codeaurora.org; jpienaar@google.com; nrotem@apple.com; Daniel Sanders; cfe-dev@lists.llvm.org<br>
<b>Subject:</b> Fwd: Target support for __float128 in the front end<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal">To date, I have not received any responses on this. I'm forwarding this message again to see if I can get some responses regarding this __float128 patch. I don't want to break anyone with this commit so I hope to discuss this with target
 maintainers before I commit.<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">I am sending the message to the target maintainers listed in CODE_OWNERS.TXT, so if I've sent it to you erroneously, I apologize.<o:p></o:p></p>
</div>
<p class="MsoNormal">Sincerely,<o:p></o:p></p>
</div>
<p class="MsoNormal">Nemanja Ivanovic<o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">---------- Forwarded message ----------<br>
From: <b>Nemanja Ivanovic</b> <<a href="mailto:nemanja.i.ibm@gmail.com">nemanja.i.ibm@gmail.com</a>><br>
Date: Fri, Mar 25, 2016 at 5:09 PM<br>
Subject: Target support for __float128 in the front end<br>
To: <a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<br>
<o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi everyone,<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">I plan to commit the changeset listed in the Phabricator review 15120 (<a href="http://reviews.llvm.org/D15120" target="_blank">http://reviews.llvm.org/D15120</a>) which will impact the way Clang treats the
<span style="font-family:"Courier New"">__float128</span> type, keyword, etc.<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Namely, we currently have a workaround that allows Clang to parse some C++ headers (such as type_traits) since they contain template specializations for
<span style="font-family:"Courier New"">__float128</span>. However, this patch establishes that type as a builtin type, enables the keyword and allows for literals of the type. Since not all targets have support for what that type is supposed to represent (i.e.
 a 128-bit floating point type with IEEE quad-precision semantics), the default behaviour for all targets is to not enable the type.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><b>The problem:</b><o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">This puts targets on which gcc has
<span style="font-family:"Courier New"">__float128</span> support in a situation where they may not be able to compile programs that include the aforementioned headers. Namely, if the configuration defines
<span style="font-family:"Courier New"">_GLIBCXX_USE_FLOAT128</span> and the <span style="font-family:"Courier New"">
__float128</span> type is not enabled in Clang, anything that includes the header will not compile.<o:p></o:p></p>
</div>
<p class="MsoNormal"><b>The solution:</b><o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Any target that needs to enable support for this type can do so by overriding
<span style="font-family:"Courier New"">TargetInfo::hasFloat128Type()</span>. When doing so, there may be a small number of test cases that needs to change if they rely on this support not being enabled.<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">I would appreciate it if you would let me know if your target needs to have this support enabled and if you would be OK with me committing this patch. As much as I would like to take on as much of this work
 as possible, please understand that I do not have access to hardware to allow me to test any impact to your target if I were to make the change myself (of course, I'm referring to things that can't be caught by the Clang test cases).<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Thank you,<o:p></o:p></p>
</div>
<p class="MsoNormal">Nemanja<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>