<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">