<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 06/12/2015 07:12 PM, Daniel Sanders
wrote:<br>
</div>
<blockquote class=" cite"
id="mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org"
cite="mid:E484D272A3A61B4880CDF2E712E9279F459E9CAA@hhmail02.hh.imgtec.org"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style>#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org p.MsoNormal,
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org li.MsoNormal,
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org div.MsoNormal { margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman","serif"; }
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org a:link,
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org span.MsoHyperlink { color: blue; text-decoration: underline; }
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org a:visited,
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org span.MsoHyperlinkFollowed { color: purple; text-decoration: underline; }
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org p.MsoListParagraph,
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org li.MsoListParagraph,
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org div.MsoListParagraph { margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: "Times New Roman","serif"; }
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org span.EmailStyle17 { font-family: "Calibri","sans-serif"; color: windowtext; }
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org .MsoChpDefault { font-family: "Calibri","sans-serif"; }
#mid_E484D272A3A61B4880CDF2E712E9279F459E9CAA_hhmail02_hh_imgtec_org 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]-->
<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"">I'm
afraid targeting a 64-bit CPU and the O32 ABI is completely
broken at the moment, it's one of the very long-standing
issues I'm working towards. The main problem is that a lot
of the internals of the Mips LLVM backend derive their
behaviour from the target CPU rather than the target ABI. In
theory, the combination of mips3 and O32 is valid and should
generate code pretty much the same way as mips2 and O32
does. In the current implementation, the fact that mips3 has
64-bit GPR's tells a lot of the code generator to use 64-bit
instructions and selects other behaviour that is correct for
the N32/N64 ABI's but not for O32. For this (and many other)
reasons, there's an assertion that O32 is not used on a
64-bit CPU. <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"">Any
patches that make progress on this will be warmly welcomed.
In the meantime, the best I can suggest is to target mips2
and O32. That combination will work and will do the same
thing (aside from the precise ELF header flags) as mips3 and
O32 would.<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">> How can I change the <b>fp=64</b> to
<b>fp=32</b>? Have tried pass -mfp32 to
mipsel-unknown-linux-gnu-clang++ but with no luck.<br>
<br>
<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"">In
the current implementation, this is not possible.<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"">This
also raises a point I haven't considered yet. The Mips3
architecture mandates that the FPU implementation is 64-bit,
but if you're generating O32 code should we treat it as
being a 32-bit FPU? I suspect we should since it matches the
treatment of GPR's.<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"">>
</span>Yes I known it works if uses <b>-mips64</b> etc, but I
need mips3.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I'd be surprised if mips64 and O32 works.
It's subject to the same problems as mips3 and O32.<span
style="font-size:11.0pt;font-family:"Calibri","sans-serif""><o:p></o:p></span></p>
<br>
</div>
</blockquote>
<br>
Hi,<br>
<blockquote type="cite"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif"">the
best I can suggest is to target mips2 and O32</span></blockquote>
It's not work for all, still get Assembler messages error on some
source files<br>
<blockquote type="cite">Warning: float register should be even, was
7</blockquote>
<br>
<blockquote type="cite">I'd be surprised if mips64 and O32 works.</blockquote>
I mean compile the code only, since running the application with
buggy GUI. <span class="moz-smiley-s2"><span> :-( </span></span><br>
<br>
<div class="moz-signature">-- <br>
<i>Regards</i></div>
</body>
</html>