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

    <tr>
        <th>Summary</th>
        <td>
            llc crash while trying to process division of really big integers
        </td>
    </tr>

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

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

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

<pre>
    I created a .ll file that tries to do arithmetic on 1149-bit integers, and llc (12.0.1 on x86-64) crashed on it:

```
della ~ >llc ints1149b.ll
LLVM ERROR: Unsupported library call operation!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: llc ints1149b.ll
1.      Running pass 'Function Pass Manager' on module 'ints1149b.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@func1'
 #0 0x00001508951f2a00 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-12.so+0xb4fa00)
 #1 0x00001508951f05c4 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-12.so+0xb4d5c4)
 #2 0x00001508951f1155 (/lib64/libLLVM-12.so+0xb4e155)
 #3 0x0000150894495c20 __restore_rt (/lib64/libpthread.so.0+0x12c20)
 #4 0x00001508937c637f raise (/lib64/libc.so.6+0x3737f)
 #5 0x00001508937b0db5 abort (/lib64/libc.so.6+0x21db5)
 #6 0x000015089513a62a llvm::report_fatal_error(llvm::Twine const&, bool) (/lib64/libLLVM-12.so+0xa9762a)
 #7 0x000015089513a75e (/lib64/libLLVM-12.so+0xa9775e)
 #8 0x0000150895a40078 llvm::TargetLowering::makeLibCall(llvm::SelectionDAG&, llvm::RTLIB::Libcall, llvm::EVT, llvm::ArrayRef<llvm::SDValue>, llvm::TargetLowering::MakeLibCallOptions, llvm::SDLoc const&, llvm::SDValue) const (/lib64/libLLVM-12.so+0x139d078)
 #9 0x00001508958ed04b (/lib64/libLLVM-12.so+0x124a04b)
#10 0x00001508959014ad (/lib64/libLLVM-12.so+0x125e4ad)
#11 0x000015089590b6fc (/lib64/libLLVM-12.so+0x12686fc)
#12 0x000015089590be6d llvm::SelectionDAG::LegalizeTypes() (/lib64/libLLVM-12.so+0x1268e6d)
#13 0x00001508959ff7e4 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/lib64/libLLVM-12.so+0x135c7e4)
#14 0x0000150895a02ce2 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/lib64/libLLVM-12.so+0x135fce2)
#15 0x0000150895a052e0 (/lib64/libLLVM-12.so+0x13622e0)
#16 0x0000150896dc8ddc (/lib64/libLLVM-12.so+0x2725ddc)
#17 0x000015089557d542 (/lib64/libLLVM-12.so+0xeda542)
#18 0x0000150895322c4b llvm::FPPassManager::runOnFunction(llvm::Function&) (/lib64/libLLVM-12.so+0xc7fc4b)
#19 0x000015089532338b llvm::FPPassManager::runOnModule(llvm::Module&) (/lib64/libLLVM-12.so+0xc8038b)
#20 0x0000150895321fbd llvm::legacy::PassManagerImpl::run(llvm::Module&) (/lib64/libLLVM-12.so+0xc7efbd)
#21 0x000055b3fd970e89 (/usr/bin/llc+0x16e89)
#22 0x000055b3fd968402 main (/usr/bin/llc+0xe402)
#23 0x00001508937b2493 __libc_start_main (/lib64/libc.so.6+0x23493)
#24 0x000055b3fd9689ee _start (/usr/bin/llc+0xe9ee)
Aborted (core dumped)
```

The source .ll file is:

