<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 27, 2017, at 14:02, via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">huh, minnum and maxnum return canonicalized values?<br class=""><br class="">that’s interesting, because on our target, they don’t (our min/max acts as a select operation insomuch as it cannot modify the selectands).<br class=""><br class="">what determines which operations canonicalize and which don’t?<br class=""></div></div></blockquote><div><br class=""></div>That’s what IEEE-754 2008 says:</div><div><br class=""></div><div>
<div class="page" title="Page 31">
<div class="layoutArea">
<div class="column">
<ol start="0" style="list-style-type: none" class="">
<li class=""><p class=""><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-weight: 700" class="">minNum</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">(</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">x</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">, </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">y</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">) is the canonicalized number </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">x </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">if </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">x</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class=""><</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">y</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">, </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">y </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">if </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">y</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class=""><</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">x</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">, the canonicalized number if one
operand is a number and the other a quiet NaN. Otherwise it is either </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">x </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">or </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">y, </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">canonicalized (this
means results might differ among implementations). When either </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">x </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">or </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPS'; font-style: italic" class="">y </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">is a signalingNaN, then the
result is according to </span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'; color: rgb(0.000000%, 0.000000%, 100.000000%)" class="">6.2</span><span style="font-size: 10.000000pt; font-family: 'TimesNewRomanPSMT'" class="">. </span></p><div class=""><br class=""></div>
</li>
</ol></div>
</div>
</div></div><br class=""></body></html>