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

    <tr>
        <th>Summary</th>
        <td>
            AArch64 backend Assertion failed: ((EltVT.getSizeInBits() >= 64 || (uint64_t)((int64_t)Val >> EltVT.getSizeInBits()) + 1 < 2) && "getConstant with a uint64_t value that doesn't fit in the type!"), function getConstant, file SelectionDAG.cpp, line 1533
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AArch64,
            crash-on-valid
      </td>
    </tr>

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

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

<pre>
    this relates to https://github.com/llvm/llvm-project/issues/50410 and https://github.com/llvm/llvm-project/issues/35779 but looks like it's on a different line so reporting separately

this function: 
```llvm
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-linux-gnu"

define i8 @f() {
  %1 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 0, i8 1)
  %2 = extractvalue { i8, i1 } %1, 1
  %3 = zext i1 %2 to i8
  %4 = shl i8 -1, %3
  %5 = lshr i8 1, %4
  %6 = icmp uge i8 %5, 1
  %7 = sext i1 %6 to i8
  %8 = zext i1 %2 to i8
  %9 = icmp uge i8 %7, %8
  %10 = sext i1 %9 to i8
  ret i8 %10
}

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare { i8, i1 } @llvm.uadd.with.overflow.i8(i8, i8) #0

attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
```

causes the backend to assert out:
```
Johns-MacBook-Pro:tmp regehr$ llc --march=aarch64 reduced.ll
Assertion failed: ((EltVT.getSizeInBits() >= 64 || (uint64_t)((int64_t)Val >> EltVT.getSizeInBits()) + 1 < 2) && "getConstant with a uint64_t value that doesn't fit in the type!"), function getConstant, file SelectionDAG.cpp, line 1533.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: llc --march=aarch64 reduced.ll
1.      Running pass 'Function Pass Manager' on module 'reduced.ll'.
2.      Running pass 'AArch64 Instruction Selection' on function '@f'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVMSupport.dylib        0x0000000108859708 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 libLLVMSupport.dylib        0x000000010885858c llvm::sys::RunSignalHandlers() + 112
2  libLLVMSupport.dylib        0x0000000108859d94 SignalHandler(int) + 344
3  libsystem_platform.dylib    0x00000001876742a4 _sigtramp + 56
4  libsystem_pthread.dylib     0x0000000187645cec pthread_kill + 288
5  libsystem_c.dylib           0x000000018757e2c8 abort + 180
6 libsystem_c.dylib           0x000000018757d620 err + 0
7 libLLVMSelectionDAG.dylib   0x000000010812054c llvm::SelectionDAG::getVPZExtOrTrunc(llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue) (.cold.1) + 0
8 libLLVMSelectionDAG.dylib   0x00000001080141a4 llvm::SelectionDAG::getConstant(unsigned long long, llvm::SDLoc const&, llvm::EVT, bool, bool) + 540
9  libLLVMAArch64CodeGen.dylib 0x0000000102076e2c llvm::AArch64TargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const + 44772
10 libLLVMSelectionDAG.dylib   0x0000000107e050f0 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) + 168
11 libLLVMSelectionDAG.dylib   0x0000000107e02284 llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AAResults*, llvm::CodeGenOpt::Level) + 1656
12 libLLVMSelectionDAG.dylib 0x0000000108075df0 llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1132
13 libLLVMSelectionDAG.dylib   0x0000000108074968 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 5704
14 libLLVMSelectionDAG.dylib   0x0000000108071474 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1860
15 libLLVMCodeGen.dylib        0x000000010906cb2c llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 616
16 libLLVMCore.dylib           0x000000010a0f5e38 llvm::FPPassManager::runOnFunction(llvm::Function&) + 704
17 libLLVMCore.dylib           0x000000010a0fcb68 llvm::FPPassManager::runOnModule(llvm::Module&) + 60
18 libLLVMCore.dylib 0x000000010a0f640c llvm::legacy::PassManagerImpl::run(llvm::Module&) + 764
19 llc                         0x0000000100a55208 compileModule(char**, llvm::LLVMContext&) + 5672
20 llc 0x0000000100a53594 main + 1128
21 dyld 0x000000018731be50 start + 2544
Abort trap: 6
Johns-MacBook-Pro:tmp regehr$ 
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWEtv2zoW_jXM5sAGRT29yEJ53dtBMg3qIMDcTUBLxzYnFGmQVBL31w9ISbaUum0yd5ZjtHZFncd3Xh_JcmvFRiGek_SCpFdnvHVbbc4NbnBrzla63p-7rbBgUHKHFpyGrXM7S-KSsBvCbjbCbdvVvNINYTdSvgw_s53R_8bKEXYjrG3REnaT0iSiwFX9N2zEaZ4vYNU6kFo_W5DiGUE4wnILWgGHWqzXaFA5kEIhWA0Gd9o4oTZgcccNdyj3hF4RWnbfIcB1qyontCJxCf3LjHZ_AqJOkpsNOqi545LvdeuAxFdAGMNZQ-ISZ6Igcen_xmwmoozEZfjyT1lC4jJLZiJiXiBixUzFrFtb-jXGJk6cETuJgwPOTbXNkpkUqn2bbVR7EO--a1z7aEUBJKFr4s0tgOQX3VsAwtIo2Kq4lP4FiIKwSxARkPzKK_ko5y2v6_mrcNu5fkGzlvp17uUKUQAN4gVEhC1GVlmwim_O8Mq9cNniCessjfxjNNKLg953fHNByhty2qsdRZIgYrfSu50FC15xJJEGCWm3pkcWJJKRRBYkRNXsoN10-WFp-h5M3nk6gsl-AFP8Hu_ilK-8BzUWjOh7f4upMYOuV49oX-X8alxuEl_ATd-xUDpn_DCB0r66K149g9JrgwhK272qQOlWvQpVg91h1Uru-EoivAopDbrWKGiw0WZPWKG0wkOBa6wkN6cK-tt26ZolNCGL6Rg6d86IVevJxL_qGjy_-B-Ch2OyhhEeA6h4az2TbRG8N1S1Tz63Fo0D3TpPS6e0_6G3ys7ueHWh9fPs3mgSl67ZQceVhCUgZQWzWeNHlcRX_ciCwbqtsJ5L2dkpgydfuDUXEuvAOH5gi2vpHh_mG3RL8R2_qAvh7DDJ8bXPU5YAyS9J7juqaIVyWfLkfLmC-vH5kctO5Rp-arOrzQV4WrgE1j1mhGWebjboLrWyjisHvr7AYXAH3ZC7LXdQa7SKsNzBWjgQKiTV7XdIWOQJynu5PFArjKyGdSERligxvL0q_5hXu51_EYg7SuN43mXs_va6XF6DbVeNcMBh1W56Uv97-1HYioSqZFtjgF4ZbrehKzydYe9-6XxT1m2zO7QGnRO6uDd6Y3gD3GzaBpULM_ixHoi8_rdWKb8r7bj1s5AfBvreL9xxxTdoCMv9vtbouvW7ActHpljeI2SnzJVl5_uLss60neVDtnuzh9IQlncbR_4-5lB_v9XZfbPSEhRvwugWqGxrEPa6hS1_QQhZ7oTEdzS-Hfa6NXBfPvwJ2oD1m9oWAdWLMFr5jMELN0Ayenv7ePe0_NfdxdfbL39df3vyKiSjvro7LVQoswiNfigAgBQrr7dsd74T5vVeihX0H_pGu09EiyJd5LQI8Lx6XNq97f5xb4RyIdIHX27CiqOQ4a9P2jqDvAljcQnCd203M2nWl_ETIIq0qE6B-NaqpdgoLv_kqpZoDiPvZzPqN3n2qXDrRQITmx05DFbjpN8h42DV7q3D5mknuVtr0xwtH60WeZYnjCfwZMXGGd7sJmlIJnbc1iCvRwAndpK0wgp6oadn4U8j7AJY0W9-6dhWNQ3zna00R1YVwFeeCEK6ip6qs0_YqDNGAY0JFnr9_JDtMTsNdsbZjhhNk3Fdxxrdygbd4_1f12_uq3kwraombba8utUVVJ4V-zY7vrt-fJguLK8ePfd-ZtFXvJhXWtbzaKh_H2Tx4SBplEQ8-V2QR2ovWhVuFTVIrTbh6z2830a90loef_uxS3roi8M49CR3qWv8A1WPfoSd0TxDNi5Qr_EQTtm3-hWNUJueD9D4Cbgq_7jUzUoofFeqf-oaCSuneE8ZOlowX9RahxgXXbwhkCTJ836yI_rRMuRIU7qmvqBcabVvdGs7Nt4F8lr84LtbqH4dS880WT9_UfQJPIwVv26LU3ns127xBeU0lWX5DW0r_QnlXZL7-n7due65Vx6wH_iY_QL8pKPztF7Tn0D_skQ5cVuq-roRzkc15uZ4KGH88UnKk0VW_NZvt1pKecGtqC6krp7tJIeHo8JxhvoRyWlP7lHyCVRRkv-skEdUplVf1R2vtkLhAGCC6od3B1hRMZyio3SANZ3ZH3eyBc2q1WR039n3x6QRspOQTmDJoqFbsiMUg7_YJiin6xTjcd1u7r334Yz2eRDHMuWfAFGtso-AuAuHxWlp-qVjFoZ6FCf8T71mCR1XQeKGV_ueMY_-vzS7Y5_82neeDcEvwnn5Z58RDMrTlNECKt3shMRDhNWWm8AW7wijC0g5fJtMRzbQLqPB89RDnC4SaLhQw-Gr50QWQb2X9eTgEEcrTClYx_vDB0uHY1UZDiTOcH9fgOyjt8d3l86z-jyuF_GCn-F5lOVpGqc0W5xtz9c51osoSfMkpXTFkqSu1lFS8bSqKa0TdibOGWUxZTSJCpawxXxNY1pVUVbXVUYpXZOEYsOFnIdLvDabs3AlOs9oGtMzyVcobfgPQcb6G_Jx3wzXukvCWLgrzbSavXApar-cXp2Z83ALWLUbSxIqhXX26MQJJ_F8uJYMd-__X4c_fB0-a408_--vu6G8_wkAAP__QHB3iw">