```
; ModuleID = 'ints.c'
source_filename = "ints.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str = private unnamed_addr constant [12 x i8] c"Result: %d\0A\00", align 1

; Function Attrs: noinline nounwind optnone uwtable
define dso_local i1149 @func1(i1149 %0, i1149 %1) #0 {
  %3 = alloca i1149, align 4
  %4 = alloca i1149, align 4
  store i1149 %0, i1149* %3, align 4
  store i1149 %1, i1149* %4, align 4
  %5 = load i1149, i1149* %3, align 4
  %6 = load i1149, i1149* %4, align 4
  %7 = add nsw i1149 %5, %6
  %8 = sdiv i1149 %7, 5234239078230548934752534259072509343547809523485494893827374950675843473
  ret i1149 %8
}

; Function Attrs: noinline nounwind optnone uwtable
define dso_local i32 @main() #0 {
  %1 = alloca i1149, align 4
  %2 = call i1149 @func1(i1149 4, i1149 7)
  store i1149 %2, i1149* %1, align 4
  %3 = load i1149, i1149* %1, align 4
  %4 = trunc i1149 %3 to i16
  %5 = sext i16 %4 to i32
  %6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 %5)
  ret i32 0
}

declare dso_local i32 @printf(i8*, ...) #1

attributes #0 = { noinline nounwind optnone uwtable "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }

!llvm.module.flags = !{!0}
!llvm.ident = !{!1}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{!"clang version 12.0.1 (Red Hat 12.0.1-2.module+el8.5.0+12651+6a7729ff)"}
```

