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

    <tr>
        <th>Summary</th>
        <td>
            [X86ISelLowering] MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86,
            llvm:SelectionDAG
      </td>
    </tr>

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

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

<pre>
    I tried this code:

```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define void @foo(i128 %arg) #0 {
bb:
  %i = xor i128 %arg, 1
  %i1 = insertelement <2 x i128> zeroinitializer, i128 %i, i64 0
  %i2 = shufflevector <2 x i128> %i1, <2 x i128> zeroinitializer, <2 x i32> zeroinitializer
  %i3 = and <2 x i128> <i128 1, i128 1>, %i2
  %i4 = trunc <2 x i128> %i3 to <2 x i32>
  store <2 x i32> %i4, ptr null, align 8
  ret void
}

attributes #0 = { "target-cpu"="sandybridge" }
```

I got following error log:

```
llc: /home/dianqk/llvm/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h:289: MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/dianqk/llvm/llvm-project/build/bin/llc /home/dianqk/llvm/rust-122252/foo.ll -filetype=null
1.      Running pass 'Function Pass Manager' on module '/home/dianqk/llvm/rust-122252/foo.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@foo'
...
 #9 0x00007f9594e587ce llvm::LinearPolySize<llvm::TypeSize>::getFixedValue() const /home/dianqk/llvm/llvm-project/llvm/include/llvm/Support/TypeSize.h:314:5
#10 0x00007f9594e587ce llvm::TypeSize::getFixedSize() const /home/dianqk/llvm/llvm-project/llvm/include/llvm/Support/TypeSize.h:456:52
#11 0x00007f9594e587ce llvm::MVT::getScalarSizeInBits() const /home/dianqk/llvm/llvm-project/llvm/include/llvm/Support/MachineValueType.h:1139:46
#12 0x00007f9594e587ce combineAndnp(llvm::SDNode*, llvm::SelectionDAG&, llvm::TargetLowering::DAGCombinerInfo&, llvm::X86Subtarget const&) /home/dianqk/llvm/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:52218:31
#13 0x00007f9594e31658 llvm::X86TargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const /home/dianqk/llvm/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:0:36
...
```

Godbolt: https://llvm.godbolt.org/z/4WvMGc59b
From: https://github.com/rust-lang/rust/issues/122252
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMV19v4zYM_zTKi5DAphz_eciD28RFsevQLUV3b4NsM45WRfJkuZf20w-SnSZpe7frDRtWFIosi-RP5I-kzLtONApxQeYXZL6c8N5utVksBVe__DQpdf20uKbWCKyp3YqOVrpGwnISLElwGONg-JfycTcsWW4atLTmlkv-pHtLCVtSAoDTHWE5TltIAsJyBn5wj-H5o5vFkR-m4mUSQkpYHkI63aTBOFN-KT6Ix9F07bYBnEGxRrQSDzD2afx7HE179aD0FzWVQvX7aaP6F6lhrHEjFNJHLWpKomCjNYHUgaAE5tw0BDJKgAWUJBeDRFm-OIe6TcJb3GtDz8QuaXi6KfS7hOrQWJS4Q-Ucdgl0T4cjr-gzGi2UsIJL8YzGqThoFP4hjmhwqhO8zm7bbzYSH7Gy2rzW6U074b-3ddjhXPx2w4lZ5s1yVb8xxi494PAFekjYyut2aE91RF6HNb2q3oPMqNXngA7CndUGX2H1Cp2Z1hqqeindnEvRKJoe5AxaH-Qx9snylATcWiPK3mI3xtpRKLlwNBq4Na1aTxy2JAAdV_VTaUTdIAGgR12HJDlVfU0bbelGS6m_CNVQNEYbKnXztQwbHqWsCMspgWKrd0igqAVXfz4QKHwGDj_T1ug_sLLHVaEq2dd4XLjUNV6hIlDcc9nj3VOL3WxLWA5p5gzc3N9Rv5XlhOWr-7th0qBdi10r8f6OuETLaKVVZ51E3jkKC60oiQPRDdvGTQRiArFz22rfYmWxppyOig7mCYTOk5DQDRcS69lw4NtPq3y9ol1f7oSlnJZ9Qw222lhHha21beegQUGgaITd9uWs0ruv-kN0XY8dgcLzdHQLtVukleHdlpa8erCGVziaX1tePdC637UvcQlm1P_dGt0YvqPcNL1L2-5DgSl7IWv3K5R_WX1D1PSdnYYAMAcCxUbrmZR0uhESrXMcW3pue3DhCO7XXilHq5Z3jrtJ0avKB-fWLdxwxRuX3QnViu503bv6CMnHIBBIRi_BV6x-TmO6zK-mhK2W-RW9Vp01_YBjjRL9bASxOQB0MMZ6mwzaZ7PRjEvCjAb7IAiCZJPNswjnaVLhCVM_CYXc3Gr5tBbPSNjl8ZUj2bC4eiFzIfZYewqe0vmfp9e6bx1FCRQHqz65WOi62XzMbGBh8O3THCGf4vUr_wXcaO5a6xyOeMNv4705rRMVl9w4XdfqQtju30J8w6utUMc64pGHIXNlLIqP0OE96JXelUJhrmrVEkiPJ1kvf3a3HchdyzhZPrB2mV_5onb68s63hE_6CxqhmmFtmV9dDjbMtdroNzKf03jdl-NFZailbkv2YQ9JUbrweUUEis9pPIzXa5QHSLOqbX1AIUw9G4_eYefeYWE8T89hvne6WzQbbXbHQ36PD7_XTT_KlQ94wt9D41dV5t12faXrUkvf6M57jjM6a4a3M-0ueMUzgSL67fHmqppn5SBeGL17K3vWr3yFlVw14_y0WQ2Fd1IvWJ2xjE9wESZhELBgnsBku0AWlnHJohA3mECZBBmwDOp6HsVxEDGYiAUEEAUsDIIAMgYzrHlZ1ch4hhkPMCVRgDsu5MwfR5tm4m0vUqdhInmJsvOfCQCuQ6KqB1L4jn1JAMbwnucHuK8Ks_BhKvumI1EgRWe7oxUrrPTfH6_iQ-bL_8MVZNIbufjxO4b33l8BAAD__zgm-ds">