<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">

<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Simplified Arabic";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>I
know that many ABIs require this for performance purpose, but I haven’t
seen anything in the standard that suggests promotion of return value to
integer. Furthermore, I think the LLVM is supposed to be independent of
language. So I’m not sure if SelectionDAGLowering is the right place for this
promotion to begin with, TargetLowering class seems more logical; but I’m
not sure how.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>>>
Either way, I think we all agree that the root of the problem is the </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>>>
FIXME in SelectionDAGLowering::visitRet()</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>>What
I would like to know is if the promotion of return values to integer is
specified by the C language standard, or if it is specified by the (target
specific) ABI.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>>Ciao,</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span style='font-size:10.0pt;font-family:"Simplified Arabic"'>>Duncan.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2
face="Simplified Arabic"><span lang=AR-SA dir=RTL style='font-size:10.0pt;
font-family:"Simplified Arabic"'> </span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>

</div>

</body>

</html>