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

    <tr>
        <th>Summary</th>
        <td>
            clang-17 crashes at llvm::SelectionDAG::getNode
        </td>
    </tr>

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

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

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

<pre>
    Testcase to trigger this crash:
```
struct bfloat2 {
  __bf16 a;
  __bf16 b;
};

struct bfloat2 h2(__bf16 a, __bf16 b) {
  struct bfloat2 x;
  x.a = a;
  x.b = b;
  return x;
}
```

When compile it with `clang-17 -O0`, `clang-17` produces the following output:
```
$ clang-17 -O0 small.c
clang-17: /home/xfou/llvm-project-trunk/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:5598: llvm::SDValue llvm::SelectionDAG::getNode(unsigned int, const llvm::SDLoc&, llvm::EVT, llvm::SDValue, llvm::SDNodeFlags): Assertion `VT.isVector() == Operand.getValueType().isVector() && "ANY_EXTEND result type type should be vector iff the operand " "type is vector!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /home/xfou/disk/llvm-project-trunk.obj/bin/clang-17 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name small.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/home/xfou/bugs/8 -resource-dir /home/xfou/disk/llvm-project-trunk.obj/lib/clang/17 -internal-isystem /home/xfou/disk/llvm-project-trunk.obj/lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -fdebug-compilation-dir=/home/xfou/bugs/8 -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-2538b1.o -x c small.c
1. <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'small.c'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@h2'
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.so.17git       0x00007f6c452e967c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 60
1 libLLVMSupport.so.17git       0x00007f6c452e75e4 llvm::sys::RunSignalHandlers() + 52
2  libLLVMSupport.so.17git 0x00007f6c452e7766
3  libc.so.6 0x00007f6c42efd520
4  libc.so.6                     0x00007f6c42f51a7c pthread_kill + 300
5  libc.so.6                     0x00007f6c42efd476 raise + 22
6  libc.so.6                     0x00007f6c42ee37f3 abort + 211
7  libc.so.6                     0x00007f6c42ee371b
8  libc.so.6 0x00007f6c42ef4e96
9  libLLVMSelectionDAG.so.17git 0x00007f6c4298a908 llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDNodeFlags) + 9544
10 libLLVMSelectionDAG.so.17git  0x00007f6c4298b5e4 llvm::SelectionDAG::getAnyExtOrTrunc(llvm::SDValue, llvm::SDLoc const&, llvm::EVT) + 276
11 libLLVMSelectionDAG.so.17git  0x00007f6c428f23c5
12 libLLVMSelectionDAG.so.17git  0x00007f6c429424fd llvm::SelectionDAGBuilder::visitRet(llvm::ReturnInst const&) + 4813
13 libLLVMSelectionDAG.so.17git  0x00007f6c42945b92 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 1250
14 libLLVMSelectionDAG.so.17git  0x00007f6c429cc028 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&) + 248
15 libLLVMSelectionDAG.so.17git  0x00007f6c429ccedc llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 3388
16 libLLVMSelectionDAG.so.17git  0x00007f6c429ce919
17 libLLVMX86CodeGen.so.17git    0x00007f6c47d4ecf0
18 libLLVMCodeGen.so.17git       0x00007f6c46a06a07
19 libLLVMCore.so.17git 0x00007f6c463cbabe llvm::FPPassManager::runOnFunction(llvm::Function&) + 766
20 libLLVMCore.so.17git          0x00007f6c463cbd09 llvm::FPPassManager::runOnModule(llvm::Module&) + 57
21 libLLVMCore.so.17git          0x00007f6c463cc57d llvm::legacy::PassManagerImpl::run(llvm::Module&) + 909
22 libclangCodeGen.so.17git      0x00007f6c43c01482 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) + 4482
23 libclangCodeGen.so.17git      0x00007f6c44060e83
24 libclangParse.so.17git 0x00007f6c40d49ad9 clang::ParseAST(clang::Sema&, bool, bool) + 1145
25 libclangFrontend.so.17git     0x00007f6c436e94d9 clang::FrontendAction::Execute() + 201
26 libclangFrontend.so.17git 0x00007f6c43672b26 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 342
27 libclangFrontendTool.so.17git 0x00007f6c435d2cf4 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 468
28 clang-17                      0x000055b467d20744 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 2244
29 clang-17 0x000055b467d1b1d3
30 clang-17                      0x000055b467d1c591 clang_main(int, char**, llvm::ToolContext const&) + 4641
31 clang-17 0x000055b467d178f3 main + 51
32 libc.so.6 0x00007f6c42ee4d90
33 libc.so.6                     0x00007f6c42ee4e40 __libc_start_main + 128
34 clang-17 0x000055b467d17935 _start + 37
clang-17: error: unable to execute command: Aborted
clang-17: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 17.0.0 (wierton@114.212.81.121:~/llvm-project-trunk 806dea46be4c49dc587b98dab5e4d9d242a6abdb)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang-17: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-17: note: diagnostic msg: /tmp/small-e6c57d.c
clang-17: note: diagnostic msg: /tmp/small-e6c57d.sh
clang-17: note: diagnostic msg:

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMWUtz27iW_jX0BkUVCb4XXsiWlKTKiV22Jt13NioQOKTQIQEOAPoxi_ntUwApiZLlJLrdi5tybAk4jw84TwBEa14LgGsvufGSxRXpzVaq6xcOykhxVUr2dr0GbSjRgIxERvG6BoXMlmtEFdFbL5p7wcIL5l4ajD_uqzaqpwaVVSOJwcjLboZxhDabsgpTRLzodKjcD3nZ4vD5nLwt9nC-l4RvDyJwMVV2wvY6Ufo6I8iLFkdAXmelGysnYwpMr8SE1YI7t-Th9x9bEIjKtuMNIG7QCzdb5KUBbYio_TBD_r1jwbfTUS8NUKck6yloZLaAKtk08oWLGsnedL35aJ89HKOpaKRb0jQzOszuxUdz5OHVVrbg4dVrJXsPr5rmufU7Jf8CanyjevFjHLR_eOnh1a1k8AmEh1dP0AA1XIrF_NPJ1xntOi-aJ0mRWzVOQDT3ovnT4jtpepiOTKW4kRrMN8nAw3kvnCsyxIWxm0Ol0OZI2p2kHk7t3GF0-X19PDAqPR20SlYNqbWHC4tyrjUoi8Qa4ft6xvV3oEYqD-fOg6KFdYP7DhQRbFaDcVLXbx0MFO8YLLAUeRjPv_1rs_xzvfy2QAp03xhk3joYfumt7BuGSkDPjhnxqnLWloMiy2__O2KuRyoPhx7GHs5QRXgDbDbY9uFuOX9aIt2XLTeIoLKvkYJOKmMjdWtMp-3q8crDq5qbbV_OqGwnJp6Y38MrrnUP2sMrZIFwQZuegQPn4hyVhP4wilC3tZ2CTkkKWgNDWvZqGLacRGtJOTHAkOoF0lTxzoyQnwyhPxDr227vzsEMuX8PStaKtIioum9BGH3WZRnXP8567kyWf3l4VXLrrId4oDREvlG8awC95ukmjf1e_BDyRfgNF_2rX4se-dBy48vyL-S3Chry6pOmQb6FybhCxEc-45qUDfiVAkA-bYAon2jjl1BJBb7dGxAM-S3hwq94A74gLexicZArKbEO57eSQYM6TpHfceo38AwNwsMXrv2OA_LbSpEW_E5yYUB50cIhqlpitj4oJSTyq6rzqRTWJMaLFlIgvxLSV7IXjIvat7TIb10Y2RwolU8aTjRo5Fe9eOGC-cYuSnvRAiPfEFWD8WnX253y0xj5phfgBmoQoCxgBmVvC4Cd4qL2okXNSuRXVD6DIjX4Q-IbFsq4Rf7OhmVvo3CVI1_B4DqW8nJbDynK2drDK2ttt1mCND7Xb9pA-_dl2rgYI-Gs9F4ryyUpaX6PdHDQ2Wyvq6bUwht8c--TVjneEZ78OkP7XjG82g_0PYCR9Iycn3NfrsJVI79yLnOZX1SglFR-w21iCwvkV7Xoqf8MSnMpvGgRz_AsdG7XSOUzTmohteHUujZhTGleI3-x2Xy6vd18nn9fbhZ_zB9XeHO7-rKZP331okWIfGkRm7bz8MrFqY-TKC_DmUT-K6LHdTScIS-6BVl50RJ1RGlQiBhkY15WyAb8QIfHbGYL5xA1bsnDZDROPvbCBg_qiNbIw9mqF64oogc78JUIUoOy6V4K1ErWN2CpdnhwNibT-ANxf-YpWsw_-V60XMw_oS9j_FsF-_o7Sq92mj2ceXFgm6rsNFO7Bkb2Bum3tpQNsonN6slB6F4BepM92pLnocz7AxH_X1CICzun0MN8_RlJhTQYV05APHMlhU3y6JkoW4Dv7r5_3Tz96-vN_d2X_14-biyL7YiMRC4F2g_cDKV7LBuo4aVle-o7W_JmWs7CrOZm2BMUvAZBEGRVSuMEQ5FmdNIO6Dc9fHhQXBi31PVQ2fIDkSIvG6mNAtKOXYdrTGypv0G77iu8CEaWQHwOxmMvnngtSPOZCNaA0vum4gYlePQs9KGqEyVZmo7-5lioJUynRBgqluBxBfGU6Ny_KWOVhCSjqDNbBYRtfvCmcSCjYJSWXCINKhZnKVKEa3Bi8LjW9CIpEGVVhEhpGx8nJQwHMdmlYsJyYMw_3rgYinF3i4NBps3wOavgIidFkP-bjfBJCzw0xv9II-y2q0jieHTm4OcrOllSeezNZ5c0F2_LV3Ov1qoX9Ci8PoD3iwUOkHE22iAML0CcVziiyciIL1lqjOOKfbDUm543zLZoduKZa24ewRyt9NGdH20anqxsWEich9EIKLoIUFIW-LcBHaGZloNTOCFOdnktvgQOpQH-yLu_PEEzHb0hmtObRtIfR7B4w7XZcGMLplRedHs6xcAQPkoSksFGdlaDPiKdLM46j1GDg1Wk0e7Ds-TMi5ZHY45oGPsPg1NK2Uysg-N8NE5ymXGA0d80zrxpDvbRRwbaNymnThNF-Q5XehEuKMJiZMx2jH_m6XjncFRJJ4wZi4FWOzfNd4znuI4ZUxKkJBjbm7A4MCo4m7TTiJaknN5erB5sg7brz4YmoRf3Yrc1Z_drslP7woyD89rPFSYLgwXFb8D46lrFIxC7oT2EZFw_Di9CQJNsmv8aqAl9G1uoA5Yvbdfs8fwcRxGMpscuEbsD13kTToBENAjjHA_XXWNRaLm5GQ7f98M1Gc4n04vDyWApai5grCoTks9AGKgnIIpu74cYPipAE9IR4C-o1u4c_QuiOyLqcySTMDWKi_oRquPh3U7OTwSOmzDfJ5tpFjKq1_wZHqG6FebBHOez52rsQle8gSd3lBvzjzZsmOkF_58eNt0Jp-2QuxfFDWx2ffKEiUFF-sZmygYM_IIxWjqdY1WM813TG_2-d8RBGkA-llMc7xkf7GntbIQHLC4IK6bb6IjnT-tjN3qClowGGnLy7u9YNsN4bCtwsle7UlIYEOwY8NSbUyjiY-07ntGKg4e_Au0NTE4EOBj7W5z-RNuRpgyXOD12ZXc_rWyFIoLCka6dE-UfQ5uk_3hnq-wdmrWUzXlECcO0io8iedB9APY83pcd43gH3EbC6DbpWIdwfrgR_0nfnyRlnGYMB1kcI0rDTUv4cdqaK0XebAhGt3RL1C5S52N8HI_t6vkBEMa7zhoXB0RHysMyZKPLRsElqEOaFOHAsMO9uzffEuVAzI_TgDXGrbXL65k-NI1Hn4rCj5BmeRUhq2ooJDt6_NFRCWJWjGU6ii46iMUQB2izsSwbbYgym73aEI82juIPcRZRgga-wUGz908h7n7JfugFKRv3sgWD_yEq25YI5t4I7JES2E_Y3SCqRnff8Y7X9Ij1TrJ2R3tkT3YakP_sxgAQn7h4MVGCxnsuFGazYBZYxvE9zouDMIxnOMSzPJyFOPSi-f-dvc5EeZAyIHFaQkzjgtEkz8oiZ8Qe2ljBcIxJSkpW7lUPZcsu6qN78pHOHf2Ru8S21J3U_HWYcjHZNMAWXI2394dLz3ebKKStCnN0uL1Dra4Pz1z4b_xMnuPGV5L5ej2__YzWn5dodX93d__Hl2-f0OrL3fIJre_d8M1_fUKPy4f7x_Uew8O5V47cnZw_fOnYEyhA7sofGCKH17vf2oHTi0lIbQN27k3vUhF6e7kh_ilz7N4tr9h1xIqoIFdwHaZ5EgdFHidX22taBAXJ0ziK4iIrcB7mBEdJHAZBnGRZSq_4NQ5wFCRREIQ4DuJZkGEMSZmyqkoZA-rFAbSENzMbETOp6iv3qnWd4qLIrhpSQqPdUzfGAl6Qm_Qw9pLFlbp2UeQuoePAnvH0QYrhpoHrfcJxD2KgETG_c6Vz1avm-t9_jnPY_z8AAP__6LWWXA">