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

    <tr>
        <th>Summary</th>
        <td>
            [WebAssembly] Backend crash lowering simd code in wasm64 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:WebAssembly
      </td>
    </tr>

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

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

<pre>
    From the emscripten tests suite:

```
./test/runner wasm64.test_sse1 --skip-slow
ninja: Entering directory `/usr/local/google/home/sbc/dev/wasm/llvm-build'
ninja: no work to do.
Test suites:
['test_core']
Running test_core: (1 tests)
(checking sanity from test runner)
shared:INFO: (Emscripten: Running sanity checks)
test_sse1 (test_core.wasm64) ... fatal error: error in backend: Cannot select: t48: v4f32 = insert_vector_elt t46, t45, Constant:i64<0>
  t46: v4f32,ch = load<(dereferenceable load (s128) from %ir.__v.i)> t43, TargetFrameIndex:i64<44>, undef:i64
    t61: i64 = TargetFrameIndex<44>
    t3: i64 = undef
  t45: f32 = sint_to_fp t44
    t44: i32,ch = load<(dereferenceable load (s32) from %ir.__b.addr.i)> t43, TargetFrameIndex:i64<43>, undef:i64
      t62: i64 = TargetFrameIndex<43>
      t3: i64 = undef
  t2: i64 = Constant<0>
In function: _Z7convertv
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: /usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang++ -target wasm64-unknown-emscripten -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -disable-lsr -DEMSCRIPTEN -D__EMSCRIPTEN_major__=3 -D__EMSCRIPTEN_minor__=1 -D__EMSCRIPTEN_tiny__=21 -I/usr/local/google/home/sbc/dev/wasm/emscripten/cache/sysroot/include/SDL --sysroot=/usr/local/google/home/sbc/dev/wasm/emscripten/cache/sysroot -D__SSE__=1 -Xclang -iwithsysroot/include/compat -Werror -Wno-unused-command-line-argument -msimd128 -fno-lax-vector-conversions -I/usr/local/google/home/sbc/dev/wasm/emscripten/test/sse /usr/local/google/home/sbc/dev/wasm/emscripten/test/sse/test_sse1.cpp -c -o /tmp/emscripten_temp_p_aeh7uf/test_sse1_0.o
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/usr/local/google/home/sbc/dev/wasm/emscripten/test/sse/test_sse1.cpp'.
4.      Running pass 'WebAssembly Instruction Selection' on function '@_Z7convertv'
 #0 0x00007f89f70bba23 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.16git+0x1caa23)
 #1 0x00007f89f70b98ce llvm::sys::RunSignalHandlers() (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.16git+0x1c88ce)
 #2 0x00007f89f6fcc33f (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0
 #3 0x00007f89f6fcc2cf llvm::CrashRecoveryContext::HandleExit(int) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.16git+0xdb2cf)
 #4 0x00007f89f70b5e77 llvm::sys::Process::Exit(int, bool) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.16git+0x1c4e77)
 #5 0x0000557a17aabb72 (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0x12b72)
 #6 0x00007f89f6fe0b96 llvm::report_fatal_error(llvm::Twine const&, bool) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.16git+0xefb96)
 #7 0x00007f89f65c0901 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMSelectionDAG.so.16git+0x29c901)
 #8 0x00007f89f65bf9ac llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMSelectionDAG.so.16git+0x29b9ac)
 #9 0x00007f89fb1ec76f (anonymous namespace)::WebAssemblyDAGToDAGISel::Select(llvm::SDNode*) WebAssemblyISelDAGToDAG.cpp:0:0
