<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 12/12/2017 7:26 AM, Sean Silva via
      llvm-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAHnXoakxA7AU+8ZAR9PiW9H18tR8hORW=rKs8SMBwfNtJ0Rhyg@mail.gmail.com">
      <div dir="auto">
        <div><br>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">On Dec 11, 2017 6:54 PM, "Sean
              Silva" <<a href="mailto:chisophugis@gmail.com"
                moz-do-not-send="true">chisophugis@gmail.com</a>>
              wrote:<br type="attribution">
              <blockquote class="quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div dir="ltr">
                  <div>It looks like in various places in SelectionDAG
                    and related machinery we appear to implicitly or
                    explicitly assume that TypeExpandInteger only
                    applies to scalars.<br>
                  </div>
                  <div><br>
                    Does anybody know why that is?</div>
                  <div><br>
                  </div>
                  <div>For our target (Pixel Visual Core: <a
href="https://www.blog.google/products/pixel/pixel-visual-core-image-processing-and-machine-learning-pixel-2/"
                      target="_blank" moz-do-not-send="true">https://www.blog.google/<wbr>products/pixel/pixel-visual-<wbr>core-image-processing-and-<wbr>machine-learning-pixel-2/</a>)
                    expanding a N-bit vector op into two (N/2)-bit
                    vector ops</div>
                </div>
              </blockquote>
            </div>
          </div>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">To be clear: the vector ops are all of the same
          number of elements. Just the bit width of the element type
          changes.</div>
      </div>
    </blockquote>
    <br>
    I think it just hasn't been a priority for any in-tree target; most
    code doesn't use illegal vector types much, and the default strategy
    generates decent code in most cases.  (You might have an easier time
    just adding a few target-specific DAGCombines for specific
    operations which lead to low-quality code.)<br>
    <br>
    -Eli<br>
    <pre class="moz-signature" cols="72">-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
  </body>
</html>