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

    <tr>
        <th>Summary</th>
        <td>
            [SDAG] Assertion `NumBits >= MIN_INT_BITS && "bitwidth too small"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            crash-on-valid,
            llvm:SelectionDAG
      </td>
    </tr>

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

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

<pre>
    Reproducer: https://godbolt.org/z/76no4o4cM
```
; bin/llc test.ll -o -
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 i32 @main(i64 %retval.sroa.0.0.copyload.i.i.pre) {
entry:
  br label %for.body.i

for.body.i:                                       ; preds = %for.body.i, %entry
  %0 = add i64 %retval.sroa.0.0.copyload.i.i.pre, -4294967296
  %tobool.not.not.i.i = icmp ult i64 %0, 38654705664
  br i1 %tobool.not.not.i.i, label %for.body.i, label %for.cond6.preheader.i.i

for.cond6.preheader.i.i: ; preds = %for.body.i
  ret i32 0
}
```
```
llc: /data/zyw/llvm-project/llvm/lib/IR/Type.cpp:312: static llvm::IntegerType* llvm::IntegerType::get(llvm::LLVMContext&, unsigned int): Assertion `NumBits >= MIN_INT_BITS && "bitwidth too small"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ../llvm-build/bin/llc reduced.ll
1.      Running pass 'Function Pass Manager' on module 'reduced.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@main'
 #0 0x00007ffff3bf09c2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/zyw/llvm-build/bin/../lib/libLLVMSupport.so.21.0git+0x1f09c2)
 #1 0x00007ffff3bedb5f llvm::sys::RunSignalHandlers() (/data/zyw/llvm-build/bin/../lib/libLLVMSupport.so.21.0git+0x1edb5f)
 #2 0x00007ffff3bedca4 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007ffff3242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007ffff32969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007ffff3242476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007ffff32287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007ffff322871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007ffff3239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00007ffff4125abd llvm::IntegerType::get(llvm::LLVMContext&, unsigned int) (/data/zyw/llvm-build/bin/../lib/libLLVMCore.so.21.0git+0x325abd)
#10 0x00007ffff61c362d llvm::EVT::getExtendedIntegerVT(llvm::LLVMContext&, unsigned int) (/data/zyw/llvm-build/bin/../lib/libLLVMCodeGen.so.21.0git+0x7c362d)
#11 0x00007ffff78af4cb combineTruncate(llvm::SDNode*, llvm::SelectionDAG&, llvm::X86Subtarget const&) X86ISelLowering.cpp:0:0
#12 0x00007ffff67335c1 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) DAGCombiner.cpp:0:0
#13 0x00007ffff6734ff4 (anonymous namespace)::DAGCombiner::Run(llvm::CombineLevel) DAGCombiner.cpp:0:0
#14 0x00007ffff673794d llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::BatchAAResults*, llvm::CodeGenOptLevel) (/data/zyw/llvm-build/bin/../lib/libLLVMSelectionDAG.so.21.0git+0x13794d)
#15 0x00007ffff699fae2 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/data/zyw/llvm-build/bin/../lib/libLLVMSelectionDAG.so.21.0git+0x39fae2)
#16 0x00007ffff69a328c llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/data/zyw/llvm-build/bin/../lib/libLLVMSelectionDAG.so.21.0git+0x3a328c)
#17 0x00007ffff69a4aa9 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/data/zyw/llvm-build/bin/../lib/libLLVMSelectionDAG.so.21.0git+0x3a4aa9)
#18 0x00007ffff6994e37 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/data/zyw/llvm-build/bin/../lib/libLLVMSelectionDAG.so.21.0git+0x394e37)
#19 0x00007ffff5e01ed5 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#20 0x00007ffff40a6d11 llvm::FPPassManager::runOnFunction(llvm::Function&) (/data/zyw/llvm-build/bin/../lib/libLLVMCore.so.21.0git+0x2a6d11)
#21 0x00007ffff40a6ef1 llvm::FPPassManager::runOnModule(llvm::Module&) (/data/zyw/llvm-build/bin/../lib/libLLVMCore.so.21.0git+0x2a6ef1)
#22 0x00007ffff40a78b3 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/data/zyw/llvm-build/bin/../lib/libLLVMCore.so.21.0git+0x2a78b3)
#23 0x000055555556f2e5 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#24 0x0000555555563507 main (../llvm-build/bin/llc+0xf507)
#25 0x00007ffff3229d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#26 0x00007ffff3229e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#27 0x00005555555642d5 _start (../llvm-build/bin/llc+0x102d5)
Aborted (core dumped)
```
llvm version: 6d5ba79c6604a6f66400d573b8aabc34cb75d0b5
It is a recent regression. I think it is not related with https://github.com/llvm/llvm-project/issues/128139.


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMmFtvnLoWxz-N82INMgYMPOSBXKYnUtJdJVHVt8jYZsYnHhsZk8v-9Ec2TIBJ0ja77daJmhQM_q_fWiwvX2jXyY0W4hhkJwBj7tjT38-PAGOQnR3R3m2NPR4bj2rDn4-vRWsN75mwIKng1rm2A0kF8Brg9cbw2igXGbsBeP03wOucaJOalF0BVAGCxn-oAskJrKUGeK0Ug050LlIKrgxcAVQ5ajfCQU4dVfTZ9A6C5AwCjMVqB5JKrFqcI5BUCQ5__G28vPVXJA1_VvLlIsYFSKoYF6umQOOVDk1k352kqxv_GsYTh7OyVWLP8FSQO5Kuen2vzaNeKan7p9VG90MXgCouGqkFlAmGIEU76r0sJEkhwJkV7oGqqLOGRihCETPtszKURzKSUWsFwCUE-QlAldDOPvvAogrC2kJFa6G8RGNs5D9EJAdzs_ukgj_346PfWsG70am5KD71DYN5bxvgDIXXKOfwp904hasUl2lJclySvY4ztTEq0saFXxnJICzZroW9cnt15LsnBcnSHGWEpPsQyPhtEf_6W-E5bGZGc-LxtoJyYUPXlxC-9TCpvhspj2WFC1865HR-dpjls2ulWBDEa5_Xfnj4YbZW6mG3aq35r2BuvPX_yRrg9cU1wOvb51ZErG19hsY-RWHnqJMMhleTCiTVhXZiI6x_E-DqnQehYSMcwMX0wuXl16tTo514cgATH7Feh3rAodQO4NLbq7pOWCeNhoCgz_3uRDofjnMfkauLz3cXn2_vTi5ub2CQIH6Q1NI9Su620BkDux1Vyg8PnMOGSiV4BFD15fK8ujmHXV_vpIMU1v0GWtEa66Azh3VFum1fR8zsZiFaBk52XS86gNeQag_PVM8FdFsBmaXdFtaU3TtLmfC2bxxl95D3u3YYYSgaxsUXazaW7iC1m34ntPMEMIr21upeKg7weipcVvhKyCOlAKriUeW611rqDWxp10GA83WvWQjfF99wRTXdCOuDYTTcGd772oLzmRTOPSR-R-5bQeBZ9WkFkvOz6hO80J2z_WDgRigRrkb1Zm8Z4PylFuU-cQFOEERPCCGUN03TJHWDSoZnudM9d8PFFyu1CxG79fFb5I-lj3emc1bQ3Zg_Q9pA4GvoG5m-DOEQ2pDrStY-GW_61qdA1JkIxxHaSAfwCXqKA53Px4E9XrILXmfNW-zXvb6RG03Vf6jmStgucP1-vAAw4eFDPEZTuADxU4KP1Cns5Ebqxtw5gCt__2AkD5fl2KMbRz8Kv4OBZGEApzjDaHRq4B1nqdns5B8wD04CcugyEadLwZKUDYOt21pB-d29VOpj6qH_pJ4d4qY5gZsuuPdR7DQnkzBZCuMibxJIa19EPiQbOk6y-SvZuP6wYFxPgsVSMClFST4mGLpMguVcMI1xRmv-Wwv_Px4ip8aKw_GRBL6B3o_eRekhMUsIntOff719oT5_ckJzwUePvt7-a25w8UnoQ0_ywDp5sihEeUGblNWQmV0ttbi1vWbULSvmzdlnw8U41mfN-8p9Vn0aPZkefivITV-Pq1FmdDc4W8JvBbm4EerSPAor9eagUHi-RSUieZJkzK-iCqqNft6ZvoOa7kTXhsJeDubOqk-ngwd2aBj9ec-PEs56vMGQHDCkTZN-mOG61wv749NL8SDUjxHSA4S8TPl70Z_Lf8fk_AOdUMe2VXUtul657tXHHXPpr9a94P7jCWhG-moWCm5NubmouqQsGyrwO077LFqwVpqf76QL2fhrM-Z3gJOANAGTJTBNcMF-CDy0Vkqd0E6yE2XYfbf4bC_Lr_nI-SPuBODJnfzAnZTS8ofu2F7_pa8o20ot9uQLd149-4P-eOLJn-Ign1KR5N_x51JsKHv-__MqcE9eLWbSTKBY8Ay-C-aX8DOX3vTltRNRS62L_HILvqH3ul7hxQSZIkp4HM-g1l98v_1O4sM4v21exwHsJZY4PsQWzc9gX4VN0DIfxqY_gSyaGTI-QM6LOpkhq1kSz-Avdu00Xv8tcI82ge9n1Wz4IQ0WmV95tFKJl4CyLbVhOjqYkQ7XTb4usTfyMD0wkmQoh34bGbL6_Y1xIG4yNI0zfLAHwCUvP7hlCV0mwcO1fylSBO_ufJ-7zlHr7vagHzEh0pmJ_MD9FPMMDuI_E4AYYZ4NapXfkwjuezFjRTh7EPu5enFK9LCDD8J2fsAmFSQ8q2leMkJQSklDSIoQz_KkLiitWZKyOs84qjOAqgsHZQcptIIJ7aAVGys6rxPBC-i2Ut9DGV7Rxj9V1PM8Srf9hcOWGBdxUkbDMdoRP054mZT0SBzHeYriBBdZerQ9xiUqc4JTRGvS4DzDCNMkKzMeF7lgOT2SxxjhDGEcxyhO4zRKKWUpiUvSFASJBoEUiR2VKvIgkbGbo4Bw7O1nxVE45uvGI-xw3rMyevVAld9KY4BPAcZj8i8X2uGU2x6P33DTgRQp2blusuOkU-Fw_MZ3yM7-xGnYUW_V8a99hKw4ejjG_wsAAP__kFsPwA">