[prev in list] [next in list] [prev in thread] [next in thread] 

List:       llvm-bugs
Subject:    [llvm-bugs] [Bug 65150] [x86] `uitofp` gets scalarized in x86 backend for `half`
From:       LLVM Bugs via llvm-bugs <llvm-bugs () lists ! llvm ! org>
Date:       2023-08-31 19:35:04
Message-ID: 20230831193504.02b47b329871b819 () email ! llvm ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

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

    <tr>
        <th>Summary</th>
        <td>
            [x86] `uitofp` gets scalarized in x86 backend for `half`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Converting `&lt;64 x i4&gt; -&gt; &lt;64 x half&gt;` results in scalarization of \
the operation:

`llc example.ll -mtriple=x86_64-pc-linux`
```
define &lt;64 x half&gt; @main() {
 %int4_p = alloca &lt;64 x i4&gt;
    %int4 = load &lt;64 x i4&gt;, &lt;64 x i4&gt;* %int4_p
    %fp16 = uitofp &lt;64 x i4&gt; %int4 to &lt;64 x half&gt;
    ret &lt;64 x half&gt; %fp16
}
```

When doing this for `&lt;64 x i4&gt; -&gt; &lt;64 x float&gt;`, it does not get \
scalarized: ```
define &lt;64 x float&gt; @main_float() {
    %int4_p = alloca &lt;64 x i4&gt;
    %int4 = load &lt;64 x i4&gt;, &lt;64 x i4&gt;* %int4_p
    %fp16 = uitofp &lt;64 x i4&gt; %int4 to &lt;64 x float&gt;
    ret &lt;64 x float&gt; %fp16
}
```
</pre>
<img width="1px" height="1px" alt="" \
src="http://email.email.llvm.org/o/eJzMlE2PozwMxz9NuFit8gIpHDg8M53envMeR4EYyG6aIBJm2f3 \
0K6C0085o9roSCsLY_9j-WVYhmNYhliR7ItkxUWPs_FD-ryZWsKTy-lf57N0bDtG4FoikRDzLFCYwKREvsJuPz \
dQp2xDxQiSFAcNoYwDjINTKqsH8VtF4B76B2CH4HofFQMR_hB4J3U5Jra0BJ3XuLe6thd05Dqa3SMRxyuWrTHd \
9vbPGjdOczBZ0eZZPjY1x-JgVkJSelXGE54QXQA5PqzcQnhkX09ceiDiCstbXCu6qvDgCbL6Lp_VKP_jx50fDO \
_k7laZnclEZTfRNfx92vSb6D729igwYP5a4Cl-6cjh-2p71_NahA-1nqLEzARo__IVuY72KK965UBNBewzgfIQ \
W4xUz6hvSL7lsehuY19XwiOfW9X-c0LU_nyK6Vfs1o0SXQheiUAmWTBYiYzSjadKVjPIqTRvMtKgyFEXGK8a4O \
miudaW0TEzJKRc0F4wVIqPpfg44VIIX-YFVOStISvGsjN1b-3be-6FNTAgjljJjGU2sqtCGZQ1w7vAnLD8J5_N \
WGMo5ZleNbSAptSbEcFOJJtplf0y5JNlxHqO1Z_MiaDGGd7MxL4Qpl1Cp-gc6vY3dMsCSJuNgyy7GPswzxE-En1oTu7Ha1_5M-Gm-8vLa9YP_jnUk_LQkGgg_LYX8CQAA__8Q91Xf">



[Attachment #3 (text/plain)]

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic