<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - B3-&gt;Air lowering should have a story for compare-branch fusion"
   href="https://bugs.webkit.org/show_bug.cgi?id=150721#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - B3-&gt;Air lowering should have a story for compare-branch fusion"
   href="https://bugs.webkit.org/show_bug.cgi?id=150721">bug 150721</a>
              from <span class="vcard"><a class="email" href="mailto:fpizlo&#64;apple.com" title="Filip Pizlo &lt;fpizlo&#64;apple.com&gt;"> <span class="fn">Filip Pizlo</span></a>
</span></b>
        <pre>One way to do this would be to have a comparison selector that takes as an argument the set of possible comparing Air opcodes.  For example it might be something like:

struct Opcodes {
    Opcode compare8;
    Opcode compare16;
    Opcode compare32;
    Opcode compare64;
    Opcode test8;
    Opcode test16;
    Opcode test32;
    Opcode test64;
    Opcode compareDouble8;
    Opcode compareDouble16;
    Opcode compareDouble32;
    Opcode compareDouble64;
};

The comparison selector could then either produce an Inst or an array of Insts that conduct the comparison using whatever compare operations the caller wanted. It can use isValidForm() to decide which Insts are valid, so we can be sure that it only produces valid ones.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>