<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - WASM SIMD: "error in backend: Cannot select...""
   href="https://bugs.llvm.org/show_bug.cgi?id=44988">44988</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>WASM SIMD: "error in backend: Cannot select..."
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>LLVM Codegen
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>eustas.ru@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Crash on building <a href="https://github.com/google/highway">https://github.com/google/highway</a> test.

Console output:
fatal error: error in backend: Cannot select: t106: i64 = sign_extend_inreg
t105, ValueType:ch:i32
  t105: i64 = extract_vector_elt t97, Constant:i32<0>
    t97: v4i32,ch = load<(dereferenceable load 16 from %ir.in_lanes, !tbaa !12,
!alias.scope !369)> t101, TargetFrameIndex:i32<0>, undef:i32
      t10: i32 = TargetFrameIndex<0>
      t15: i32 = undef
    t3: i32 = Constant<0>
In function:
_ZN3hwy6N_WASM12_GLOBAL__N_112TestMulEvenTINS_4DescIiLm4EEENS3_IxLm2EEEEEvT_T0_
Stack dump:
0.      Program arguments: /Users/eustas/clients/ems/emsdk/upstream/bin/clang++
-target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=1
-D__EMSCRIPTEN_minor__=39 -D__EMSCRIPTEN_tiny__=8 -D_LIBCPP_ABI_VERSION=2
-Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -Xclang
-nostdsysteminc -Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/include/libcxx
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/lib/libcxxabi/include
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/include/compat
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/include
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/include/libc
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/lib/libc/musl/arch/emscripten
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/local/include
-Xclang -isystem/Users/eustas/.emscripten_cache/wasm-obj/include
-DPROFILER_ENABLED=0 -D__DATE__="redacted" -D__TIMESTAMP__="redacted"
-D__TIME__="redacted" -I../third_party/highway -isystem
../third_party/googletest/googletest/include -isystem
../third_party/googletest/googletest -DJXL_DEBUG_WARNING -DJXL_DEBUG_ON_ERROR
-O2 -Wno-builtin-macro-redefined -Wall -Werror -D__DATE__="redacted"
-D__TIMESTAMP__="redacted" -D__TIME__="redacted" -fmerge-all-constants -Wextra
-Wformat-security -Wno-unused-function -Wnon-virtual-dtor -Woverloaded-virtual
-Wvla -Wc++2a-extensions -Wfloat-overflow-conversion -Wfloat-zero-conversion
-Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wself-assign
-Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis
-Wundefined-func-template -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize
-Xclang -fdiagnostics-show-option -fcolor-diagnostics -fmath-errno
-fno-exceptions -DHWY_USE_GTEST -std=c++11 -MD -MT
third_party/highway/CMakeFiles/arithmetic_test.dir/hwy/tests/arithmetic_test.cc.o
-MF
third_party/highway/CMakeFiles/arithmetic_test.dir/hwy/tests/arithmetic_test.cc.o.d
-c -DEMSCRIPTEN -msimd128 ../third_party/highway/hwy/tests/arithmetic_test.cc
-Xclang
-isystem/Users/eustas/clients/ems/emsdk/upstream/emscripten/system/include/SDL
-c -o
third_party/highway/CMakeFiles/arithmetic_test.dir/hwy/tests/arithmetic_test.cc.o
-mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj
-mllvm -disable-lsr 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module
'../third_party/highway/hwy/tests/arithmetic_test.cc'.
4.      Running pass 'WebAssembly Instruction Selection' on function
'@_ZN3hwy6N_WASM12_GLOBAL__N_112TestMulEvenTINS_4DescIiLm4EEENS3_IxLm2EEEEEvT_T0_'
0  libLLVM.dylib      0x000000010e6508e5
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  libLLVM.dylib      0x000000010e64f668 llvm::sys::RunSignalHandlers() + 248
2  libLLVM.dylib      0x000000010e64fd79 llvm::sys::CleanupOnSignal(unsigned
long) + 233
3  libLLVM.dylib      0x000000010e5772ba (anonymous
namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 106
4  libLLVM.dylib      0x000000010e577232
llvm::CrashRecoveryContext::HandleExit(int) + 50
5  libLLVM.dylib      0x000000010e64c2f3 llvm::sys::Process::Exit(int) + 35
6  clang++            0x000000010e4c0075 LLVMErrorHandler(void*,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, bool) + 101
7  libLLVM.dylib      0x000000010e585f7b llvm::report_fatal_error(llvm::Twine
const&, bool) + 251
8  libLLVM.dylib      0x000000010e586053
llvm::report_fatal_error(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) + 35
9  libLLVM.dylib      0x000000010ee923d4
llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) + 468
10 libLLVM.dylib      0x000000010ee91107
llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*,
unsigned int) + 21031
11 libLLVM.dylib      0x00000001102e0fa8 (anonymous
namespace)::WebAssemblyDAGToDAGISel::Select(llvm::SDNode*) + 1400
12 libLLVM.dylib      0x000000010ee873e8
llvm::SelectionDAGISel::DoInstructionSelection() + 1656
13 libLLVM.dylib      0x000000010ee861cc
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 6300
14 libLLVM.dylib      0x000000010ee8412b
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 7883
15 libLLVM.dylib      0x000000010ee80c80
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 2432
16 libLLVM.dylib      0x000000010e9ef4bd
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 349
17 libLLVM.dylib      0x000000010e7b6563
llvm::FPPassManager::runOnFunction(llvm::Function&) + 1107
18 libLLVM.dylib      0x000000010e7b6878
llvm::FPPassManager::runOnModule(llvm::Module&) + 72
19 libLLVM.dylib      0x000000010e7b6dc2
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1042
20 libclang-cpp.dylib 0x0000000112520b3e
clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions
const&, clang::CodeGenOptions const&, clang::TargetOptions const&,
clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*,
clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream,
std::__1::default_delete<llvm::raw_pwrite_stream> >) + 12110
21 libclang-cpp.dylib 0x0000000112822b48
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1096
22 libclang-cpp.dylib 0x0000000111638d83 clang::ParseAST(clang::Sema&, bool,
bool) + 659
23 libclang-cpp.dylib 0x0000000113043283 clang::FrontendAction::Execute() + 163
24 libclang-cpp.dylib 0x0000000112fdbb63
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1731
25 libclang-cpp.dylib 0x00000001130b6d7b
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1787
26 clang++            0x000000010e4bfbb3 cc1_main(llvm::ArrayRef<char const*>,
char const*, void*) + 2051
27 clang++            0x000000010e4bd8d9
ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) + 345
28 libclang-cpp.dylib 0x0000000112c74207 void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
<span class="quote">>, std::__1::basic_string<char, std::__1::char_traits<char>,</span >
std::__1::allocator<char> >*, bool*) const::$_1>(long) + 23
29 libLLVM.dylib      0x000000010e5771d4
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 228
30 libclang-cpp.dylib 0x0000000112c73569
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
<span class="quote">>, std::__1::basic_string<char, std::__1::char_traits<char>,</span >
std::__1::allocator<char> >*, bool*) const + 377
31 libclang-cpp.dylib 0x0000000112c3fa6d
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const + 413
32 libclang-cpp.dylib 0x0000000112c3fedd
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*> >&)
const + 125
33 libclang-cpp.dylib 0x0000000112c59e0c
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*> >&) +
396
34 clang++            0x000000010e4bcfc4 main + 10356
35 libdyld.dylib      0x00007fff66cf77fd start + 1
36 libdyld.dylib      0x000000000000005f start + 18446603338791290979
clang-11: error: clang frontend command failed with exit code 70 (use -v to see
invocation)
clang version 11.0.0
(/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project
9dc84e9b02d1e402503906099d42fbae4da7d8d9)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /Users/eustas/clients/ems/emsdk/upstream/bin</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>