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

    <tr>
        <th>Summary</th>
        <td>
            [Hexagon] Cannot handle call operand v8i1 (Regression)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    ## Description

Hexagon backend cannot handle call operand v8i1, v16i1, v32i1 anymore with latest LLVM.
The problem doesn't exist when using LLVM 14 / 15 release.

## Minimal Reproduction

https://godbolt.org/z/obdbYonah

### Code

```ll
define i32 @f() {
BB:
  %C = call i32 @f.1(<8 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true>)
  ret i32 %C
}

declare i32 @f.1(<8 x i1>)
```

### Stack Trace

```console
Call operand #0 has unhandled type v8i1
UNREACHABLE executed at /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp:134!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./llvm-project/build-debug/bin/llc -mtriple=hexagon ./crash-reports/dagisel-hexagon/1.ll
1.      Running pass 'Function Pass Manager' on module './crash-reports/dagisel-hexagon/1.ll'.
2.      Running pass 'Hexagon DAG->DAG Pattern Instruction Selection' on function '@f'
 #0 0x00000000047c438a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Support/Unix/Signals.inc:569:11
 #1 0x00000000047c453b PrintStackTraceSignalHandler(void*) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Support/Unix/Signals.inc:636:1
 #2 0x00000000047c2b76 llvm::sys::RunSignalHandlers() /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Support/Signals.cpp:104:5
 #3 0x00000000047c4c65 SignalHandler(int) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
 #4 0x00007f90918c9980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #5 0x00007f90907b9e87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #6 0x00007f90907bb7f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
 #7 0x00000000046ec2f0 llvm::install_out_of_memory_new_handler() /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Support/ErrorHandling.cpp:193:0
 #8 0x0000000003337626 llvm::CCState::AnalyzeCallOperands(llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp:136:3
 #9 0x0000000001df86d0 llvm::HexagonTargetLowering::LowerCall(llvm::TargetLowering::CallLoweringInfo&, llvm::SmallVectorImpl<llvm::SDValue>&) const /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp:0:12
#10 0x000000000444cf53 llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&) const /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:10086:15
#11 0x00000000044756e8 llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringInfo&, llvm::BasicBlock const*) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:7790:3
#12 0x00000000044547b3 llvm::SelectionDAGBuilder::LowerCallTo(llvm::CallBase const&, llvm::SDValue, bool, bool, llvm::BasicBlock const*) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:7920:14
#13 0x000000000443e00c llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8473:1
#14 0x0000000004432e67 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) /home/henry/aflplusplus-isel/llvm-project/llvm/include/llvm/IR/Instruction.def:209:1
#15 0x000000000443203f llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:1155:8
#16 0x0000000004527428 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:678:3
#17 0x0000000004526f6b llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1603:11
#18 0x0000000004524516 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:467:3
#19 0x0000000001dcd8be llvm::HexagonDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h:44:23
#20 0x0000000003585535 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:91:8
#21 0x0000000003c6cde6 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1430:23
#22 0x0000000003c71c12 llvm::FPPassManager::runOnModule(llvm::Module&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1476:16
#23 0x0000000003c6d6b9 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1545:23
#24 0x0000000003c6d22d llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:535:16
#25 0x0000000003c71ef1 llvm::legacy::PassManager::run(llvm::Module&) /home/henry/aflplusplus-isel/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1672:3
#26 0x0000000000d1edec compileModule(char**, llvm::LLVMContext&) /home/henry/aflplusplus-isel/llvm-project/llvm/tools/llc/llc.cpp:737:41
#27 0x0000000000d1d192 main /home/henry/aflplusplus-isel/llvm-project/llvm/tools/llc/llc.cpp:418:13
#28 0x00007f909079cc87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#29 0x0000000000d1c99a _start (./llvm-project/build-debug/bin/llc+0xd1c99a)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNWVtT47gS_jXhRZWULN8f8hASWDgFZyhgqDr7kpJtJfGuI6UsGZL59acl2fEFhmFnWBgqJLpZ-r7uVndLTkR2mI6ICx-0YDIt853KBR_hxQjP7PcF29O14Cih6d-MZyilnAuFNpRnBYNaUSCxYyVU0WOUOyMyR49OUBdckjuI8sNWlAw95WqDCqqYVOjq6uF6Yhe43zC0K0VSsC3KBJN8REKF2D6HYU8bxlElc742TyDHQyNyjhwflaxgVLJJF2pN5Drn-ZYW6JbBtFmVDhltlNrJkQvDz-GzFlkiCjUR5Rpq3-BfJFnyP8Hp5vncevq5yFivJ8D2UxS2IWOrnDOUuwSNPLwakWhEYjQKT2336ale2xQRsPHnaOQurCCbRyaOfsidR2iPQJLuGQyZgyRVWTEt1_crumeArQFTMmUhAKiaW7joUs1YWtCSfR_ncbKjUF6W4Z0Ca0L3JU1fFmUquBRF3Tfv2hg8jcH4JKq4NcEMqcOOWdszw7_-9_ZsNr-YnV6dgRWxtFIwhiptOBuxZfqH8fIAv3RV7IpK6v9xLlkBTUXxuB2D2fzFUlVX9U-ewLdW_B-M6xIgApucC_54JZ5YOUl3O1Cq43ojUqO4uTqb3Z0hWSXbXCGKkmoN8t2JUiEl0MAEYWNUySQV286SfSC5lBWT2va1EHKeFlXGkIKtk5ZUbszuVFqc9YawAs6q7e5obBi64ptSrEu6RbRcV1vGlQaBJs_XS6q8yMYZA9i6lnMzJEXjrQIfAZpxF5vaMeinDYix5adRZnStBTqux0CLM2m2h6Nx3Fac6129o1KCZsLzipt9im50wzXldM1KaEfQtIVNDK4Gav9gKT3YLEdeWq5xaovZH2MwW_iBhZViJUeXXMLOsGDuwMlY92GRrBqUULdbO6z3jjFLvMfNnxemnhtRZLQJGnBn8iBt4abMuTL6sfZPonZQSZ-WAtZnFGwgMBuVK-M9ftV476qdlhiUvvJ8rxvyNaeFnIAtwcJ-EGsDdlo6zpCO7yZogN3OcWH2IWgrehR5NiKzjwAcuIEG3OIlA7wkCYOXxA-m0IMtG__8foAbpLVXwJ4WcIvUHUo2DXw0FOUH6d3DYV-MXg0uXMU4dqI0jiOMlssSgjbE8GWp_Wh0nH0fBcvAG4MzrPbjNa9sx05twIKziRQTPCKneO8QmKUNNLCM310Gh0nMohCVFAihxvtoxwiTpeP5w3-e_kyOVTKBXUfOpeEBhYn2CqDejO20P6gsTWh4NGgAGfyaqSfG0iFOzXCLJBggScIVpCyJMEzfhkRlVhrmKbNINFgk7Kk8YClZ4Y5x5uBzIKQsRaWWYrXcMsiXDkvOnpabo0G8szWclaUojbmBX2wsNXb7sKMubNd1w4B099R8Dq5AMVuZgTYO35gOjV9srJY913YHKVnxAJhEebndFZA1tH2Xdwtb-FKpXaVmkIpBzqOTAFW7wUSIwlqe9i5QqLg2AJZZBznvoLp-uP9Bw3z-QIuZ1BPYhiuRXvKV6I86ggI45wVdy_vDcBpLXyOM30U9b8gwtNdzWw3FXQ052SoKsq5h1XHuHsI9U2YimLThDDW9TE9LL43Ug5oWK6agL4jXVHu3AFnXiaaWk9Xqr4vKAoXCxTHu16VLiNoN3FpsWIuOHJNQpx-qPS9d-S56XQhHcd2LnxPYuzFvjeSYnkD-Mqiear_Vmg3GkQmXfiuDfnz3Qj9gUVenzyezHYUmdskfxd8Ujmy_bjynVObpaSEgXa03_PvkDz8hpjCMcbu9tJD6SYXne2HivkVI37MW3QSEWc-3Pd8stcPr_v6eAouJ2VpeK7F-cuO5DOP0LRJ7zGWunrkj3aAT8o68Podp5IVumyhpot6AKGFB-Gairwawr5KV70W4Pim2DZe3-qs940wytoI1CY779PwhPeyu_gm9ThztHKg-W42O4_tamy3PoMfTJ6FHvucGdWDptrYbscc3L3KpljkcJikExF4wtF0ZUzSvZ-LAYSnMpZvsp0St1LR1NPc2K0jdTcEctXRQ7bQdb3S61vRbwLFe7APVrnVV6zwIo75TDwcqD1ZB8kaVz4z7rrXez2-PNxgfb-Mdsk6AjZ_q7ORoQNfzneCHdMuKf-HXNN3knDXMenSf9X0OXy8I-8odJMRpFiXseUIMk9yL34Lw63lsg3Oy0Vz1PQJpuZJeGuv6ke_Dufq7iPXNWofriyT_PXW-AKZWYez0PDLpJaZuGqQZ69rr-Y1-trkh_GA-JnpesTVNDx0Uzd7zXDzQEOlzCZ0UUsofc7k2N55986ubPoRHaA4LQcvDHegkCxKNIqJc6Jc7lUScbpncmfvMuEb8e5LzPX-gJG9IjpCso6TCzGTLnfnsSbdm9VlsYMMPNOUPLY6tnB-T-XQiThCSniMnvcQMZw7LWAqxdbvLC3Y0oXRDS3P-mfWTHv2ycC64Yvt3iMQKkhdpqqn9bk4_ro49XhtqSTjAnDkxQVua839jec_ReY3TEVnUv8qM0zQK0XKp7yqXUtFSLRssb7nWTKW-zjW3q7ZoOs085o7TNfEIt8vHA_ZpHFNkF9a-4u1vmcydsX3--QvFEzZ1giCCo7gXuCfZ1M1iN6YnKlcFm4780yaO-gs0f_1VtQZ1y9Ylk9KEiPikKovpz7-a82OM45PNNPOwD4lH4IZZgMHdZARHcRj72HNonMbpSUETVkgNFlCe5FOCCXHgaEIc4hF34uEVTXAC9GMvIbAvPMxAccVEL6zfU5-UU4MBxCahU2fxsu2k5mKTsWZ-WqmNKKcX9NsBsG5ODN6pAft_5a_pLw">