BTW, addition and multiplication seemed to work.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWVlv2zoW_jXOCyFDolY_5MFZem-AFC2S3M68GZRIObyVJYGUsvTXz0dKtkXHqQ0MZuZl0kKmqMPvLDw8i5Q3_P3yjhRKsE5wwsi8qkgpK0G6Z9aRTkmhSdcQ3hCmZPe8EZ0sSFOTIIgWXi47IutOrIXSM3pNWM1JVRVkRrOAzv15YCjfssRLohldgAvTz-CCSdnNwuXMv5n522vij__tLRdVxcgsvSWz8NZAgo02PHMIOJDc3__4Sm4fHr49AIr8Veu-bRtltKhkrph6JwWDMk0rFOtkU89oMCz8fn-7fLwlus83kJ-RvF8TJcxao-lz17XaCEe_4D-eaXB82cwbtca9VVHWRdVzYyIx6ERyVvzsFCvEfGDx2GGC8H7T7tT058T-fVfNWrENzLnuNwJaGemPaxiMSx76upb1mrRMa9g2_dLXhdGIfDcTX1nNsAGYN4bdNLzH7uHOwaPpKBn9BPOfWUJuln94MDd-yF2tO9UPXB5FJYrBgpZFuWWP-1nkm9vADC0-JkOf-G8-_oLYzxZxUFLm-8QY0RgjXOp3PQy-K8hoTfVkbAev2RMp9rpqIINgmxlNjHOB1jgRqLAP2GLjU-bX-IEHd9PNjF75b3lUgh0o9_IEB_L4cREdkwc2eZTrmlV_Ypcr69PZeSw5EB2W9IBlEMTxGTgCZA5OOMWJokVcUJ-sVkrorlFiBZf9ANp2z7AaB-jct7ABxSIHNZqihmmRhGlJFJNafIQrDFBigcIUdA5Q7ALlPs9jwvLmmFwTIBqAzgFKXHuFLKFsskXD8VyVrGPVSijVKMdZnl5ljaPYwGlHZ8mbpjpn69giBSdHlPRQlDQ-YpaPOCBzcDIHh0W-n2YTlZ4QAER337wKnIL1MLdhP8W9zK-ZObET_XYnEEdzVHD_8OHp_u5qGGJtYddOn9_-eHInlkqx9wdRzsLrCYubH6zqBY6_S3xMzK97Mb-1Riztrnm8uW8KZzs-8jHpwBCctGwQLjgs55h24Zg2E9yP8tNANGKg2wGZwOBGqoUfRIyfARQL0DlAwQFQnpTFGUBJBjoHiB4CiYSTTzxh2HOxZpX8JZ7eW3FuwDKMgeswDl3GZZmK6BPGd7gZZq8bLv4Q9bLmt8il1jvPEyCMC-A7AkTuefFpIehJAYbZZVVdMS2Lq6opfmrn6Oxy5d4dzxKvBHdHvPhAvJgK_wyghILOAXJCXcKLjPPTrkJTGoPOAXIDVZzyOKIngQRnIHNw3EAVUlrgNE0s-N2UGdsqYwjHff2t3lr2qLnPNHSRlsXBkVwcSBOG2TnSfLV1jyPLduo8STIfjKaSUP9AkqDMp0exwsEr3sdKZi_T3aatdnL9G_KkAuwcebYxJo7zsOSL1BfZFqfXyhSrsjZYVTH4XoLnDgB1AZIs8inZMFn_BkWAxgEJD1I-jRYhKhKT4Fe6Y8jSE8RP0n-INQ5odCjZQggywP1ONlDtYJb5UPyDvEBpZItvMTGg218M1ycU8LrpVSH2fY_Uv-9MZuEVGXby7gbNyc221J4Xuxp4gFwZuJptxEhFt1R0oOpsZiXc1DTsvem7LZ3wjMMIr6Wpj0FI7cXcBu6tGcG85uLJ7aDMzKKAZl6dmUGyXYNnj4GxpcsfLV5b7WREs7YCYV__rJvX2qtk3b9567rfrRqvkT9HcW5XtUq-oHkkaCigLF8xztUQbVkNneIr5LQ3IrNZfEOM9g9C95Vp_8Av5rP4GnC4-IaF6SErlOAkcLjB5Ls4vuw6ZXumupF1Zeq-uulrFIDoK9uubjDRv3Ysx0kbO8nSEHHdrJAdWEWkaYrIvnHJxgka-7bN2N4FwzFFNzNLr8baw8yHVmvUPkAbqPdiRxO66Bw6W8aTIxLMqLVPeHpNcLgmOi5PbOWpGlQ4O2lOscJ0cmLZJ9zSQXvOSa1f98LGhtqgTkgzS6q5fNnTpYYuRqBAsYfqD7sQRwg3URpD0IiiMEJC9DERxlGa-QtDmsXRwhBlFH0KWiU_SeMswppwy0zB33csstG50pv_oK-hEYSnmYi4q4w-OFRwpkNRS2dfanziw9HegdN9wXzoMPRwC4Pj_MITO__JssHvO2S_Ys8zNK9WZJB88Ect3syeJMNKQxTSD9436Bza6gaBhC4N5_l8bg0a-a15j1BunxFENVSF5t1KixAl6xx7xrXNI9NgZD3RnViSMbBZVRNkpclg0N8KMW3SB6cyDf9Rf-KiqJg64hOu0FOFUARNERicUOZ9J_ToPCZSp1enfdLEcy61GXodk5VnzKhNmA2hKy1ZpZE-jT60VAjdXtuYl3lqR2FbSfu8Elp7rRKF1MIr243pfo7AbCRShulHvBdU5Y3yXiXvnnek_khWN56sSw0gb8Mmz6dQoPkbGdyzmhwXGiQ1q0_CaDio4N4voZqTtJ1ibYs-1yWCL29ptHlbBUs03aBg3pelUODxS-zIs5F2SLBe0fa7R9t3odPnpWBdryY6orYp3gByjUH5ZuoeM9ps3oaBNgKPAzqM3rJ0i9nXwuG4FjU692J83NealeK3Vuixw7opIRdOfneEZOvfrl8GO7_8r3vdme70f1_53_nKttIP7Kv04R31vKzYWo-FZ2BSIg38_YqRVnJRdy5R8BHWn1CY-BoMZQZ-6GvxzNRqa_QxhEdTPoELDzKE7HpNXoTSpgoYP2UgVD-gv_iTdeOMR0dNYFVRZfPYvm8NaGIy41XC0pQuSvu-FIx3_I71IVdP_7C5lHNp6w7zkWGDIhmVuSzsxwvkSWQ0bhLka6N-ji_zL_hlyBfhgl10sqvEpfmMMHyQeH2233DUu3nHj0XwwgKniaDIklappkTiwlF7J7lc7z7iXPSqunS_gKxl99zn86LZ2M7rZftjHPtvODZupda98ckvcZIE8cXzJZJeGNOIioiFSZznPgqVIM9Z6fOFoFF5UbFcVPoS6decJYEC0UAYO8U3F_KS-kgWabDAvyTK5hHNORdJEQRJGPFQIHsKlFTV7sPMhbq0IpmvNXhYSd3tv9pcoDc3x1pYdsBnfffcqEte5Yr1ddtfWOaXVvh_AQi0g-s">