<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [Clover / OpenCL] struct and union arguments handled incorrectly, producing CL_INVALID_ARG_SIZE"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91556#c14">Comment # 14</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [Clover / OpenCL] struct and union arguments handled incorrectly, producing CL_INVALID_ARG_SIZE"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91556">bug 91556</a>
              from <span class="vcard"><a class="email" href="mailto:vedran@miletic.net" title="Vedran Miletić <vedran@miletic.net>"> <span class="fn">Vedran Miletić</span></a>
</span></b>
        <pre>Should be fixed in LLLVM 4.0 with:

commit 5cb9343f53d83c9a8a33aac5b2ce01672ff02cf3
Author: Matt Arsenault <<a href="mailto:Matthew.Arsenault@amd.com">Matthew.Arsenault@amd.com</a>>
Date:   Mon Aug 22 19:25:59 2016 +0000

    AMDGPU: Handle structs directly in AMDGPUABIInfo

    Structs are currently handled as pointer + byval, which makes AMDGPU
    LLVM backend generate incorrect code when structs are used. This patch
    changes struct argument to be handled directly and without flattening,
    which Clover (Mesa 3D Gallium OpenCL state tracker) will be able to
    handle. Flattening would expand the struct to individual elements and
    pass each as a separate argument, which Clover can not
    handle. Furthermore, such expansion does not fit the OpenCL
    programming model which requires to explicitely specify each argument
    index, size and memory location.

    Patch by Vedran Miletić

    git-svn-id: <a href="https://llvm.org/svn/llvm-project/cfe/trunk@279463">https://llvm.org/svn/llvm-project/cfe/trunk@279463</a>
91177308-0d34-0410-b5e6-96231b3b80d8

Please recheck.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>