<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><SPAN class="Apple-style-span">This final patch simplifies the logic in <I>SelectionDAGISel.cpp</I> with no functional change. This construct was in use:</SPAN></DIV><DIV><BR></DIV><DIV><FONT class="Apple-style-span" face="Andale Mono"> if (I.getType()->isFloatingPoint())</FONT></DIV><DIV><FONT class="Apple-style-span" face="Andale Mono"> visitFPBinary(I, ISD::FADD, ISD::VADD); </FONT></DIV><DIV><FONT class="Apple-style-span" face="Andale Mono"> else</FONT></DIV><DIV><FONT class="Apple-style-span" face="Andale Mono"> visitIntBinary(I, ISD::ADD, ISD::VADD); </FONT></DIV><DIV><BR></DIV><DIV><SPAN class="Apple-style-span">Which confusingly sent even floating-point vector operations through the <FONT class="Apple-style-span" face="Andale Mono">visitIntBinary</FONT> routine. However, this was not a bug because <FONT class="Apple-style-span" face="Andale Mono">visitFPBinary</FONT> and <FONT class="Apple-style-span" face="Andale Mono">visitIntBinary</FONT> were identical (as is the vector opcode parameter).</SPAN></DIV><DIV><BR></DIV><DIV>This patch streamlines the logic and eliminates redundant methods.</DIV><DIV><DIV><BR class="khtml-block-placeholder"></DIV>— Gordon<BR class="Apple-interchange-newline"> </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV></BODY></HTML>