<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56023>56023</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            PowerPC ABI incompatibility with GNU on complex arguments
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          UmeshKalappa0
      </td>
    </tr>
</table>

<pre>
    We recently moved llvm from GCC and found that  their  is ABI difference in the two compilers. GNU passes and returns double complex in GP registers. LLVM passes an returns the value on the stack.

return double complex numbers (the assumption is this applies to complex, double complex, and long double complex).

https://godbolt.org/z/qqzzesK9r

Its case with ppc32 and we agree that the  ABI insist the same semantics like LLVM ,can we have bypass the semantics like GCC with option ?

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxlUsFymzAQ_Rq47JQRYGw4cHCciSeTtONL2rMQC6gRiEjCrv31XUGcNO4MrBC77-3TW1W6Ppe_EAwKHJw6Q6-PWINSxx4ao3vY73bAhxoaPVF0HXdAEaUBkBa2d49Qy6ZBg4NAkIPPgTtpELofpUJjI9j_eIGRW4t2ZjLoJjNYqPVUKZwLFf7x2P2Bkq20boY9P__8_on7gPkGR64mBL10s46L1yhg9wHbLnEpvW0wTH1FxBAkuYcR8dSPThKL9KwU-DgqSd2cvoKCZHdD4__4Uyg9tP-lii8yOudGG6TbIHmgp9V1pZWLtGlpd6H37e1yQftUmH9Bj86C4BbhJF0H4yjSZO53IsWtQVxG4A8wmy8HS34tPvCeAvZ8cFJYUPIVFw9JsiADiaHjR4Tq7E1dIF-r_azntnrxJUgfFlFhXaZ1kRY8dNIpLA_6hOawe1fgj8-drKSS7rwQ-JETwdV6btqpp_tlw8mo8sYXqp-qiEpp4-_d-_JtNPo3CkdbSaNCSx_ZmiVp2JVZIVjOMEtx0xRZXiQb0WRNHK85ZnGc81DxCpUtg-wuyO5DWSYsSdg6XrFVxlgcsYYXaYppXufpJhNxsGLkhFSRb-wnFJpy1lBNraWkIo_tZ5Lsk-2AeOXnk-u0KV96tN0TV3SNOAtn0eWs-C-kiSRO">