Closed
Description
$ cat /tmp/a.ll
target datalayout = "e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32-a:0:32-S32"
target triple = "i386-pc-windows-msvc19.34.0"
define fastcc void @f(i64 %mul3.i9.i) #0 {
entry:
%or19.i.i.i = call i64 @llvm.bitreverse.i64(i64 %mul3.i9.i)
store i64 %or19.i.i.i, ptr null, align 8
ret void
}
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.bitreverse.i64(i64) #1
attributes #0 = { "target-features"="+aes,+avx,+avx2,+avx512bitalg,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512fp16,+avx512vbmi,+avx512vbmi2,+avx512vl,+avx512vnni,+avx512vpopcntdq,+bmi,+bmi2,+cmov,+crc32,+cx8,+evex512,+f16c,+fma,+fxsr,+gfni,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+vaes,+vpclmulqdq,+x87,+xsave" }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
$ llc -o /dev/null /tmp/a.ll
llc: ../../llvm/lib/Target/X86/X86ISelLowering.cpp:34131: virtual void llvm::X86TargetLowering::ReplaceNodeResults(SDNode *, SmallVectorImpl<SDValue> &, SelectionDAG &) const: Assertion `Subtarget.hasXOP() && "Expected XOP"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/bin/llc -o /dev/null /tmp/c.ll
1. Running pass 'Function Pass Manager' on module '/tmp/c.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@f'
#0 0x000055e4a02f7b58 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Unix/Signals.inc:723:13
#1 0x000055e4a02f579e llvm::sys::RunSignalHandlers() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Signals.cpp:106:18
#2 0x000055e4a02f81e8 SignalHandler(int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Unix/Signals.inc:413:1
#3 0x00007fcedf4591a0 (/lib/x86_64-linux-gnu/libc.so.6+0x3d1a0)
#4 0x00007fcedf4a70ec __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007fcedf459102 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#6 0x00007fcedf4424f2 abort ./stdlib/abort.c:81:7
#7 0x00007fcedf442415 _nl_load_domain ./intl/loadmsgcat.c:1177:9
#8 0x00007fcedf451d32 (/lib/x86_64-linux-gnu/libc.so.6+0x35d32)
#9 0x000055e4a14472ba llvm::X86TargetLowering::ReplaceNodeResults(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Target/X86/X86ISelLowering.cpp:34096:5
#10 0x000055e49fc93854 empty /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/ADT/SmallVector.h:81:46
#11 0x000055e49fc93854 llvm::DAGTypeLegalizer::CustomLowerNode(llvm::SDNode*, llvm::EVT, bool) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:933:15
#12 0x000055e49fcae64b llvm::DAGTypeLegalizer::ExpandIntegerResult(llvm::SDNode*, unsigned int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:2783:7
#13 0x000055e49fc8fa33 llvm::DAGTypeLegalizer::run() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:0:9
#14 0x000055e49fc94d47 llvm::SelectionDAG::LegalizeTypes() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1057:34
#15 0x000055e49fb87a57 llvm::SelectionDAGISel::CodeGenAndEmitDAG() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:977:23
#16 0x000055e49fb85a50 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1647:8
#17 0x000055e49fb838a1 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:615:22
#18 0x000055e49fb81b71 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:374:20
#19 0x000055e49f630567 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/CodeGen/MachineFunctionPass.cpp:0:13
#20 0x000055e49ff09bca llvm::FPPassManager::runOnFunction(llvm::Function&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/LegacyPassManager.cpp:0:27
#21 0x000055e49ff11562 llvm::FPPassManager::runOnModule(llvm::Module&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/LegacyPassManager.cpp:1454:13
#22 0x000055e49ff0a6c6 runOnModule /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/LegacyPassManager.cpp:1523:27
#23 0x000055e49ff0a6c6 llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/LegacyPassManager.cpp:541:44
#24 0x000055e49f17045b compileModule /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/tools/llc/llc.cpp:755:17
#25 0x000055e49f17045b main /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/tools/llc/llc.cpp:412:22