#10 0x00007f89f65b52f5 llvm::SelectionDAGISel::DoInstructionSelection() (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMSelectionDAG.so.16git+0x2912f5)
#11 0x00007f89f65b41e3 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMSelectionDAG.so.16git+0x2901e3)
#12 0x00007f89f65b1876 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMSelectionDAG.so.16git+0x28d876)
#13 0x00007f89f65adf3a llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMSelectionDAG.so.16git+0x289f3a)
#14 0x00007f89fa2d0be7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCodeGen.so.16git+0x2e7be7)
#15 0x00007f89f7c810d7 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCore.so.16git+0x24a0d7)
#16 0x00007f89f7c89261 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCore.so.16git+0x252261)
#17 0x00007f89f7c81b75 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCore.so.16git+0x24ab75)
#18 0x00007f89fa94d501 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangCodeGen.so.16git+0xce501)
#19 0x00007f89fad4bdfe clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) crtstuff.c:0:0
#20 0x00007f89f47f244a clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libclangParse.so.16git+0x3644a)
#21 0x00007f89f973cc40 clang::FrontendAction::Execute() (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangFrontend.so.16git+0x148c40)
#22 0x00007f89f96aa0cf clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangFrontend.so.16git+0xb60cf)
#23 0x00007f89fb10ff72 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangFrontendTool.so.16git+0x3f72)
#24 0x0000557a17aab801 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0x12801)
#25 0x0000557a17aa964f ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#26 0x00007f89f93c2822 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_1>(long) Job.cpp:0:0
#27 0x00007f89f6fcc1bc llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.16git+0xdb1bc)
#28 0x00007f89f93c1eef clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.16git+0xc4eef)
#29 0x00007f89f938009f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.16git+0x8309f)
#30 0x00007f89f938034e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.16git+0x8334e)
#31 0x00007f89f939e7a0 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.16git+0xa17a0)
#32 0x0000557a17aa8d32 clang_main(int, char**) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0xfd32)
#33 0x00007f89f69bc81d __libc_start_main ./csu/../csu/libc-start.c:332:16
#34 0x0000557a17aa5f0a _start (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0xcf0a)
clang-16: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 16.0.0 (https://github.com/llvm/llvm-project.git ff06c2ded367d71eee6e879b4c9934af35d7a7e8)
Target: wasm64-unknown-emscripten
Thread model: posix
InstalledDir: /usr/local/google/home/sbc/dev/wasm/llvm-build/bin
clang-16: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-16: note: diagnostic msg: /tmp/test_sse1-0032e3.cpp
clang-16: note: diagnostic msg: /tmp/test_sse1-0032e3.sh
clang-16: note: diagnostic msg: 

********************
em++: error: '/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang++ -target wasm64-unknown-emscripten -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -disable-lsr -DEMSCRIPTEN -D__EMSCRIPTEN_major__=3 -D__EMSCRIPTEN_minor__=1 -D__EMSCRIPTEN_tiny__=21 -I/usr/local/google/home/sbc/dev/wasm/emscripten/cache/sysroot/include/SDL --sysroot=/usr/local/google/home/sbc/dev/wasm/emscripten/cache/sysroot -D__SSE__=1 -Xclang -iwithsysroot/include/compat -Werror -Wno-unused-command-line-argument -msimd128 -fno-lax-vector-conversions -I/usr/local/google/home/sbc/dev/wasm/emscripten/test/sse /usr/local/google/home/sbc/dev/wasm/emscripten/test/sse/test_sse1.cpp -c -o /tmp/emscripten_temp_p_aeh7uf/test_sse1_0.o' failed (returned 1)
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW1lz2zgS_jXyC0oqXuLx4AdZR-ItJ3ZFmsnuvrBAEJQ5oQgtSPr499MNkBJBy3GSsSep2kk5OoAG0F_fAKFEpI_nKyl2pL7lhO8qJvN9zUtS86quSNXkNR-5s5G1GFndq2-1f-rrZOSskBjeZFOWXJJ7Wu18b4KNcVVxm4zH1Zd8P64Kca_HlHn5B4VpybKsuczLLUlzyVkt5CPBiZ1VU0l4LQSjBbxvhdgWHD7cih2-VQmD15TfwSuuhqTF3W6cNHmRjpxgsEopyL2QX0gtSComunMD3Gl41RHf9AIGK76ZkBwnmi501yeAhnweO2HekRPaWlAjJ2qncEJ2y9kXpK1omdePJFPSxeW0fA601S2VPIWJLj-urtv5lgcNYEO3ajuTmvm41lHAMPDA2ESLH6jIZDIhGa1pQbiUQuKM6gPJS5JQ9oWXuDqZ07IUIAxegAqwofZCfLvzMtchI3cB9BWXdXynVBTzogYSf-TM4W2Kb3NRVjUtcXAOS7tza-QuNZNEkXazATG7VVMWgsLic-A85ZJn8L9knCYFVz2IqLKdEFEo-Y2caS4ncXw3yRG_u4RpXVx6Q-WW1ytJd_yyTPnDgQXPQx6AooHmrG1uWQKmfBuZgjbFzdNZ2vHHAW6fXs95ADjFvk5YVV7WcS3ibA89_SVxRpjiO6WA5AMhJBOapvLbJeF-TRIoC-clWbiGLL4uDWOyo2X0bOKyJFlTsjoXysrj_wZMlHdgYXe6_-ZqOVsvwTuTXV4TSpJmSyTfC1mjC9_W9V75rLPC0JDXt00yYaILAl0s2EvxB9qzs8qrqgEvd1aElinYMiualKt4xyStbpUr1JIyjjLaw0JSMA5-lZJKNFI340haVYLltIYO8GSiHbUNJ-saJiFps9sfookFXdGNFFuQJAGZNjte1pX2878W31ZJXsIrK2i5HTkQsy7IuFZaa2PvuCm_lOK-HPcC-jjLtyXEhzF_YHyPsq-g7S6v8iQvILqAtkCLtAHnHu9wNTIGocJKXI63hUhoMaZFTqsxLWnxWOWAZJHRouIH8jSv0HTHRSXJeLH8sJ5_urzZLD_Clzg-fo139A-IIjGMd5905WXbZQ-76rx8VD0OdF3-iAiPwkDhUYimSPdYSSGUmWjDgE_rxRXmrLbHXbz2Ygraer3sgP5baZKM83sw5lMMgSL2FIZ91uF7_LkUoOIGTBR1tAPjHBegqHFnZaCSKt-lEEBBxUBb0IexDt5j7WmVVv9fF2Ob-cFbfsiqn5mr_aKS24Tt92CKZCxwhRocrD8srvluH-9jym-DJuuPi62J0I5ooyNCAOIiw3C5pxKyGQF5Qv4jIiNZDlwqSgcp5wKiw5aD3VMVoVSPiz1dOt5DJABmglUbxMgNNnwAx9hieg8INO1E2hQolOAN5QKzt_HHO8XfZ57MgHSXFI_kEuKwbDS7a5XpEZvmtQvGilvP6sfjrpaCLtci1oMF_4IsjLLAShLquESFXAh57gwMV3-4gYquVgFxo6NqeCSS9D4WwAmnAFOVEECLCW6Eyf5VwuIEK9IiT_Tr1dXvH9bNHpPHpBIT24eEAQHTerAZBf4PxRQCtAcAo5DxUwBBzmsIprR4D55XgDeNdKXyEzCEIQq4h8HpY_Azxlw3Q8ZoKcrHnWgqUkJir_ZUj1N45pgGP3EmQOePkLFr_lBf7vaF7tUgFQ3Mo9SFpUQFEoBMWAjMQRE5NYcyUXdmqf8HDt0hhw7LelI-NVGfkeUDgg9_ltmkCbBrSNwbWM2UB8Fpt1Blhf7SRzEniRDFTzIgD7g14ExbONNpQO2A0iQJnFdkrFe0aA4cmN9gwDftg4Mf-j156kIwVvuaWO9r-gFmcw-JkDAsO9sA89OEyzPg3IAWGNCmzIosuwftEJcXs3eX8KV1CLU9-w-vdbeBdr34KLBCmL0ZwBNYe1yagJ2IASADcWgiTrKIshcR61bMw3OobjBNnYbcC0MM9tKd1s2etwwU3yecBLAbwon6wklszgL_xVjdy-mwxEacENzzFtIbjIO6CZ7GaUyG1kB1Uyebvqi6hegVGr064-3y4_fpwAYQvcMa17YHKD2buy-7JIj0HS9nZbqEHSp0_ToALeDfAOgMANph4H-jB86K4oJWObsALHju1DOrQ-l7jLS_AvwwBXQGfLPamNI0c-mL8GF7f11-gE0b5JIOqQH_Sd-vgj8CeAZ-ozqhTmolvF-dDIDgRqYngpPY_w7QLdLWzwYgeQAYDJBTowRjoW2lfZCrG8TV7c9-JXiSD7B5FFg3sPkDbJHj29-A7YPaf5pG2zb9DFxTB9g2cAVDnSVBP70UfEvZY1s5HxEetyWA8pdB51Fg3kBn1D008tIpVHq69tX1P-SNC30Ef93U-waTdq97kdNtCfvknFXLcgsO2tayPZL3nKZcrjmV7Pa6Pc_rl7090taNXqDS574vEF3Bp1MkvYha4wOdTzwzmzv1zAYTtkKYtT43J1Wd6p6mzP_X8Hhfg1nPzROE_b3Max535wi9Qe0RZpxCjMQnV18d6C7VwfjbmYvCeTKIMT61TH8wikGaekma8ROCwgP1Zte5ut4SbyQtq0KdVv1W5gNTmq033S5a-waTdVU3WTZhT2o-x6j5vCBzPI_2mbjBszOY0VxizXfU2Gy98abrhJAVY6aIXR-Y74vYMWq9KHAZ86w-upVEQR2Msd2oc9bU_I1PeBQT3fKDLboXApsGDqOki3xKLZaZ_r7b5wUES_XshXEDSedp4fPA3zaGfgVr4lu9wxWE6ppbJCvLAseIoxrUEfEdcPoU4BOJvOGOeQhxA64wsMysd-SBKL3hmUuI2YLZ8Y7mZpabSUkfMbi6c3PLq5_wPdkG34k8fXWwT89wQjOYOcNDpMj3MtLpam5vVHTo71J3tCh-V08odIY_gU4ZZSrzOy5Pblgdo1KKXOaE4CkogF4a6o66Y6lkqHq1b6tsgCQgmQIfCcZZiXwcjUiv3RrU3J7rJy_DMHFSV8dGnTxpYTQec2abknoZLY7Zw4Nt6y8JbscwfeXIlBKSQYwNcS1pjg8adfdgOgCHHoK3AQ79SDI7Rm1lLVr0asjI8WJbEYXdae-_RHJaB8HwcNdO2Dcd7uKZOs148WiI8Ovq-jnnv3bCDFsPB2Znc25E4_8_s3nbuLrQIcAspzzOzcQRmVoJLSt6XisqO9AnSb9TlZFKBgOR4Lli-Suks8Hh9E-SW-iCWPpyMx_yodxcj3-v3CA6VM8LDXqvcgD7zPbhSSY42OCe5mh-7TOTb5Vza6i_hrRBmIa0zYrUjXhAreeQLXqfjbLnRL3znJb-Rmm_cXV1Sr5YahiV8uFpaFeHhKnblo9dadXhUyFx9ualUpa6Ruk3eBoaJSy0UxLHCBMCNpW1YpSgAFjVdLLQH5ForIjUXg7gwqvtHycf1pXTzKJET_uGGBmscsCoOse2ugJ4uIWo77tkbYFM2jssJKNQo6cEb8EQ_pBjiEg5CSzktcGLRnd4_6vinOS9Or-_EGnvthDbn1gTNfD7rotNgIBkmeUzJ-Wp6wdpAPmc-zwMosRjUeR6NHOnaUADHh7W1kcniOzZ-1ct4a3kNMXLIeqomexFlT90l-JALwXgX-RKRq-inCcqKIW6z0vSwwET2VVbtV5rNX_hr3dJuL3CN9tsZvP3ZPN-SVbXV1fXny8_viOry6vlmmyuVfPFb-_Ip-XN9afNqLs4d3PqCl6I916fv4Z3IJB4dZKpXlofpvxGEXT3iw6XbMaW5TrcVbXuq0xU3f6ATl5JM3zXOmnfFX_wgtI_1xH_uY74z3XE772OCNvjNsdBvJK8biTeUOgdnZg_rTjj57bvO57vTL3oLD13UygR6Vmd1wU_H00veo_zR9MFaU-I21vNhbjXP61A0etMCnWEdkhy1sji_McvUk-DaRCc3Z5b3GHTxIqARW_q0DR1gygIfc-fMt_PkuCsoAkvqnP1wwrn-JODPuOOA7yf5eeO5ThWZPm2Da_hJAoz7ka27acBzBzaI8_iUAkVE-RpIuT2TJ63QWhbQWcBW4rq2AlJAq9_KDHh_LSpb4U8B53blnWmgJwrFH8Cmey-Yw">