<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 8, 2009, at 11:59 AM, Nick Lewycky wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "><br class="Apple-interchange-newline">Can this just be removed?<br><font color="#888888"></font></blockquote><div><br></div><div>No. The code as released in LLVM 2.5 had basically no correlation between whether the instruction was [if]cmp or v[if]cmp and whether INST_CMP or INST_CMP2 was used. The comment was only there to confuse the reader.</div><div><br></div><div>As of this commit, we only generate INST_CMP2 which has a better chance of being read correctly by previous versions of LLVM than if we were to generate INST_CMP.</div><div><br></div><div>To make matters worse, some 2.5 version bitcode files would contain icmp (but not fcmp?) with a bad type, such as a constant expression icmp that returns <4 x i32> instead of <4 x i1>. Such files will no longer load with current LLVM; we could try to autoupgrade those but I'm inclined to say "sorry, older LLVMs were buggy and produced bad IR in rare circumstances" than to try to deal with it.</div></span></blockquote></div><br><div>Ok.</div><div><br></div></body></html>