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

    <tr>
        <th>Summary</th>
        <td>
            Make constant vector `<i64 poison, i64 -9223372036854775808>` able to reuse `<i64 0, i64 -9223372036854775808>`
        </td>
    </tr>

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

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

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

<pre>
    Here's some LLVM IR:

```llvm
define dso_local <8 x i64> @bar(<8 x i64> %0) local_unnamed_addr {
Entry:
  %1 = shufflevector <8 x i64> <i64 poison, i64 poison, i64 poison, i64 poison, i64 poison, i64 poison, i64 poison, i64 -9223372036854775808>, <8 x i64> %0, <8 x i32> <i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14>
  %2 = tail call <8 x i64> @llvm.fshl.v8i64(<8 x i64> %0, <8 x i64> %1, <8 x i64> splat (i64 1))
  %3 = xor <8 x i64> %2, <i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 -9223372036854775808>
  ret <8 x i64> %3
}

declare <8 x i64> @llvm.fshl.v8i64(<8 x i64>, <8 x i64>, <8 x i64>) #1
```

This currently gives (for znver5): [Godbolt link](https://llvm.godbo.lt/#g:!((g:!((g:!((h:codeEditor,i:(filename:'1',fontScale:14,fontUsePx:'0',j:1,lang:llvm,selection:(endColumn:71,endLineNumber:9,positionColumn:71,positionLineNumber:9,selectionStartColumn:71,selectionStartLineNumber:9,startColumn:71,startLineNumber:9),source:'define+dso_local+%3C8+x+i64%3E+@bar(%3C8+x+i64%3E+%250)+local_unnamed_addr+%7B%0AEntry:%0A++%251+%3D+shufflevector+%3C8+x+i64%3E+%3Ci64+poison,+i64+poison,+i64+poison,+i64+poison,+i64+poison,+i64+poison,+i64+poison,+i64+-9223372036854775808%3E,+%3C8+x+i64%3E+%250,+%3C8+x+i32%3E+%3Ci32+7,+i32+8,+i32+9,+i32+10,+i32+11,+i32+12,+i32+13,+i32+14%3E%0A++%252+%3D+tail+call+%3C8+x+i64%3E+@llvm.fshl.v8i64(%3C8+x+i64%3E+%250,+%3C8+x+i64%3E+%251,+%3C8+x+i64%3E+splat+(i64+1))%0A++%253+%3D+xor+%3C8+x+i64%3E+%252,+%3Ci64+0,+i64+0,+i64+0,+i64+0,+i64+0,+i64+0,+i64+0,+i64+-9223372036854775808%3E%0A++ret+%3C8+x+i64%3E+%253%0A%7D%0A%0Adeclare+%3C8+x+i64%3E+@llvm.fshl.v8i64(%3C8+x+i64%3E,+%3C8+x+i64%3E,+%3C8+x+i64%3E)+%231'),l:'5',n:'0',o:'LLVM+IR+source+%231',t:'0')),k:50,l:'4',n:'0',o:'',s:0,t:'0'),(g:!((h:compiler,i:(compiler:llctrunk,filters:(b:'0',binary:'1',binaryObject:'1',commentOnly:'0',debugCalls:'1',demangle:'0',directives:'0',execute:'1',intel:'0',libraryCode:'0',trim:'1',verboseDemangling:'0'),flagsViewOpen:'1',fontScale:14,fontUsePx:'0',j:1,lang:llvm,libs:!(),options:'-mcpu%3Dznver5',overrides:!(),selection:(endColumn:25,endLineNumber:4,positionColumn:25,positionLineNumber:4,selectionStartColumn:25,selectionStartLineNumber:4,startColumn:25,startLineNumber:4),source:1),l:'5',n:'0',o:'+llc+(trunk)+(Editor+%231)',t:'0')),k:50,l:'4',n:'0',o:'',s:0,t:'0')),l:'2',n:'0',o:'',t:'0')),version:4)

```asm
.LCPI0_0:
 .quad   -9223372036854775808
.LCPI0_1:
        .quad   0
 .quad   0
        .quad   0
        .quad   0
        .quad   0
 .quad   0
        .quad   0
        .quad   -9223372036854775808
bar:
 valignq zmm1, zmm0, qword ptr [rip + .LCPI0_0]{1to8}, 7
        vpshldq zmm0, zmm0, zmm1, 1
        vpxorq  zmm0, zmm0, zmmword ptr [rip + .LCPI0_1]
        ret
```

Could be:

```asm
.LCPI0_0:
        .quad 0
        .quad   0
        .quad   0
        .quad   0
        .quad 0
        .quad   0
        .quad   0
        .quad -9223372036854775808
bar:
        vmovdqa64       zmm2, zmmword ptr [rip + .LCPI0_0]
        valignq zmm1, zmm0, zmm2, 7
        vpshldq zmm0, zmm0, zmm1, 1
        vpxorq  zmm0, zmm0, zmm2
        ret
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8GF1zozjy18gvqnEJAQYe_BBwcjdV2Zut3bt5TQlo29oI5EjCk-TXX0kCB2Ls7Nxld8o1Ubf6S92tbjVMa75rAdYozlG8WbDO7KVaf2eC10w9LkpZv6z_CQoQTTTWsgF8f__9F_z1NxTeIOJ-K-J_QhwbRG5q2PIWcK3lg5AVExiFRYqfMV9FKLzFKCIlU4im79A0Johm2LE8dG3LGqgfWF0rjJIckZvb1qgXrxRb6gCjcIP1vttuBRyhMlK91xQWfBXhg-RatogW-K-CvmSUhmFCSbhK4yhJ4pSkKLy123OHfMOGdLAzpDhx4kKK02GRDYuAnFbBaUVPq_C0sloGB1HnIMO4wBUTM2Gw8Vpu9V4sj6nFzodk5gzBOVYfBDMYUSsIB4hm9tcbEjpDns_jQ2PaS7JcZHDn_7a4FARrhAJzrju0uZtsfBLXUAmm4KeddOaJGUSGEQ2D8U3xOv-95xpXnVLQGvGCd_wI2rpwKxV-bY-gYuvE8AajOP-HrEspDBa8fUTxBtF0b8xB2_tA7xC9c2buLNFSGIcKd24zsBbT9DKwR-FNJWu4rbmRCtGCu910ywXYS-igJEDU5udWtub3igmLDaIe8R8Nvz57MuLJ_rDbiBaCtVaXKwy00CCgMly2XgG0dSFF11jQyi-gre95C__qmhIUCm9s-h-k5pZlSjlgz8hPKn43TJkp03TvnHWGY47Q0cpOVb1nfLlDND8VPERzm15Fimj-jGju0ia2mZC_Fb9LBDT2hRDR_LwUeoLE_jcqiBZwO5476PVvEM0n5fGaXRbv4PxU2gaKvxUze4u9kcV1-32xOqMJ6fSMFs6TXqUD0jGQjYGATKBgAtEJFE6gwa5pYOgoMLYsI5rbwnw9XWbqz0_74B1NcJ3GlXK37xXmQzl_d5xwdJznj7LLl_ppppFx4D8XuJJGp0MoMB_ZHPbkcbIZVqdW8UlhuxKJK1tZb2Ho67LNWuHLUewrcDupx9JD9uWGaP71NxtlX8ImYgoz5upr3SMKb1xa9QqiKwo8YLsSmZFWzLee5sAFjBrPCWMbR2VU1z7aRsOFAeUbXlpOlJe8ZX0lHPqUR30r_4DKTDYq2TTQmm-teJnIqKHsdgUTQk_Ia2hYuxMwpeXKNpIj6AkanqHqzLRf8taAmFAJXiqmXgpZT4UaxZsJ6xFUKTVsvAW83b335lawnf7O4ce3A7Sf16UFL_UoSFaTPNi22Z_2S1MdOnfvhzeKS4AjKMVreM96pefTeKbnR3M931HO9vzocs93TFd6fnTW8z3HHOGk5wd_-r7ZHi4qX0r7PPYXNx0eW6fbl_0dF3BkNv1QyBzzEZT2sYz8-378qGXaTn_L--LXr-SB9JPa8qljNcbzr_MTdTDMdf7fwETGEsglgj-L-1mmCybb95u39sgE37VP-LVp3ET02jRuGnn6IVWND0bZh7viB4xojk9-iTcoyQMjUzt70AInI9XHg96L-ukkafTXaQgmtM9SPeE52iv6A6v_TYjtgWdzSSE7UeMSzif82RBP3PZ_R-mTpH0YvMGLjTzWT2wV9fBr09CPvUimXryUCIOwvyDE9HIQF_U6rLMwYwtYB0mUhlmapHSxX2dVFddVQqosLiNYVaSut1UMAZAwi1Y0W_A1JTQmMU0JDbKILsm2hi0ta6hXKasiQBGBhnGxdM8bqXYLrnUH6yAKErJaCFaC0O5TEqUt_MBuF1GK4s1CrS3Tl7Lbafs-4troNzGGGwHrX9gj4Eq22rDW4OGbzorMfsi5NO-vCGalAGwkVtBpGAn48FvBiiw6JdbT0XrHzb4rl5Vs-jm7__PloKR7X9A7d06N6F3viOOa_jcAAP__tOwO1g">