<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Thanks Daniel,<br>
<br>
<div class="moz-cite-prefix">On 14.09.2018. 18:31, Daniel Sanders
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:9F637C09-ADF1-4CBF-8D4D-D6143273EA18@apple.com"> <br
class="">
<div>
<blockquote type="cite" class="">
<div class="">On 14 Sep 2018, at 06:50, pavram <<a
href="mailto:Petar.Avramovic@rt-rk.com" class="">Petar.Avramovic@rt-rk.com</a>>
wrote:</div>
<br class="">
</blockquote>
<blockquote type="cite" class="">
<div class="">
<div bgcolor="#FFFFFF" class="">We could get similar result
if we have: <br class="">
<br class="">
getActionDefinitionsBuilder(G_SELECT) <br class="">
.legalFor({{s32, s32}, {s64, s32}, {p0, s32}}) <br
class="">
.clampScalar(0, s32, s64) <br class="">
.clampScalar(1, s32, s32) <br class="">
.widenScalarToNextPow2(0); <br class="">
<br class="">
And in this case sizes of LLTs and register classes would
be the same. <br class="">
Implementation for G_ICMP on AArch64 is very similar to
second described option for G_SELECT. <br class="">
Is there a reason for different implementation of G_SELECT
and G_ICMP on AArch64? Are there some general ruses to
determine which of the two given options is better in
which case?</div>
</div>
</blockquote>
<br class="">
</div>
<div>At the moment, it largely comes down to preference. I don't
have any real evidence to back this up but I expect the latter
will be the better optimized in the long run since maintaining
the excess bits requires instructions and these are explicit in
the GMIR. This means we can optimize it and decline to do it
whenever it doesn't matter.<br>
</div>
</blockquote>
Then, for now, I will widen s1 to size of register class in
instruction "to be selected".
</body>
</html>