| Issue |
177923
|
| Summary |
[X86] LLVM ERROR: Cannot select: v2i64 = BUILD_VECTOR Constant:i64<-1>, Constant:i64<-1>
|
| Labels |
backend:X86,
crash-on-valid,
generated by fuzzer
|
| Assignees |
|
| Reporter |
XChy
|
Reproducer: https://godbolt.org/z/eee7PTqGo
Testcase:
```
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define double @func_1() {
entry:
%shuffle6.bc.i = bitcast <8 x i16> <i16 undef, i16 undef, i16 undef, i16 undef, i16 0, i16 0, i16 0, i16 0> to <2 x double>
%shuffle6.extract.i = extractelement <2 x double> %shuffle6.bc.i, i64 0
%0 = bitcast double %shuffle6.extract.i to <4 x i16>
%1 = or <4 x i16> <i16 1, i16 1, i16 1, i16 1>, %0
%2 = bitcast <4 x i16> %1 to double
ret double %2
}
```
Dump:
```
LLVM ERROR: Cannot select: 0x3f471b40: v2i64 = BUILD_VECTOR Constant:i64<-1>, Constant:i64<-1>
In function: func_1
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-trunk/bin/llc -o /app/output.s -x86-asm-syntax=intel <source>
1. Running pass 'Function Pass Manager' on module '<source>'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@func_1'
#0 0x0000000003c6a268 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3c6a268)
#1 0x0000000003c67454 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#2 0x000070fe26e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x000070fe26e969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#4 0x000070fe26e42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#5 0x000070fe26e287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#6 0x00000000007b7b23 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) JSON.cpp:0:0
#7 0x0000000003a02cda llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3a02cda)
#8 0x0000000003a08c65 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3a08c65)
#9 0x000000000208581a (anonymous namespace)::X86DAGToDAGISel::Select(llvm::SDNode*) X86ISelDAGToDAG.cpp:0:0
#10 0x00000000039ffdc4 llvm::SelectionDAGISel::DoInstructionSelection() (/opt/compiler-explorer/clang-trunk/bin/llc+0x39ffdc4)
#11 0x0000000003a0ce72 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/opt/compiler-explorer/clang-trunk/bin/llc+0x3a0ce72)
#12 0x0000000003a0f8ea llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3a0f8ea)
#13 0x0000000003a11a95 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3a11a95)
#14 0x00000000039ff961 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x39ff961)
#15 0x0000000002ce3a8d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x2ce3a8d)
#16 0x0000000003243212 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3243212)
#17 0x00000000032434a1 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x32434a1)
#18 0x0000000003244d17 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3244d17)
#19 0x00000000008f3aef compileModule(char**, llvm::SmallVectorImpl<llvm::PassPlugin>&, llvm::LLVMContext&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) llc.cpp:0:0
#20 0x00000000007c74cc main (/opt/compiler-explorer/clang-trunk/bin/llc+0x7c74cc)
#21 0x000070fe26e29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#22 0x000070fe26e29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#23 0x00000000008ea045 _start (/opt/compiler-explorer/clang-trunk/bin/llc+0x8ea045)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs